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

Re: (not-debian-)programs not finding libraries on Debian system...



Taking this to debian-user, as suggested.

> > I have compiled a program here that is looking for X libraries in
> > /usr/lib... I don't want to make symlinks for all of these, that's just
> > plain ugly. What else can I do, put them in ld.so.preload or something?
> 
> You could tell us a bit more. What debian version are you using?

Sid. Come to think of it, there were a number of programs I compiled,
this wasn't one of them... these binaries are precompiled. So it wasn't
compiled on my system. Does this make a big difference?

> Did you install the xlib6 package from the oldlibs section (which is dependend
> on libc5)? What about a recompile?

xlib6 is not installed... I can try that, but all the libraries it
complained about was in /usr/X11R6/lib/, one for one I made symlinks in
/usr/lib, and it got past each of those then ... after the 7th symlink I
decided, no, I'm polluting my system, there must be a cleaner way.

> > $ strace ./spice3 
> > execve("./spice3", ["./spice3"], [/* 32 vars */]) = 0
> > old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000
> > mprotect(0x40000000, 21406, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
> > mprotect(0x8048000, 1176796, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
> > stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=59404, ...}) = 0
> > open("/etc/ld.so.cache", O_RDONLY)      = 3
> > old_mmap(NULL, 59404, PROT_READ, MAP_SHARED, 3, 0) = 0x40008000
> > close(3)                                = 0
> > stat("/etc/ld.so.preload", 0xbffff988)  = -1 ENOENT (No such file or directory)
> > open("/usr/lib/libXaw.so.6", O_RDONLY)  = -1 ENOENT (No such file or directory)
> > open("/lib/dpkg -", O_RDONLY)      = -1 ENOENT (No such file or directory)
> > write(2, "./spice3: can\'t load library \'li"..., 43./spice3: can't load library 'libXaw.so.6'
> > ) = 43
> > _exit(16)                               = ?

> Strange. There should be a ld.so.cache on your system.
> Try to run ldconfig as root and check if /etc/ld.so.cache is created.

There is an ld.so.cache. Not an ld.so.preload. (the strace shows this if
I am reading it correctly.) I reran ldconfig, but that didn't help.

Thanks,
Hugo van der Merwe



Reply to: