View previous topic :: View next topic |
Author |
Message |
lorenb Apprentice
Joined: 24 Aug 2002 Posts: 207 Location: Toronto, ON
|
Posted: Thu Aug 26, 2004 11:12 pm Post subject: zlib broken |
|
|
I was doing on update on my amd64 box and zlib was upgraded to v1.2.1-r3 (due to a security fix). Something is wrong though because it never builds and/or installs libz.so.1.2.1.
Here is the error:
Quote: | # emerge zlib
Calculating dependencies ...done!
>>> emerge (1 of 1) sys-libs/zlib-1.2.1-r3 to /
>>> md5 src_uri zlib-1.2.1.tar.bz2
>>> Unpacking source...
>>> Unpacking zlib-1.2.1.tar.bz2 to /var/tmp/portage/zlib-1.2.1-r3/work
* Applying zlib-1.2.1-glibc.patch... [ ok ] * Applying zlib-1.2.1-build-fPIC.patch... [ ok ] * Applying zlib-1.2.1-mapfile.patch... [ ok ] * Applying zlib-1.2.1-configure.patch... [ ok ] * Applying zlib-1.2.1-CAN-2004-0797.patch... [ ok ]>>> Source unpacked.
Checking for shared library support...
No shared library support; try without defining CC and CFLAGS
Building static library libz.a version 1.2.1 with gcc.
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.
Checking for errno.h... Yes.
Checking for mmap support... Yes.
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o example.o example.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o adler32.o adler32.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o compress.o compress.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o crc32.o crc32.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o gzio.o gzio.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o uncompr.o uncompr.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o deflate.o deflate.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o trees.o trees.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o zutil.o zutil.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o inflate.o inflate.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o infback.o infback.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o inftrees.o inftrees.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o inffast.o inffast.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o minigzip.o minigzip.c
ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
gcc -march=k8 -O2 -pipe -DUSE_MMAP -o example example.o -L. libz.a
gcc -march=k8 -O2 -pipe -DUSE_MMAP -o minigzip minigzip.o -L. libz.a
hello world
zlib version 1.2.1 = 0x1210, compile flags = 0xa9
uncompress(): hello, hello!
gzread(): hello, hello!
gzgets() after gzseek: hello!
inflate(): hello, hello!
large_inflate(): OK
after inflateSync(): hello, hello!
inflate with dictionary: hello, hello!
*** zlib test OK ***
Building static library libz.a version 1.2.1 with gcc.
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.
Checking for errno.h... Yes.
Checking for mmap support... Yes.
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o example.o example.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o adler32.o adler32.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o compress.o compress.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o crc32.o crc32.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o gzio.o gzio.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o uncompr.o uncompr.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o deflate.o deflate.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o trees.o trees.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o zutil.o zutil.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o inflate.o inflate.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o infback.o infback.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o inftrees.o inftrees.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o inffast.o inffast.c
gcc -march=k8 -O2 -pipe -DUSE_MMAP -c -o minigzip.o minigzip.c
ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
gcc -march=k8 -O2 -pipe -DUSE_MMAP -o example example.o -L. libz.a
gcc -march=k8 -O2 -pipe -DUSE_MMAP -o minigzip minigzip.o -L. libz.a
>>> Install zlib-1.2.1-r3 into /var/tmp/portage/zlib-1.2.1-r3/image/ category sys-libs
cp libz.a /var/tmp/portage/zlib-1.2.1-r3/image//lib64
cd /var/tmp/portage/zlib-1.2.1-r3/image//lib64; chmod 755 libz.a
cd /var/tmp/portage/zlib-1.2.1-r3/image//lib64; if test -f libz.so.1.2.1; then \ rm -f libz.so libz.so.1; \
ln -s libz.so.1.2.1 libz.so; \
ln -s libz.so.1.2.1 libz.so.1; \
(ldconfig || true) >/dev/null 2>&1; \
fi
cp zlib.3 /var/tmp/portage/zlib-1.2.1-r3/image//usr/share/man/man3
chmod 644 /var/tmp/portage/zlib-1.2.1-r3/image//usr/share/man/man3/zlib.3
cp zlib.h zconf.h /var/tmp/portage/zlib-1.2.1-r3/image//usr/include
chmod 644 /var/tmp/portage/zlib-1.2.1-r3/image//usr/include/zlib.h /var/tmp/portage/zlib-1.2.1-r3/image//usr/include/zconf.h
/usr/lib/portage/bin/dolib: libz.so.1.2.1 does not exist
chmod: cannot access `libz.so.*': No such file or directory
ln: creating symbolic link `/var/tmp/portage/zlib-1.2.1-r3/image//usr/lib64/libz.so' to `/lib64/libz.so.1.2.1': No such file or directory
man:
prepallstrip:
strip:
>>> Completed installing into /var/tmp/portage/zlib-1.2.1-r3/image/ |
Quote: | ~x86 box:
# qpkg -l sys-libs/zlib | grep .so
/lib/libz.so.1 -> libz.so.1.2.1 1093558703
/lib/libz.so -> libz.so.1.2.1 1093558703
/lib/libz.so.1.2.1
/usr/lib/libz.so -> /lib/libz.so.1.2.1 1093558703
~amd64 box:
# qpkg -l sys-libs/zlib | grep .so
/lib64/libz.so.1 -> libz.so.1.2.1 1093561613
/lib64/libz.so -> libz.so.1.2.1 1093561613
|
So without libz.so.1.2.1, my system is broken. Anyone know how I can fix this?
I've tried downgrading, compiling with gcc 3.3. I not sure what else to do. This doesn't happen on my ~x86 box so I don't think it's an ebuild issue. |
|
Back to top |
|
|
lorenb Apprentice
Joined: 24 Aug 2002 Posts: 207 Location: Toronto, ON
|
Posted: Fri Aug 27, 2004 12:02 am Post subject: |
|
|
As a workaround, I just copied the libz.so.1.2.1 from the Gentoo 2004.2 LiveCD and got my system back up and running. Opened bug #61868. |
|
Back to top |
|
|
spacemunky n00b
Joined: 22 May 2004 Posts: 35
|
Posted: Sat Aug 28, 2004 2:05 am Post subject: |
|
|
lorenb wrote: | As a workaround, I just copied the libz.so.1.2.1 from the Gentoo 2004.2 LiveCD and got my system back up and running. Opened bug #61868. |
I just tried copying from the 2004.1 LiveCD. It didn't work - it complained about ELF or something like that. I've read the bug report and have no idea what's going on.
What an annoying problem. My whole system is fubared. I can't get into X and I can't run other stuff. All this just because I emerge world. |
|
Back to top |
|
|
lorenb Apprentice
Joined: 24 Aug 2002 Posts: 207 Location: Toronto, ON
|
Posted: Sat Aug 28, 2004 2:24 am Post subject: |
|
|
spacemunky wrote: | I just tried copying from the 2004.1 LiveCD. It didn't work - it complained about ELF or something like that. I've read the bug report and have no idea what's going on.
What an annoying problem. My whole system is fubared. I can't get into X and I can't run other stuff. All this just because I emerge world. |
You could try manually building and installing:
Code: | # su -
# tar jxvf /usr/portage/distfiles/zlib-1.2.1.tar.bz2
# cd zlib-1.2.1
# patch -p1 < /usr/portage/sys-libs/zlib/files/zlib-1.2.1-glibc.patch
# patch -p1 < usr/portage/sys-libs/zlib/files/zlib-1.2.1-build-fPIC.patch
# patch -p0 < /usr/portage/sys-libs/zlib/files/zlib-1.2.1-mapfile.patch
# patch -p0 < /usr/portage/sys-libs/zlib/files/zlib-1.2.1-configure.patch
# patch -p0 < /usr/portage/sys-libs/zlib/files/zlib-1.2.1-CAN-2004-0797.patch
# ./configure --prefix=/usr --libdir=/lib --shared
# make
# make install
|
That should at least get your system working again until there is a proper fix. |
|
Back to top |
|
|
spacemunky n00b
Joined: 22 May 2004 Posts: 35
|
Posted: Sat Aug 28, 2004 2:49 am Post subject: |
|
|
lorenb wrote: |
That should at least get your system working again until there is a proper fix. |
That's all? Sweet. I was prepared to do a full re-build.
Thanks dude. |
|
Back to top |
|
|
|