Glenn Enright wrote:

On Thu, 21 Jul 2005 17:45, Zac Medico wrote:
Richard Fish wrote:
I will take a look through the gzip source and see if anything
interesting shows up.
Richard, you are a saint ;-).  But remember, he said that gunzip only
segfaults with files that he compressed himself which suggests that the
files are being corrupted when he compresses them.  You'd thing that gunzip
would be able to handle the corruption better that segfaulting though.

Zac

Ok just ran gcc-config and found lib # gcc-config -l /usr/bin/gcc-config: line 583: /etc/env.d/gcc/i686-pc-linux-gnu-3.4.3-20050110: No such file or directory * /usr/bin/gcc-config: Profile does not exist or invalid setting for /etc/env.d/gcc/i686-pc-linux-gnu-3.4.3-20050110
[1] i686-pc-linux-gnu-3.3.5
[2] i686-pc-linux-gnu-3.3.5-hardened
[3] i686-pc-linux-gnu-3.3.5-hardenednopie
[4] i686-pc-linux-gnu-3.3.5-hardenednossp
[5] i686-pc-linux-gnu-3.4.4
[6] i686-pc-linux-gnu-3.4.4-hardened
[7] i686-pc-linux-gnu-3.4.4-hardenednopie
[8] i686-pc-linux-gnu-3.4.4-hardenednopiessp
[9] i686-pc-linux-gnu-3.4.4-hardenednossp

Thats not right. gonna select 5 and take it through glibc (which was failing the 'make test') and gzip, see what happens :P

This seems like a very sane plan.

FYI, regarding the points I made earlier:

The "trampolin" stuff is related to gzip looking to see if the filesystem automatically shortened the file name that gzip creates. I didn't analyze it in detail, but it seems to be normal and intended.

Regarding the lstat64 vs stat64, this is more interesting. It basically means that the configure step probably didn't find an lstat call on your system. This suggests to me a problem in your system headers or compiler toolchain.

If fixing the gcc-config doesn't produce sane results, what I suggest is the following commands:

# cd /usr/local/src
# tar -xzvf /usr/portage/distfiles/gzip-1.3.5.tar.gz
# cd gzip-1.3.5
# ./configure
# grep HAVE_LSTAT config.h

If HAVE_LSTAT is commented out, then create a "testlstat.c" file with the following:

char lstat();
int main() {
   char (*f)();
   f = lstat;
   return 0;
}

Compile the above with "gcc -o testlstat testlstat.c". It should fail to compile, and the resulting error should give us a good place to look for the real problem.

-Richard

--
gentoo-user@gentoo.org mailing list

Reply via email to