I trying to update sys-freebsd/freebsd-lib from 9.0-r1. But emerge dies on install phase: * Installing in gnu/lib/libssp/libssp_nonshared... install -d /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/image//usr/lib install -C -o root -g wheel -m 444 libssp_nonshared.a /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/image//usr/lib * ERROR: sys-freebsd/freebsd-lib-9.0-r3 failed (install phase): * unable to read SONAME from libalias.so * * Call stack: * ebuild.sh, line 85: Called src_install * environment, line 2814: Called gen_usr_ldscript '-a' 'alias' 'cam' 'geom' 'ipsec' 'jail' 'kiconv' 'kvm' 'm' 'md' 'procstat' 'sbuf' 'thr' 'ufs' 'util' * environment, line 1547: Called die * The specific snippet of code: sed: 4: "# When we get to the li ...": extra characters at the end of q command Reproducible: Always # emerge -pqv '=sys-freebsd/freebsd-lib-9.0-r3' [ebuild U ] sys-freebsd/freebsd-lib-9.0-r3 [9.0-r1] USE="ssl usb -atm -bluetooth -bootstrap -build -hesiod -ipv6 (-kerberos) (-multilib) -netware -profile -zfs" # equery belongs /usr/lib/libalias.so * Searching for /usr/lib/libalias.so ... sys-freebsd/freebsd-lib-9.0-r1 (/lib/libalias.so.7) sys-freebsd/freebsd-lib-9.0-r1 (/usr/lib/libalias.so -> /lib/libalias.so.7)
Created attachment 313317 [details] build.log
Created attachment 313319 [details] emerge --info '=sys-freebsd/freebsd-lib-9.0-r3'
I have the exact same build failure
dont you have app-misc/pax-utils installed ?
Notice that "grep 'Building in' build.log' just return * Building in gnu/lib/libssp/libssp_nonshared.. There should be more directories. aballier, I have some doubts with is_native_api(). > is_crosscompile && return 0 > use multilib || return 1 is this correct? I think it's producing reversed result. # I think I had same error with some other freebsd-* ebuild
(In reply to comment #5) > Notice that "grep 'Building in' build.log' just return > > * Building in gnu/lib/libssp/libssp_nonshared.. > > There should be more directories. > > aballier, I have some doubts with is_native_api(). > > > is_crosscompile && return 0 > > use multilib || return 1 > > is this correct? I think it's producing reversed result. ooops, yep, you're right, seems i messed up, i dunno why it even worked for me... I just reversed the logic, thanks a lot! someone please confirm the fix worked
Created attachment 313505 [details] build.log.gz with new ebuild Now fail with another error. i686-gentoo-freebsd9.0-gcc -O2 -march=native -pipe -fno-strict-aliasing -fno-strict-overflow -I/var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/ld80 -I/var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/src -I/var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/../libc/include -I/var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/../libc/i386 -std=gnu99 -fstack-protector -Wsystem-headers -Wno-pointer-sign -c /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/src/s_cbrtl.c /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/src/s_cbrtl.c: In function 'cbrtl': /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/src/s_cbrtl.c:138:2: error: #error "Unsupported long double format" # less s_cbrtl.c ... #if LDBL_MANT_DIG == 64 ... #elif LDBL_MANT_DIG == 113 ... #else #error "Unsupported long double format" #endif ... # i686-gentoo-freebsd9.0-gcc -O2 -march=native -pipe -fno-strict-aliasing -fno-strict-overflow -I/var/tmp/portage/sys-freebsd/ freebsd-lib-9.0-r3/work/lib/msun/ld80 -I/var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/src -I/var/tmp/portage/sys-freebsd/free bsd-lib-9.0-r3/work/lib/msun/../libc/include -I/var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/../libc/i386 -std=gnu99 -fstac k-protector -Wsystem-headers -Wno-pointer-sign -c /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/src/s_cbrtl.c -v ... #include <...> search starts here: /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/ld80 /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/src /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/../libc/include /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/../libc/i386 /usr/lib/gcc/i686-gentoo-freebsd9.0/4.5.3/include /usr/lib/gcc/i686-gentoo-freebsd9.0/4.5.3/include-fixed /usr/include ... # i686-gentoo-freebsd9.0-cpp -O2 -march=native -pipe -fno-strict-aliasing -fno-strict-overflow -I/var/tmp/portage/sys-freebsd/ freebsd-lib-9.0-r3/work/lib/msun/ld80 -I/var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/src -I/var/tmp/portage/sys-freebsd/free bsd-lib-9.0-r3/work/lib/msun/../libc/include -I/var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/../libc/i386 -std=gnu99 -fstac k-protector -Wsystem-headers -Wno-pointer-sign -c /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/src/s_cbrtl.c | grep LDBL_MANT /var/tmp/portage/sys-freebsd/freebsd-lib-9.0-r3/work/lib/msun/src/s_cbrtl.c:138:2: error: #error "Unsupported long double format" #define LDBL_MANT_DIG __LDBL_MANT_DIG__ #define __LDBL_MANT_DIG__ 53 We have both /usr/lib/gcc/i686-gentoo-freebsd9.0/4.5.3/include/float.h and /usr/include/float.h # grep LDBL_MANT_DIG /usr/include/float.h /usr/lib/gcc/i686-gentoo-freebsd9.0/4.5.3/include/float.h /usr/include/float.h:#define LDBL_MANT_DIG 64 /usr/lib/gcc/i686-gentoo-freebsd9.0/4.5.3/include/float.h:#undef LDBL_MANT_DIG /usr/lib/gcc/i686-gentoo-freebsd9.0/4.5.3/include/float.h:#define LDBL_MANT_DIG __LDBL_MANT_DIG__ but gcc's internal one is selected...
does the old -r1 fails in the same way ? what gcc version ? can you try with 4.5.max ? can you try with use=build too ?
Created attachment 313569 [details] build.log.gz (USE=build emerge freebsd-lib-9.0-r3) (In reply to comment #8) > does the old -r1 fails in the same way ? what gcc version ? can you try with > 4.5.max ? can you try with use=build too ? -r1 is still fine (I've checked out -r1) Using gcc-4.5.3 and is 4.5.max USE=build is still fail, but with another error. (attached the log) USE='build -zfs' was fine. USE='-build -zfs' is fail with the "Unsupported long double format" error.
+ 30 May 2012; Alexis Ballier <aballier@gentoo.org> freebsd-lib-9.0-r3.ebuild: + Treat multilib and non multilib builds the same way as multilib.eclass does + the right thing. Go back to -isystem for system includes and force to use + ours as otherwise we may pick gcc ones and it got that wrong. Bypass + append-flags and append cflags directly as flag-o-matic eclass maintainers + think it wise to add broken checks that break with flags with spaces. + this fixes the build failure here, please try, didnt check with USE=zfs yet and will close the bug if that works for me.
seems fine here now, please reopen if this still fails for you