[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: /X11R6/lib



On Mon, May 07, 2001 at 12:48:32AM +0200, Oystein Viggen wrote:
> Quoth Marcus Brinkmann: 
> 
> > X11R6 shouldn't exist even on Linux, if you ask me.  I am all for it.
> 
> Yes, perhaps an even better idea would be to replace /X11R6 with a
> symlink to ".".  I this time, I took the safe route replacing only
> /X11R6/lib with a symlink to ../lib.
> 
> Is there a way that I could create a separate (chroot) environment on my
> hurd box to test these somewhat radical changes without having to boot
> between them?  Like debootstrap in Debian/Linux?

If you have enough room, just copy your whole Hurd partition, or whatever
you want to be in the filesystem, into an ext2fs filesystem image/partition,
and run a sub-Hurd:

boot -I /boot/servers.boot /path/to/image

or

boot -I /boot/servers.boot /dev/hdXXX

(see http://www.gnu.org/software/hurd/howto/subhurd.html)
 
> > I can send you a dpkg-shlibdeps which will be functional but spit out a lot
> > of warnings.  
> 
> Thanks, that would be nice.  As I understand the current scheme of
> things, dpkg-shlibdeps is confused when ldd finds stuff in /lib that
> dpkg says should be in /usr/lib?

Almost. It is confused if dpkg doesn't find it where ldd does.
With the patch below it will find them, but you will get two warnings from
dpkg for every lib (because it can find them in the correct location, but
not in the two wrong locations ;)

--- /usr/bin/dpkg-shlibdeps.orig	Sat Jan 13 15:01:31 2001
+++ /gnu/bin/dpkg-shlibdeps	Sun Mar  4 15:07:29 2001
@@ -114,15 +114,22 @@
 	chomp;
 	if (m,^\s*NEEDED\s+,) {
 	    if (m,^\s*NEEDED\s+((\S+)\.so\.(\S+))$,) {
-		push(@libname,$2); push(@libsoname,$3);
-		push(@libf,$execf[$i]);
+		push(@libname,$2); push(@libname,$2); push(@libname,$2);
+		push(@libsoname,$3); push(@libsoname,$3); push(@libsoname,$3);
+		push(@libf,$execf[$i]); push(@libf,$execf[$i]); push(@libf,$execf[$i]);
 		&warn("could not find path for $1") unless defined($so2path{$1});
 		push(@libfiles,$so2path{$1});
+		push(@libfiles, "/usr" . $so2path{$1});
+		push(@libfiles, "/usr/X11R6/lib" . $so2path{$1});
 	    } elsif (m,^\s*NEEDED\s+((\S+)-(\S+)\.so)$,) {
-		push(@libname,$2);
-		push(@libf,$execf[$i]);
+		push(@libname,$2); push(@libname,$2); push(@libname,$2);
+		push(@libsoname,$3); push(@libsoname,$3); push(@libsoname,$3);
+		push(@libf,$execf[$i]); push(@libf,$execf[$i]); push(@libf,$execf[$i]);
 		&warn("could not find path for $1") unless defined($so2path{$1});
 		push(@libfiles,$so2path{$1});
+		push(@libfiles,"/usr" . $so2path{$1});
+		push(@libfiles,"/usr/X11R6/lib" . $so2path{$1});
 	    } else {
 		m,^\s*NEEDED\s+(\S+)$,;
 		&warn("format of $1 not recognized");

--FCuugMFkClbJLl1L--

> > If there are no actual file conflicts which introduce bugs, you
> > shouldn't notice a difference.  But then, unexpected things may
> > happen.
> 
> Except for the standard /usr/lib/X11 -> ../X11R6/lib symlink (which I
> deleted - hope that's not horrible),

It should be replace by a  /usr/lib/X11 -> . symlink, right?

> there didn't seem to be any file
> conflicts.  Indeed, if any libraries in /lib, /usr/lib, or /usr/X11R6/lib
> should have the same filename, wouldn't this be bad also if the
> directories are separate? 

Yes. Can you check for conflicts with /X11R6 -> . ?
I could set the prefix for X to / on GNU systems...

> For some happy news, xterm now works.  (and completely unrelated, bug
> #78372 is closed in shellutils 2.0.11-7).

What do you mean with "works"? Does ^C/^Z work?

Yep, got the notice about shellutils. Quite some bugs have been fixed
recently. When Jeff returns he will have some work ;)

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org brinkmd@debian.org
Marcus Brinkmann              GNU    http://www.gnu.org    marcus@gnu.org
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de



Reply to: