On Thu, 29 Nov 2018 15:39:26 +0100
Landry Breuil <lan...@openbsd.org> wrote:

>  : && /usr/obj/ports/libvmime-0.9.4/bin/cc -O2 -pipe 
> CMakeFiles/cmTC_a4ed1.dir/testCCompiler.c.o  -o cmTC_a4ed1 
> -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib && :
>     /usr/bin/ld: cannot find -lgcc

By my guess, this ports-clang can't link executables.  There is a
line `GCC_VER = 4.9.4` in devel/llvm/Makefile, but gcc 6.4.0 installs
/usr/local/lib/gcc/powerpc-unknown-openbsd6.4/6.4.0/libgcc.a
so there is no 4.9.4/libgcc.a for clang to find.

I don't know why clang wants libgcc.a.  I do know that clang++ wants
libestdc++ from gcc-libs, because the base libstdc++ is too old, and
there is no base libc++.  For this reason, lang/clang/clang.port.mk
uses `MODULES += gcc4` to ask lang/gcc/6/gcc4.port.mk for the
dependency on gcc-libs.  Then gcc4.port.mk does `MODGCC4_LANGS += c`
(which seems wrong, because the C compiler should be clang, not gcc),
so it adds another dependency on gcc.  This might cause any port with
CHOSEN_COMPILER=ports-clang to doubly depend on llvm and gcc.

-- 
George Koehler <kern...@gmail.com>

Reply via email to