Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 506250 - =dev-libs/nss-3.16 - .../x86_64-pc-linux-gnux32/bin/ld: cannot find /lib32/libz.so.1
Summary: =dev-libs/nss-3.16 - .../x86_64-pc-linux-gnux32/bin/ld: cannot find /lib32/li...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-30 15:05 UTC by Bertrand Jacquin
Modified: 2014-03-31 18:49 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,356.34 KB, text/plain)
2014-03-30 15:06 UTC, Bertrand Jacquin
Details
emerge --info (info.log,15.97 KB, text/plain)
2014-03-30 15:06 UTC, Bertrand Jacquin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bertrand Jacquin 2014-03-30 15:05:25 UTC
dev-libs/nss-3.16 does not build on x32 :

x86_64-pc-linux-gnux32-gcc -shared -m32 -Wl,-z,defs -Wl,-soname -Wl,libssl3.so  -Wl,--version-script,Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/ssl.def -Wl,-O1 -Wl,--as-needed -m32 -m32 -m32 -o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/libssl3.so Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/derive.o
Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/dtlscon.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/prelib.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/ssl3con.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/ssl3gthr.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslauth.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslcon.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/ssldef.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslenum.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslerr.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslerrstrs.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslinit.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/ssl3ext.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslgathr.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslmutex.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslnonce.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslreveal.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslsecur.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslsnce.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslsock.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/ssltrace.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslver.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/authcert.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/cmpcert.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/sslinfo.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/ssl3ecc.o Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/unix_err.o   ../freebl/Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/libfreebl.a  -L../../dist/Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/lib -lnss3 -L../../dist/Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/lib -lnssutil3 -L/var/tmp/portage/dev-libs/nss-3.16/temp/fake-dir -lplc4 -lplds4 -lnspr4  -lpthread  -ldl -lc -lz
/usr/lib/gcc/x86_64-pc-linux-gnux32/4.7.3/../../../../x86_64-pc-linux-gnux32/bin/ld: cannot find /lib32/libz.so.1
collect2: error: ld returned 1 exit status
../../coreconf/rules.mk:285: recipe for target 'Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/libssl3.so' failed
make[2]: *** [Linux2.6_x86_x86_64-pc-linux-gnux32-gcc_glibc_PTH_OPT.OBJ/libssl3.so] Error 1
make[2]: Leaving directory '/var/tmp/portage/dev-libs/nss-3.16/work/nss-3.16/nss/lib/ssl'
../coreconf/rules.mk:101: recipe for target 'libs' failed
make[1]: *** [libs] Error 2
make[1]: Leaving directory '/var/tmp/portage/dev-libs/nss-3.16/work/nss-3.16/nss/lib'
coreconf/rules.mk:101: recipe for target 'libs' failed
make: *** [libs] Error 2
make: Leaving directory '/var/tmp/portage/dev-libs/nss-3.16/work/nss-3.16/nss'
 * ERROR: dev-libs/nss-3.16::gentoo failed (compile phase):
 *   emake failed

Full log and emerge --info attached

Reproducible: Always
Comment 1 Bertrand Jacquin 2014-03-30 15:06:30 UTC
Created attachment 373896 [details]
build.log
Comment 2 Bertrand Jacquin 2014-03-30 15:06:41 UTC
Created attachment 373898 [details]
emerge --info
Comment 3 Jory A. Pratt gentoo-dev 2014-03-31 01:52:07 UTC
Can you verify zlib installed a properly /lib32/libz.so.1
Comment 4 Bertrand Jacquin 2014-03-31 11:59:29 UTC
(In reply to Jory A. Pratt from comment #3)
> Can you verify zlib installed a properly /lib32/libz.so.1

There isn't /lib32 on x32.

# ls -1 /lib*/libz.so.1
/lib/libz.so.1
/lib64/libz.so.1
/libx32/libz.so.1

# qfile -v /lib/libz.so.1 /lib64/libz.so.1 /libx32/libz.so.1
sys-libs/zlib-1.2.8-r1 (/lib64/libz.so.1)
sys-libs/zlib-1.2.8-r1 (/libx32/libz.so.1)
app-emulation/emul-linux-x86-baselibs-20131008-r19 (/lib/libz.so.1)

# emerge -pvt sys-libs/zlib app-emulation/emul-linux-x86-baselibs
(...)
[ebuild   R    ] sys-libs/zlib-1.2.8-r1  USE="minizip -static-libs" ABI_X86="64
(x32) -32" 0 kB
[ebuild   R    ] app-emulation/emul-linux-x86-baselibs-20131008-r19  USE="development" ABI_X86="-32" 0 kB

app-emulation/emul-linux-x86-baselibs install /lib content in /lib32 on amd64 system, but not on x32.

x32 # emerge --info --verbose | egrep -w '^LIBDIR_x86'
LIBDIR_x86="lib"

amd64 # emerge --info --verbose | egrep -w '^LIBDIR_x86'
LIBDIR_x86="lib32"

And so emul-linux-x86.eclass emul-linux-x86_src_install () function move back the lib32 dir to LIBDIR_x86.

Using ABI_X32=32 for app-emulation/emul-linux-x86-baselibs is not yet completely supported.

It was working nice with nss-3.15.5
Comment 5 Ian Stakenvicius (RETIRED) gentoo-dev 2014-03-31 14:08:53 UTC
(In reply to Bertrand Jacquin from comment #4)
> (In reply to Jory A. Pratt from comment #3)
> > Can you verify zlib installed a properly /lib32/libz.so.1
> 
> There isn't /lib32 on x32.
> 
> # ls -1 /lib*/libz.so.1
> /lib/libz.so.1
> /lib64/libz.so.1
> /libx32/libz.so.1
> 
> # qfile -v /lib/libz.so.1 /lib64/libz.so.1 /libx32/libz.so.1
> sys-libs/zlib-1.2.8-r1 (/lib64/libz.so.1)
> sys-libs/zlib-1.2.8-r1 (/libx32/libz.so.1)
> app-emulation/emul-linux-x86-baselibs-20131008-r19 (/lib/libz.so.1)
> 
> # emerge -pvt sys-libs/zlib app-emulation/emul-linux-x86-baselibs
> (...)
> [ebuild   R    ] sys-libs/zlib-1.2.8-r1  USE="minizip -static-libs"
> ABI_X86="64
> (x32) -32" 0 kB
> [ebuild   R    ] app-emulation/emul-linux-x86-baselibs-20131008-r19 
> USE="development" ABI_X86="-32" 0 kB
> 
> app-emulation/emul-linux-x86-baselibs install /lib content in /lib32 on
> amd64 system, but not on x32.
> 
> x32 # emerge --info --verbose | egrep -w '^LIBDIR_x86'
> LIBDIR_x86="lib"
> 
> amd64 # emerge --info --verbose | egrep -w '^LIBDIR_x86'
> LIBDIR_x86="lib32"
> 
> And so emul-linux-x86.eclass emul-linux-x86_src_install () function move
> back the lib32 dir to LIBDIR_x86.
> 
> Using ABI_X32=32 for app-emulation/emul-linux-x86-baselibs is not yet
> completely supported.
> 
> It was working nice with nss-3.15.5


I assume you meant ABI_X86="x32" ...  I'll do a quick check on the differences in build system between 3.15 and 3.16.  So far as I know, nss shouldn't be trying to use an ABI_X86="32" zlib, but rather an ABI_X86="x32" zlib.
Comment 6 Bertrand Jacquin 2014-03-31 14:15:43 UTC
(In reply to Ian Stakenvicius from comment #5)
> > Using ABI_X32=32 for app-emulation/emul-linux-x86-baselibs is not yet
> > completely supported.
> 
> I assume you meant ABI_X86="x32" ... 

app-emulation/emul-linux-x86-baselibs only have ABI_X86="32".

> I'll do a quick check on the
> differences in build system between 3.15 and 3.16.  So far as I know, nss
> shouldn't be trying to use an ABI_X86="32" zlib, but rather an ABI_X86="x32"
> zlib.

I agree
Comment 7 Ian Stakenvicius (RETIRED) gentoo-dev 2014-03-31 17:12:35 UTC
Try now:

+  31 Mar 2014; Ian Stakenvicius (_AxS_) <axs@gentoo.org> nss-3.16.ebuild:
+  upstream integration of x32 patch changed case on variable, fixed ebuild to
+  match (bug 506250)
+


I don't have an x32 environment to test, so please report back on success and I will close the bug RESO/FIXED at that time.
Comment 8 Bertrand Jacquin 2014-03-31 18:46:52 UTC
(In reply to Ian Stakenvicius from comment #7)
> Try now:
> 
> +  31 Mar 2014; Ian Stakenvicius (_AxS_) <axs@gentoo.org> nss-3.16.ebuild:
> +  upstream integration of x32 patch changed case on variable, fixed ebuild
> to
> +  match (bug 506250)
> +
> 
> I don't have an x32 environment to test, so please report back on success
> and I will close the bug RESO/FIXED at that time.

I'm maybe wrong, but I don't see any patch in that commit. In ebuild, only the date header has change, is it normal ? Nothing new in files/ dir tool :/

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/nss/nss-3.16.ebuild?r1=1.8&r2=1.9
Comment 9 Bertrand Jacquin 2014-03-31 18:47:54 UTC
(In reply to Bertrand Jacquin from comment #8)
> (In reply to Ian Stakenvicius from comment #7)
> > Try now:
> > 
> > +  31 Mar 2014; Ian Stakenvicius (_AxS_) <axs@gentoo.org> nss-3.16.ebuild:
> > +  upstream integration of x32 patch changed case on variable, fixed ebuild
> > to
> > +  match (bug 506250)
> > +
> > 
> > I don't have an x32 environment to test, so please report back on success
> > and I will close the bug RESO/FIXED at that time.
> 
> I'm maybe wrong, but I don't see any patch in that commit. In ebuild, only
> the date header has change, is it normal ? Nothing new in files/ dir tool :/
> 
> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/nss/nss-3.
> 16.ebuild?r1=1.8&r2=1.9

I should open bigger my eyes. Sorry for the noise. All is good now. Thanks !