Date: Mon, 22 Jun 2015 11:08:38 +0800 From: Julian Elischer <julian@freebsd.org> To: freebsd-current <freebsd-current@freebsd.org> Subject: odd compile failure with both clang and gcc.. weird (standard) library install Message-ID: <55877C36.70407@freebsd.org>
next in thread | raw e-mail | index | archive | help
Working on -current as of about March 7. I'm building some software that uses the standard FreeBSD Makefile includes but it's failing on its library linking (the linking of a library which is part of the application) with the following error [...] building shared library libcbc.so.1 FreeBSD clang version 3.5.1 (tags/RELEASE_351/final 225668) 20150115 Target: i386-unknown-freebsd11.0 Thread model: posix "/usr/bin/ld" --eh-frame-hdr -Bshareable --hash-style=both --enable-new-dtags -m elf_i386_fbsd -o libcbc.so.1 /usr/lib/crti.o /usr/lib/crtbeginS.o -L/usr/lib -x --fatal-warnings --warn-shared-textrel -soname libcbc.so.1 valii.So val.So using.So ucase.So toconsole.So time.So tan.So tab.So sval.So strs.So string.So strassign.So sqr.So spawn.So size.So sin.So shift.So sgn.So setfile.So setarray.So save_string.So rnd.So right.So rename.So readstr.So readreal.So readlong.So readline.So readint.So putget.So prline.So printstr.So printreal.So printlong.So printlf.So printint.So printdollar.So printcomma.So printbyte.So pos.So outpipe.So mod.So mid.So match.So log.So len.So left.So lcase.So keyboard.So ipwr.So inti.So integer.So input.So inline.So inkey.So if_end.So gosubstack.So getline.So getenv.So fre.So float.So finishio.So files.So extendstr.So exp.So dfree.So csize.So cos.So constat.So conout.So conchar.So commonload.So chr.So checkarray.So chain2.So cent_up.So cent_round.So bconcat.So basopen.So basinit.So basclose.So b_strcmp.So b_readbyte.So b_funcstr.So b_fnroutines.So atan.So asc.So array.So abs.So writebyte.So readbyte.So loadarray.So handle_err.So findchannel.So dumparray.So commonstr.So b_tmpstrings.So addtostr.So b_stralloc.So setinput.So cutpipe.So catch_signal.So printerror.So ltoa.So flushbuffer.So -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtendS.o /usr/lib/crtn.o /usr/bin/ld: cannot find -lgcc_s clang: error: linker command failed with exit code 1 (use -v to see invocation) *** Error code 1 Stop. the same error happens with gcc as the compiler.. so the obvious question is "why does clang want to link with libgcc?" and another question is: why can't it find it? At least for that there is an answer: julian@vps1:ls -la /usr/lib/libgcc_s.so lrwxr-xr-x 1 root wheel 46 Apr 30 08:13 /usr/lib/libgcc_s.so -> /usr/obj/usr/src-current/tmp/lib/libgcc_s.so.1 but I've deleted /usr/obj. Does anyone know WHY the "make installworld" back in March just made symlinks for this (and a whole bunch more) libraries? and has it been fixed? As for the libgcc question, the Makefile appears as shown below. If there is anything I should have done differently I'd like to know. # @(#)Makefile 8.1 (Berkeley) 6/4/93 # # Compile up the cbc support library # CBCROOT=${HOME}/cbc LIBDIR=${CBCROOT}/lib CFLAGS += -I $(.CURDIR)/../../include LIB= cbc SHLIB_MAJOR= 1 SHLIB_MINOR= 0 SRCS= abs.c addtostr.c array.c asc.c atan.c b_fnroutines.c b_funcstr.c \ b_readbyte.c b_stralloc.c b_strcmp.c b_tmpstrings.c basclose.c \ basinit.c basopen.c bconcat.c catch_signal.c cent_round.c \ cent_up.c chain2.c checkarray.c chr.c commonload.c commonstr.c \ conchar.c conout.c constat.c cos.c csize.c cutpipe.c dfree.c \ dumparray.c exp.c extendstr.c files.c findchannel.c finishio.c \ float.c flushbuffer.c fre.c getenv.c getline.c gosubstack.c \ handle_err.c if_end.c inkey.c inline.c input.c integer.c inti.c \ ipwr.c keyboard.c lcase.c left.c len.c loadarray.c log.c ltoa.c \ match.c mid.c mod.c outpipe.c pos.c printbyte.c printcomma.c \ printdollar.c printerror.c printint.c printlf.c printlong.c \ printreal.c printstr.c prline.c putget.c readbyte.c readint.c \ readline.c readlong.c readreal.c readstr.c rename.c right.c \ rnd.c save_string.c setarray.c setfile.c setinput.c sgn.c shift.c \ sin.c size.c spawn.c sqr.c strassign.c string.c strs.c sval.c \ tab.c tan.c time.c toconsole.c ucase.c using.c val.c valii.c \ writebyte.c NO_MAN= beforeinstall: -@mkdir -p ${LIBDIR} # ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/search.h \ # ${DESTDIR}/usr/include #afterinstall: # ln -f lib$(LIB) ../../libcbc.a .include <bsd.lib.mk>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55877C36.70407>