Date: Wed, 12 Mar 2014 13:06:13 -0700 (PDT) From: Don Lewis <truckman@FreeBSD.org> To: freebsd@skysmurf.nl Cc: richardt@maths.tcd.ie, roberthuff@rcn.com, freebsd-office@FreeBSD.org, freebsd-ports@FreeBSD.org Subject: Re: [graphics/libcdr] Boost issue breaks build? Message-ID: <201403122006.s2CK6DmR044112@gw.catspoiler.org> In-Reply-To: <20140312184108.GA2311@spectrum.skysmurf.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12 Mar, A.J. 'Fonz' van Werven wrote: > Richard M. Timoney wrote: > >> Adding this to /etc/make.conf seems to work >> >> .if !empty(.CURDIR:M/usr/ports/graphics/libcdr) && exists(/usr/local/bin/gcc47) >> CC=gcc47 >> CXX=g++47 >> CPP=cpp47 >> .endif > > Thanks for the suggestion. Unfortunately, I can't even build GCC itself: > > [snip] > if [ x"-fpic" != x ]; then \ > cc -c -DHAVE_CONFIG_H -g -fkeep-inline-functions -I. -I.././../gcc-4.7-20140222/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototyp > es -pedantic -fpic .././../gcc-4.7-20140222/libiberty/strverscmp.c -o pic/strverscmp.o; \ > else true; fi > cc -c -DHAVE_CONFIG_H -g -fkeep-inline-functions -I. -I.././../gcc-4.7-20140222/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes > -pedantic .././../gcc-4.7-20140222/libiberty/strverscmp.c -o strverscmp.o > rm -f ./libiberty.a pic/./libiberty.a > /usr/local/bin/ar rc ./libiberty.a \ > ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./sha1.o ./alloca.o ./argv.o ./choose-temp.o ./concat.o ./cp-demint.o ./crc32.o ./dyn-string.o ./fdmatch.o ./f > ibheap.o ./filename_cmp.o ./floatformat.o ./fnmatch.o ./fopen_unlocked.o ./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o ./hashtab.o ./hex.o ./lbasename.o ./lr > ealpath.o ./make-relative-prefix.o ./make-temp-file.o ./objalloc.o ./obstack.o ./partition.o ./pexecute.o ./physmem.o ./pex-common.o ./pex-one.o ./pex-unix.o ./ > safe-ctype.o ./simple-object.o ./simple-object-coff.o ./simple-object-elf.o ./simple-object-mach-o.o ./sort.o ./spaces.o ./splay-tree.o ./stack-limit.o ./strerr > or.o ./strsignal.o ./timeval-utils.o ./unlink-if-ordinary.o ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o ./xstrerror.o ./xstrndup.o ./mempcpy.o ./ > strverscmp.o > Shared object "libfl.so.2" not found, required by "ar" > gmake[3]: *** [libiberty.a] Error 1 > gmake[3]: Leaving directory `/usr/ports/lang/gcc47/work/build/libiberty' > gmake[2]: *** [all-stage1-libiberty] Error 2 > gmake[2]: Leaving directory `/usr/ports/lang/gcc47/work/build' > gmake[1]: *** [stage1-bubble] Error 2 > gmake[1]: Leaving directory `/usr/ports/lang/gcc47/work/build' > gmake: *** [bootstrap-lean] Error 2 > *** [do-build] Error code 1 > > Stop in /usr/ports/lang/gcc47. > *** [build] Error code 1 > [snip] > > This happens with lang/gcc, lang/gcc47 and lang/gcc49, on a FreeBSD > 9.2-RELEASE-p3/amd64 system with up-to-date ports tree. Switching between > (the base system's) GCC and Clang makes no difference either. Looks like ar from devel/binutils is broken on your machine. On my most recently updated machine: %ldd /usr/local/bin/ar /usr/local/bin/ar: libfl.so.2 => /usr/local/lib/compat/pkg/libfl.so.2 (0x8810d000) libm.so.5 => /lib/libm.so.5 (0x8810f000) libz.so.6 => /lib/libz.so.6 (0x88137000) libc.so.7 => /lib/libc.so.7 (0x8814c000) That doesn't look good ... At first I suspected that libfl.so might have had a version bump, but there's no other shard library version under /usr/local/lib. There is a static library, libfl.a, installed by textproc/flex. It turns out that installation of shared libraries was disabled for that port by r345345 two weeks ago (PR: ports/186790). There should have been a note in ports/UPDATING notifying users to rebuild or reinstall all ports that linked to the shared library. What's interesting is that devel/binutils doesn't mention flex as a dependency. In any case, rebuilding and reinstalling devel/binutils should get you to the point where you can build lang/gcc47.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403122006.s2CK6DmR044112>