Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 417863 - sys-freebsd/freebsd-lib-9.0-r3 fails to install after 9.0-r1
Summary: sys-freebsd/freebsd-lib-9.0-r3 fails to install after 9.0-r1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: FreeBSD (show other bugs)
Hardware: All FreeBSD
: Normal normal (vote)
Assignee: Gentoo/BSD Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-27 20:12 UTC by Dmitri Bogomolov
Modified: 2012-05-30 12:52 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,58.21 KB, text/plain)
2012-05-27 20:12 UTC, Dmitri Bogomolov
Details
emerge --info '=sys-freebsd/freebsd-lib-9.0-r3' (emerge.info,3.68 KB, text/plain)
2012-05-27 20:13 UTC, Dmitri Bogomolov
Details
build.log.gz with new ebuild (build.log.gz,46.67 KB, application/octet-stream)
2012-05-29 10:12 UTC, Naohiro Aota
Details
build.log.gz (USE=build emerge freebsd-lib-9.0-r3) (build.log.gz,68.41 KB, application/octet-stream)
2012-05-29 23:15 UTC, Naohiro Aota
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitri Bogomolov 2012-05-27 20:12:07 UTC
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)
Comment 1 Dmitri Bogomolov 2012-05-27 20:12:41 UTC
Created attachment 313317 [details]
build.log
Comment 2 Dmitri Bogomolov 2012-05-27 20:13:47 UTC
Created attachment 313319 [details]
emerge --info '=sys-freebsd/freebsd-lib-9.0-r3'
Comment 3 Jeff (JD) Horelick (RETIRED) gentoo-dev 2012-05-27 20:18:36 UTC
I have the exact same build failure
Comment 4 Alexis Ballier gentoo-dev 2012-05-27 22:05:42 UTC
dont you have app-misc/pax-utils installed ?
Comment 5 Naohiro Aota gentoo-dev 2012-05-28 00:52:48 UTC
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
Comment 6 Alexis Ballier gentoo-dev 2012-05-28 03:18:12 UTC
(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
Comment 7 Naohiro Aota gentoo-dev 2012-05-29 10:12:09 UTC
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...
Comment 8 Alexis Ballier gentoo-dev 2012-05-29 12:34:46 UTC
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 ?
Comment 9 Naohiro Aota gentoo-dev 2012-05-29 23:15:03 UTC
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.
Comment 10 Alexis Ballier gentoo-dev 2012-05-30 12:26:13 UTC
+  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.
Comment 11 Alexis Ballier gentoo-dev 2012-05-30 12:52:46 UTC
seems fine here now, please reopen if this still fails for you