On Fri, 3 Oct 1997, joost witteveen wrote: > > > > The problems are easy to summarize: > > - xlib6 version 3.3-6 has a bug in it that causes a lot of programs not to > > find files under /usr/X11R6/lib/X11/ . xlib6 version 3.3-5 doesn't have > > this bug. > > - the rest of the packages don't seem to have any bugs that break other > > things (of course they do have bugs). > > Not completely true. fvwm2 (at least) has a "-rpath" bug, that makes > it always search it's X libraries in /usr/X11R6/lib/. This causes > it to segfault when you install xlibc6 3.3-5 or higher.
Oops. Very true indeed. There is a script, however, which can patch any binary that has this bug. --- cut here --- #!/usr/bin/perl -w # Open file open IN, "$ARGV[0]" or die "can't find $ARGV[0]: $!"; # Read it in one slurp select IN; undef $/; select STDOUT; $file=<IN>; close IN; # Remove this string $count=$file=~s!/usr/X11R6/lib\0!\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0!g; print "Replaced: $count occurences in $ARGV[0]\n"; # Write the file open OUT, ">$ARGV[0].out" or die "can't write $ARGV[0].out: $!"; print OUT $file; close OUT; --- cut here --- This produces a copy of every file with '.out' appended to the file name. The script should say it has replaced 1 occurence for each file that has this bug. You can `mv' the .out files to the original names [1], `chmod +x' them and you're ready to go. Note that in the case of fvwm(2|95), you also have to patch all the modules that are in /usr/X11R6/lib/X11/fvwm(2|95). I am not sure about the exact directory names (I have only fvwm2), but you get the idea. Remco [1] I mostly use quite long command lines to do this for all files at once, for example in the fvwm-modules directory: # for i in Fvwm* ; do xlibsbug $i ; mv $i $i.bug ; mv $i.out $i ; chmod -x $i.bug ; chmod +x $i ; done Of course you can also just `rm' the .bug files but I like to play it safe first. -- "Very funny, Scotty. Now beam up my clothes." -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .