diff -c strace-3.0.ori/defs.h strace-3.0/defs.h
*** strace-3.0.ori/defs.h Sun Nov 20 13:12:41 1994
--- strace-3.0/defs.h Sun Nov 20 13:12:06 1994
***************
*** 213,218 ****
--- 213,219 ----
extern void set_overhead P((int));
extern void qualify P((char *));
extern void newoutf P((struct tcb *));
+ #define syscall my_syscall
extern int syscall P((struct tcb *));
extern void printxval P((struct xlat *, int, char *));
extern int printargs P((struct tcb *));
[The syscall libc function is redefined by strace, resulting in a
clash. This patch makes strace use my_syscall instead.]
> ls -l
total 2
lrwxrwxr-x 1 knaff 3 Nov 22 17:51 bar -> foo
-rw-rw-r-- 1 knaff 6 Nov 22 17:51 foo
> gzip foo
> rm bar
rm: remove bar? y
> ln -s foo.gz bar.gz
This way, you can fix the man-problem temporarily, until you get a working version of man. Not everything is covered in this FAQ, some things are only mentioned in the manpages, INSTALL and CAVEATS files.
DON'T RUN FSCK BY HAND ON A READ WRITE MOUNTED FILESYSTEM. This might corrupt your data. I suggest you just wait until the mount count expires and the fsck is done automatically. Or if you are short on space, boot linux from a ramdisk floppy, and fsck your hard disk from there.
For the ELF version, the zlibrc files are parsed as soon as the
program is started. Changes in zlibrc files affect only programs that
are started after the change.
For the non-ELF versions, the zlibrc files are parsed by every
program whenever they are first needed, i.e. when the programs first
tries to uncompress a file. Thus changes MAY affect already running
programs, and CERTAINLY affect programs which are started after the
change.
In order to avoid it, try to find out the relevant file using strace
or LD_ZLIB_VERBOSE, and switch compression off for it. Very often these
are just temporary files. Putting the following line in the class of
the offending program thus clears away most of these messages:
Makewhatis doesn't notice that the manpages are already compressed.
Disable the zlibc for makewhatis. (i.e. run it always with the
following command line:
LD_ZLIB_DISABLE=1 makewhatis
)
When are changes in zlibrc files taken into account.
If your zlibrc file is still syntactically correct, all changes in
the zlibrc files are taken into account at least for the programs
which are started after the change. To check the correctness of your
zlibrc file, set then environmental variable LD_ZLIB_VERBOSE to 1. This
prints lot of informational messages, and also error messages.Does zlibrc recognize the names of scripts?
No. In a script the current command name is always the name of the
shell, thus zlibc cannot recognize the name of the script itself.My system is dog slow since I installed zlibc?
( The dots mean that the commands line should go at the beginning of the file,
and the class definition at the end. See manual pages for details)
commands default use "nopipe"
...
class "nopipe"
usetmpfile
With some programs, I get 'gzip: stdin: unexpected end of file' messages when chosing compressed file creation.
What probably happens is that the program uses the obsolete 'creat'
call. The 'creat' call is not as flexible as open, and so the program
needs to open the file twice:
The creat call creates the compressed file. A gzip is started in the
background to do this (it has to run paralelly to the main program,
just in case that program tried to write to the file descriptor.)
Because the open follows immediately afterwards, the creating gzip may
not yet been done. Open spawns an uncompressing gzip, which finds an
invalid compressed file. This gzip prints that error message. This
error message is bening, as the file was empty anyways. close(creat(file, mode)); /* create the tmp file */
open(file, O_RDWR, mode); /* open it in the desired mode */
[This is a good idea anyways, because usually you don't want tmp files
to be compressed.]
dir "/tmp" no-create-compressed
There are Segmentation faults during the compilation
If you get mysterious segmentation faults during the compilation, the
cause may be that you used the same object file extension for ELF and
a.out, and that the linker is getting confused by the presence of
files of the wrong binary format. See Binfmt.doc for details.
Zlibc doesn't seem to work on my Elf compiled files
Make sure they are linked dynamically. The new binutils compile all
files statically if there is no libc.so symlink pointing to libc.so.5
in /lib or /usr/lib.
Last modified: Sun Dec 15 13:24:46 MET