View previous topic :: View next topic |
Author |
Message |
Simba7 l33t
Joined: 22 Jan 2007 Posts: 706 Location: Billings, MT, USA
|
Posted: Mon Apr 26, 2010 4:33 am Post subject: zlib-1.2.5-r1 problems (unable to read SONAME from libz.so) |
|
|
I went to do a fresh install on 3 systems and I bumped into this during ./bootstrap.sh:
Code: | >>> Install zlib-1.2.5-r1 into /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image/ category sys-libs
make -j2 install DESTDIR=/var/tmp/portage/sys-libs/zlib-1.2.5-r1/image/ LDCONFIG=:
cp libz.a /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image//usr/lib
cp libz.so.1.2.5 /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image//usr/lib
cd /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image//usr/lib; chmod u=rw,go=r libz.a
cp zlib.3 /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image//usr/share/man/man3
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image//usr/share/man/man3/zlib.3
cp zlib.pc /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image//usr/lib/pkgconfig
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image//usr/lib/pkgconfig/zlib.pc
cp zlib.h zconf.h /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image//usr/include
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image//usr/include/zlib.h /var/tmp/portage/sys-libs/zlib-1.2.5-r1/image//usr/include/zconf.h
* ERROR: sys-libs/zlib-1.2.5-r1 failed:
* unable to read SONAME from libz.so
*
* Call stack:
* ebuild.sh, line 48: Called src_install
* environment, line 2270: Called gen_usr_ldscript '-a' 'z'
* environment, line 1384: Called die
* The specific snippet of code:
* [[ -z ${tlib} ]] && die "unable to read SONAME from ${lib}";
*
* If you need support, post the output of 'emerge --info =sys-libs/zlib-1.2.5-r1',
* the complete build log and the output of 'emerge -pqv =sys-libs/zlib-1.2.5-r1'.
* The complete build log is located at '/var/tmp/portage/sys-libs/zlib-1.2.5-r1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-libs/zlib-1.2.5-r1/temp/environment'.
* S: '/var/tmp/portage/sys-libs/zlib-1.2.5-r1/work/zlib-1.2.5'
>>> Failed to emerge sys-libs/zlib-1.2.5-r1, Log file:
>>> '/var/tmp/portage/sys-libs/zlib-1.2.5-r1/temp/build.log'
* Messages for package sys-libs/zlib-1.2.5-r1:
* ERROR: sys-libs/zlib-1.2.5-r1 failed:
* unable to read SONAME from libz.so
*
* Call stack:
* ebuild.sh, line 48: Called src_install
* environment, line 2270: Called gen_usr_ldscript '-a' 'z'
* environment, line 1384: Called die
* The specific snippet of code:
* [[ -z ${tlib} ]] && die "unable to read SONAME from ${lib}";
*
* If you need support, post the output of 'emerge --info =sys-libs/zlib-1.2.5-r1',
* the complete build log and the output of 'emerge -pqv =sys-libs/zlib-1.2.5-r1'.
* The complete build log is located at '/var/tmp/portage/sys-libs/zlib-1.2.5-r1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-libs/zlib-1.2.5-r1/temp/environment'.
* S: '/var/tmp/portage/sys-libs/zlib-1.2.5-r1/work/zlib-1.2.5' |
|
|
Back to top |
|
|
SamuliSuominen Retired Dev
Joined: 30 Sep 2005 Posts: 2133 Location: Finland
|
Posted: Mon Apr 26, 2010 8:16 am Post subject: |
|
|
If you have FEATURES="distcc" enabled, then try disabling it for zlib compilation.
That said, your paste doesn't show the actual error, it's above all that. Perhaps you should post full build.log here (using pastebin or not) ? |
|
Back to top |
|
|
Simba7 l33t
Joined: 22 Jan 2007 Posts: 706 Location: Billings, MT, USA
|
Posted: Mon Apr 26, 2010 8:52 pm Post subject: |
|
|
ssuominen wrote: | If you have FEATURES="distcc" enabled, then try disabling it for zlib compilation.
That said, your paste doesn't show the actual error, it's above all that. Perhaps you should post full build.log here (using pastebin or not) ? |
I don't have "distcc" enabled. This is a fresh install using SystemRescueCD v1.5.3-b4 and stage1-x86-2010.04.25 off of funtoo.org (I'm using gentoo, not the funtoo tarball).
This is happening on both my i586 and i686 builds. I'm trying it again since I had to rebuild my portage server (crap). |
|
Back to top |
|
|
Simba7 l33t
Joined: 22 Jan 2007 Posts: 706 Location: Billings, MT, USA
|
Posted: Thu Apr 29, 2010 5:02 pm Post subject: |
|
|
Well, I can't even rebuild my portage server because of this, even with the latest emerge --sync.
Is 1.2.5 just busted for now? I'll try masking that and emerge 1.2.4 instead.
EDIT: Yep. 1.2.5 is busted. zlib-1.2.4 compiles just fine. Just put ">=sys-libs/zlib-1.2.5" into your package.mask file. |
|
Back to top |
|
|
SamuliSuominen Retired Dev
Joined: 30 Sep 2005 Posts: 2133 Location: Finland
|
Posted: Thu Apr 29, 2010 8:14 pm Post subject: |
|
|
You never posted the build.log I asked before, the paste doesn't show the problem.
1.2.4 is just as broken as 1.2.5 or 1.2.5-r1, just in a different way -- runtime problems.
Try 1.2.5-r2. |
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Fri Apr 30, 2010 12:23 pm Post subject: |
|
|
I've just had a problem with 1.2.5-r2 where it was erroring out saying it couldn't find libz.a. Maybe this is related?
I managed to get it to compile eventually by moving the /usr/lib/libz.* files out of the way, maybe give that a try if it still doesn't work. |
|
Back to top |
|
|
Simba7 l33t
Joined: 22 Jan 2007 Posts: 706 Location: Billings, MT, USA
|
Posted: Sun May 02, 2010 4:07 pm Post subject: |
|
|
Code: | (chroot) localhost temp # cat build.log
* CPV: sys-libs/zlib-1.2.5-r2
* REPO: gentoo
* USE: bootstrap elibc_glibc kernel_linux userland_GNU x86
>>> Unpacking source...
>>> Unpacking zlib-1.2.5.tar.bz2 to /var/tmp/portage/sys-libs/zlib-1.2.5-r2/work
* Applying zlib-1.2.3-mingw-implib.patch ... [ ok ]
* Applying zlib-1.2.5-lfs-decls.patch ... [ ok ]
* Applying zlib-1.2.5-fbsd_chosts.patch ... [ ok ]
>>> Source unpacked in /var/tmp/portage/sys-libs/zlib-1.2.5-r2/work
>>> Compiling source in /var/tmp/portage/sys-libs/zlib-1.2.5-r2/work/zlib-1.2.5 ...
Using ar
Checking for i586-pc-linux-gnu-gcc...
Checking for shared library support...
Building shared library libz.so.1.2.5 with cc.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for unistd.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
make -j2
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o example.o example.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o adler32.o adler32.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o compress.o compress.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o crc32.o crc32.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o deflate.o deflate.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o gzclose.o gzclose.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o gzlib.o gzlib.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o gzread.o gzread.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o gzwrite.o gzwrite.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o infback.o infback.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o inffast.o inffast.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o inflate.o inflate.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o inftrees.o inftrees.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o trees.o trees.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o uncompr.o uncompr.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o zutil.o zutil.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -c -o minigzip.o minigzip.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/adler32.o adler32.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/compress.o compress.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/crc32.o crc32.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/deflate.o deflate.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/gzclose.o gzclose.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/gzlib.o gzlib.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/gzread.o gzread.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/gzwrite.o gzwrite.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/infback.o infback.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/inffast.o inffast.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/inflate.o inflate.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/inftrees.o inftrees.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/trees.o trees.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/uncompr.o uncompr.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/zutil.o zutil.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -c -o example64.o example.c
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o minigzip.c
ar rc libz.a adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o
cc -shared -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -o libz.so.1.2.5 adler32.lo compress.lo crc32.lo deflate.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo uncompr.lo zutil.lo -lc -Wl,-O1 -L. libz.a
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -o minigzip64 minigzip64.o -L. libz.a
/usr/lib/gcc/i486-pc-linux-gnu/4.3.4/../../../../i486-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object.
rm -f libz.so libz.so.1
ln -s libz.so.1.2.5 libz.so
ln -s libz.so.1.2.5 libz.so.1
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -o example example.o -L. libz.a
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -o minigzip minigzip.o -L. libz.a
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -o examplesh example.o -L. libz.so.1.2.5
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -o minigzipsh minigzip.o -L. libz.so.1.2.5
cc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -o example64 example64.o -L. libz.a
>>> Source compiled.
>>> Test phase [not enabled]: sys-libs/zlib-1.2.5-r2
>>> Install zlib-1.2.5-r2 into /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image/ category sys-libs
make -j2 install DESTDIR=/var/tmp/portage/sys-libs/zlib-1.2.5-r2/image/ LDCONFIG=:
cp libz.a /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/lib
cp libz.so.1.2.5 /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/lib
cd /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/lib; chmod u=rw,go=r libz.a
cp zlib.3 /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/share/man/man3
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/share/man/man3/zlib.3
cp zlib.pc /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/lib/pkgconfig
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/lib/pkgconfig/zlib.pc
cp zlib.h zconf.h /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/include
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/include/zlib.h /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/include/zconf.h
* ERROR: sys-libs/zlib-1.2.5-r2 failed:
* unable to read SONAME from libz.so
*
* Call stack:
* ebuild.sh, line 48: Called src_install
* environment, line 2283: Called gen_usr_ldscript '-a' 'z'
* environment, line 1397: Called die
* The specific snippet of code:
* [[ -z ${tlib} ]] && die "unable to read SONAME from ${lib}";
*
* If you need support, post the output of 'emerge --info =sys-libs/zlib-1.2.5-r2',
* the complete build log and the output of 'emerge -pqv =sys-libs/zlib-1.2.5-r2'.
* The complete build log is located at '/var/tmp/portage/sys-libs/zlib-1.2.5-r2/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-libs/zlib-1.2.5-r2/temp/environment'.
* S: '/var/tmp/portage/sys-libs/zlib-1.2.5-r2/work/zlib-1.2.5'
(chroot) localhost temp # |
..and here's what I get with zlib-1.2.4:
Code: | (chroot) localhost temp # emerge --update =sys-libs/zlib-1.2.4
Calculating dependencies... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) sys-libs/zlib-1.2.4
>>> Downloading 'http://gentoo.osuosl.org/distfiles/zlib-1.2.4.tar.bz2'
--2010-05-02 16:13:20-- http://gentoo.osuosl.org/distfiles/zlib-1.2.4.tar.bz2
Resolving gentoo.osuosl.org... 64.50.236.52
Connecting to gentoo.osuosl.org|64.50.236.52|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 483564 (472K) [application/x-tar]
Saving to: `/usr/portage/distfiles/zlib-1.2.4.tar.bz2'
100%[=============================================================================================================================>] 483,564 719K/s in 0.7s
2010-05-02 16:13:21 (719 KB/s) - `/usr/portage/distfiles/zlib-1.2.4.tar.bz2' saved [483564/483564]
* zlib-1.2.4.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* CPV: sys-libs/zlib-1.2.4
* REPO: gentoo
* USE: elibc_glibc kernel_linux userland_GNU x86
>>> Unpacking source...
>>> Unpacking zlib-1.2.4.tar.bz2 to /var/tmp/portage/sys-libs/zlib-1.2.4/work
* Applying zlib-1.2.4-build.patch ... [ ok ]
* Applying zlib-1.2.4-visibility-support.patch ... [ ok ]
* Applying zlib-1.2.4-LDFLAGS.patch ... [ ok ]
* Applying zlib-1.2.3-mingw-implib.patch ... [ ok ]
* Applying zlib-1.2.4-configure-LANG.patch ... [ ok ]
>>> Source unpacked in /var/tmp/portage/sys-libs/zlib-1.2.4/work
>>> Compiling source in /var/tmp/portage/sys-libs/zlib-1.2.4/work/zlib-1.2.4 ...
Checking for shared library support...
Building shared library libz.so.1.2.4 with gcc.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for unistd.h... Yes.
Checking for attribute(visibility) support... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for errno.h... Yes.
make -j2
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o example.o example.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o adler32.o adler32.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o compress.o compress.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o crc32.o crc32.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o deflate.o deflate.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o gzclose.o gzclose.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o gzlib.o gzlib.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o gzread.o gzread.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o gzwrite.o gzwrite.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o infback.o infback.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o inffast.o inffast.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o inflate.o inflate.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o inftrees.o inftrees.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o trees.o trees.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o uncompr.o uncompr.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o zutil.o zutil.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -c -o minigzip.o minigzip.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/adler32.o adler32.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/compress.o compress.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/crc32.o crc32.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/deflate.o deflate.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/gzclose.o gzclose.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/gzlib.o gzlib.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/gzread.o gzread.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/gzwrite.o gzwrite.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/infback.o infback.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/inffast.o inffast.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/inflate.o inflate.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/inftrees.o inftrees.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/trees.o trees.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/uncompr.o uncompr.c
gcc -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -DPIC -c -o objs/zutil.o zutil.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -D_FILE_OFFSET_BITS=64 -c -o example64.o example.c
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o minigzip.c
ar rc libz.a adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o
gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -O2 -march=pentium-mmx -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -o libz.so.1.2.4 adler32.lo compress.lo crc32.lo deflate.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo uncompr.lo zutil.lo -lc -Wl,-O1
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -o minigzip64 -L. minigzip64.o libz.a -Wl,-O1
rm -f libz.so libz.so.1
ln -s libz.so.1.2.4 libz.so
ln -s libz.so.1.2.4 libz.so.1
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -o example -L. example.o libz.a -Wl,-O1
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -o minigzip -L. minigzip.o libz.a -Wl,-O1
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -o examplesh -L. example.o libz.so.1.2.4 -Wl,-O1
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -o minigzipsh -L. minigzip.o libz.so.1.2.4 -Wl,-O1
gcc -O2 -march=pentium-mmx -pipe -D_LARGEFILE64_SOURCE=1 -DHAS_attribute_visibility -fvisibility=hidden -o example64 -L. example64.o libz.a -Wl,-O1
>>> Source compiled.
>>> Test phase [not enabled]: sys-libs/zlib-1.2.4
>>> Install zlib-1.2.4 into /var/tmp/portage/sys-libs/zlib-1.2.4/image/ category sys-libs
make -j2 install DESTDIR=/var/tmp/portage/sys-libs/zlib-1.2.4/image/
cp libz.a libz.so libz.so.1.2.4 /var/tmp/portage/sys-libs/zlib-1.2.4/image//usr/lib
cd /var/tmp/portage/sys-libs/zlib-1.2.4/image//usr/lib; chmod u=rw,go=r libz.a
cp zlib.3 /var/tmp/portage/sys-libs/zlib-1.2.4/image//usr/share/man/man3
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.4/image//usr/share/man/man3/zlib.3
cp zlib.pc /var/tmp/portage/sys-libs/zlib-1.2.4/image//usr/lib/pkgconfig
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.4/image//usr/lib/pkgconfig/zlib.pc
cp zlib.h zconf.h /var/tmp/portage/sys-libs/zlib-1.2.4/image//usr/include
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.4/image//usr/include/zlib.h /var/tmp/portage/sys-libs/zlib-1.2.4/image//usr/include/zconf.h
>>> Completed installing zlib-1.2.4 into /var/tmp/portage/sys-libs/zlib-1.2.4/image/
strip: strip --strip-unneeded -R .comment
lib/libz.so.1.2.4
usr/lib/libz.a
ecompressdir: bzip2 -9 /usr/share/man
>>> Installing (1 of 1) sys-libs/zlib-1.2.4
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
(chroot) localhost temp # |
|
|
Back to top |
|
|
Etal Veteran
Joined: 15 Jul 2005 Posts: 1931
|
Posted: Thu Aug 12, 2010 2:41 pm Post subject: |
|
|
Has this ever been resolved? Someone else seems to be hitting this problem... |
|
Back to top |
|
|
pgu l33t
Joined: 30 Jul 2009 Posts: 721 Location: Oslo, Norway
|
Posted: Mon Mar 28, 2011 7:06 am Post subject: |
|
|
I just run into this issue:
Code: | emerge --sync
emerge --update world --deep --newuse
less /var/tmp/portage/sys-libs/zlib-1.2.5-r2/temp/build.log
cp zlib.pc /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/lib/pkgconfig
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/lib/pkgconfig/zlib.pc
cp zlib.h zconf.h /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/include
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/include/zlib.h /var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//usr/include/zconf.h
* ERROR: sys-libs/zlib-1.2.5-r2 failed (install phase):
* unable to read SONAME from libz.so
*
* Call stack:
* ebuild.sh, line 56: Called src_install
* environment, line 2156: Called gen_usr_ldscript '-a' 'z'
* environment, line 1296: Called die
* The specific snippet of code: |
|
|
Back to top |
|
|
pgu l33t
Joined: 30 Jul 2009 Posts: 721 Location: Oslo, Norway
|
Posted: Mon Mar 28, 2011 7:21 am Post subject: |
|
|
Ignore my lastest request, its probably due a CHOST problem in my make.conf |
|
Back to top |
|
|
Azdo n00b
Joined: 22 Nov 2009 Posts: 8
|
Posted: Thu Apr 07, 2011 12:10 pm Post subject: |
|
|
Just to say "me too!".
I haven't changed my CHOSTS and, by looking at the Makefile, it seems that it doesn't have much to do. IMHO, the problem lies in the fact that the shared library libz.so.1.2.5 is created without a soname. None is mentioned at link phase and indeed, Code: | scanelf -qF%S#F libz.so | returns an empty string. |
|
Back to top |
|
|
runciter n00b
Joined: 08 Aug 2011 Posts: 3
|
Posted: Mon Aug 08, 2011 9:38 am Post subject: |
|
|
I had this problem for a very long time and kept zlib at 1.2.3. It's bizzare that in such a high-profile distribution, the devs would ignore a bug like this in one of the core system packages. Anyway, here is a workaround:
1. emerge -u zlib, wait for it to exit with the error message
2. cd /var/tmp/portage/sys-libs/zlib-1.2.5-r2/work/zlib-1.2.5
3. rm libz.*
4. make
5. re-run the last gcc command that the above "make" displayed, but with the extra arguments: -Wl,-soname,libz.so.1
e.g.: x86_64-linux-gnu-gcc -shared -march=core2 -O3 -pipe -msse4 -mcx16 -mpopcnt -msahf -fPIC -D_LARGEFILE64_SOURCE=1 -o libz.so.1.2.5 adler32.lo compress.lo crc32.lo deflate.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo uncompr.lo zutil.lo -lc -Wl,-O1 -Wl,--as-needed -Wl,-soname,libz.so.1
6. confirm that the SONAME is set correctly: objdump -x libz.so | grep SONAME
should show: SONAME libz.so.1
7. ebuild /usr/portage/sys-libs/zlib/zlib-1.2.5-r2.ebuild install
8. ebuild /usr/portage/sys-libs/zlib/zlib-1.2.5-r2.ebuild qmerge
That "fixed" it for me. |
|
Back to top |
|
|
runciter n00b
Joined: 08 Aug 2011 Posts: 3
|
Posted: Mon Aug 08, 2011 10:14 am Post subject: |
|
|
On closer inspection, it seems that zlib's lame configure script sets its variable uname to "gnu" at line 17:
Code: | if [ -n "${CHOST}" ]; then
uname="$(echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/')"
CROSS_PREFIX="${CHOST}-"
fi
|
(with a CHOST of x86_64-linux-gnu)
Then it fails the GNU/Linux/BSD test at line 120:
Code: | case "$uname" in
Linux* | linux* | GNU | GNU/* | *BSD | DragonFly | freebsd* ) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
|
because of which the soname doesn't get set. I guess this is what end up with get if you think you're smarter than everyone else (including autotools authors) and can roll out your own build scripts. (yeah yeah, custom CHOST etc, but everything else deals with it no problem at all) |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21607
|
Posted: Mon Aug 08, 2011 11:36 pm Post subject: |
|
|
runciter wrote: | I had this problem for a very long time and kept zlib at 1.2.3. It's bizzare that in such a high-profile distribution, the devs would ignore a bug like this in one of the core system packages.
(yeah yeah, custom CHOST etc, but everything else deals with it no problem at all) | Do I understand correctly that if you used the canonical CHOST, then no problem arises, and therefore there is nothing for the Gentoo developers to fix? Could you explain why you want a custom CHOST? |
|
Back to top |
|
|
runciter n00b
Joined: 08 Aug 2011 Posts: 3
|
Posted: Mon Aug 15, 2011 9:28 am Post subject: |
|
|
Hu wrote: | Do I understand correctly that if you used the canonical CHOST, then no problem arises, and therefore there is nothing for the Gentoo developers to fix? Could you explain why you want a custom CHOST? |
With a CHOST of x86_64-unknown-linux-gnu (or whatever it was set to originally), there is no problem. However, there are other cases in which this bug is triggered, such as when cross-compiling for some targets with a three-part CHOST. It is wrong of the zlib build scripts to assume that the CHOST will be made up of four parts and that the third can indicate the operating system and this should be fixed. I will admit that possibly this is the upstream's responsibility, but Gentoo bug reports have not been acted upon by anyone.
I want a custom CHOST because I don't like the "unknown-" part and a three-part CHOST works just as well with everything but, apparently, zlib, which should be fixed. |
|
Back to top |
|
|
PacketCollision n00b
Joined: 15 Sep 2003 Posts: 13 Location: Davis, California
|
Posted: Sat Oct 06, 2012 4:30 am Post subject: |
|
|
I seeing the same thing when trying to do an emerge world on my router (a 733Mhz Transmeta Crusoe). I'm doing the emerge world with zlib >= 1.2.5 masked, which seems to be working, but the problem does still seem to be around. Hopefully an upgrade of zlib will work after the rest of the system is updated, but I don't know why that would be the case. My CHOST is normal as far as I know: Code: | CHOST="i686-pc-linux-gnu" |
_________________ “Some people, when confronted with a Unix problem, think ‘I know, I’ll use sed.’ Now they have two problems.” |
|
Back to top |
|
|
escravana n00b
Joined: 25 Jan 2014 Posts: 9
|
Posted: Sat Jan 25, 2014 8:20 pm Post subject: |
|
|
The problem persists for zlib-1.2.8 when using make.conf with:
Code: |
CHOST="i686-pc-linux-gnu"
CFLAGS="-Os -march=c3 -pipe -ffast-math"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
|
on a Via Samuel C3 CPU
Solved adding to /etc/portage/package.env :
Code: |
sys-libs/zlib soname.ldflags
|
and creating /etc/portage/env/soname.ldflags with:
Code: |
LDSHARED="gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"
|
This will apply the recommended fix (10x runciter) to all future zlib versions, but I think this should be corrected in the package itself. |
|
Back to top |
|
|
VoidMage Watchman
Joined: 14 Oct 2006 Posts: 6196
|
Posted: Sun Jan 26, 2014 12:07 am Post subject: |
|
|
If nothing is broken, there's nothing to fix.
If something on your machine is broken, only you can fix it. Sometimes we can help, but clairvoyance isn't a common human trait.
Also, didn't find any older thread to practice necromancy on ? |
|
Back to top |
|
|
escravana n00b
Joined: 25 Jan 2014 Posts: 9
|
Posted: Sun Jan 26, 2014 12:04 pm Post subject: |
|
|
Quote: |
If nothing is broken, there's nothing to fix.
If something on your machine is broken, only you can fix it. Sometimes we can help, but clairvoyance isn't a common human trait.
Also, didn't find any older thread to practice necromancy on ?
|
Dear VoidMage,
The problem as reported in 2010 and explained by runciter in 2011, later confirmed in 2012, is still present in 25Jan2014, when compiling for different architectures.
There is enough information in this thread to reproduce it (just change the CHOST).
If it is a gentoo problem, or a upstream one, I don't know.
KR |
|
Back to top |
|
|
VoidMage Watchman
Joined: 14 Oct 2006 Posts: 6196
|
Posted: Sun Jan 26, 2014 6:38 pm Post subject: |
|
|
A problem that looks similar to the older problem not necessarily is the same problem - in this case I'd say the odds are against you.
Just pastebin that build log already. Post 'emerge --info' too. |
|
Back to top |
|
|
escravana n00b
Joined: 25 Jan 2014 Posts: 9
|
|
Back to top |
|
|
VoidMage Watchman
Joined: 14 Oct 2006 Posts: 6196
|
Posted: Wed Jan 29, 2014 6:48 pm Post subject: |
|
|
So, for some reason gcc doesn't get identified.
While this configure script isn't an autotools one, there still should be config.log produced - pastebin it. |
|
Back to top |
|
|
escravana n00b
Joined: 25 Jan 2014 Posts: 9
|
|
Back to top |
|
|
VoidMage Watchman
Joined: 14 Oct 2006 Posts: 6196
|
Posted: Thu Jan 30, 2014 8:54 pm Post subject: |
|
|
escravana wrote: | ./configure: line 165: i686-pc-linux-gnu-gcc: command not found |
In a word: huh ?
'gcc-config -l' ? |
|
Back to top |
|
|
escravana n00b
Joined: 25 Jan 2014 Posts: 9
|
Posted: Fri Jan 31, 2014 4:38 pm Post subject: |
|
|
cheking..
Code: |
# gcc-config -l
* gcc-config: No gcc profile is active!
/usr/bin/gcc-config: line 72: /etc/env.d/gcc/config-i686-pc-linux-gnu: No such file or directory
# ls /etc/env.d/gcc/
config-i486-pc-linux-gnu i486-pc-linux-gnu-4.7.3
|
Hummm....Let me recap..
I started the installation with a stage3 i486 version, on a via C3 Samuel CPU, then changed CHOST from i486 to i686 (as suggested in https://forums.gentoo.org/viewtopic-t-194273-start-0.html ), and then followed a SeLinux install tutorial, and later followed the CHOST changing wiki (https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable) running:
Code: |
# emerge --ask binutils gcc glibc
|
Thats where I meet the zlib problem described here. The strange thing is that I emerged other packages without problems...
so it looks that the problem is a mismatch between the gcc-config and the installed gcc.. can this be corrected, or should I start a fresh install?
(Thanks for all the help so far) |
|
Back to top |
|
|
|