Bug #1471
closedLinux emulation: trouble with shared libraries
0%
Description
I have recently upgraded a machine to v2.3.2.717.gc93cf-DEVELOPMENT.
It is now impossible to run misc/openoffice3-bin.
This machine ran previously a development snapshot from just before the devfs
changeover and had no trouble with it.
Error messages :
$ soffice
sh: /dev/null: Permission denied
javaldx: Could not find a Java Runtime Environment!
/usr/pkg/openoffice.org3/program/soffice.bin: error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory
A complete reinstallation of the Linux Suse and OpenOffice packages did not
change the problem.
The Linux ldconfig doesn't find its libraries anymore:
- /usr/pkg/emul/linux/bin/bash
bash-3.00# ldconfig -v
ldconfig: Can't stat /usr/X11R6/lib/Xaw95: No such file or directory
ldconfig: Can't stat /usr/X11R6/lib/Xaw3d: No such file or directory
ldconfig: Can't stat /usr/i486-linux/lib: No such file or directory
ldconfig: Can't stat /usr/i486-linux-libc5/lib: No such file or directory
ldconfig: Can't stat /usr/i486-linux-libc6/lib: No such file or directory
ldconfig: Can't stat /usr/i486-linuxaout/lib: No such file or directory
ldconfig: Can't stat /usr/i386-suse-linux/lib: No such file or directory
ldconfig: Can't stat /usr/openwin/lib: No such file or directory
ldconfig: Can't stat /opt/kde/lib: No such file or directory
ldconfig: Can't stat /opt/kde2/lib: No such file or directory
ldconfig: Can't stat /opt/kde3/lib: No such file or directory
ldconfig: Can't stat /opt/gnome/lib: No such file or directory
ldconfig: Can't stat /opt/gnome2/lib: No such file or directory
/usr/X11R6/lib:
/usr/local/lib:
/lib:
/usr/lib:
It seems it is now impossible to list files from the Linux environment:
bash-3.00# cd /usr/X11R6/lib
bash-3.00# ls -la
total 0K
But find(1) still finds them !
bash-3.00# find . | grep Xext
./libXext.so.6
./libXext.so.6.4
Files
Updated by thomas.nikolajsen about 15 years ago
I have same problem with recent DEVELOPMENT from August 27;
it works again when booting same world with DEVELOPMENT kernel from July 29
(no any pkgsrc packages changed).
Here it's www/opera which can't run anymore; can't find libX11.so.6.
Updated by alexh about 15 years ago
Some more information is needed here. What exactly is the problem? Does readdir
() work? Does stat() work?
Updated by alexh about 15 years ago
A test program showing the problem with linux_getdents (if it occurs with it)
would be helpful, too.
Updated by ftigeot about 15 years ago
On Tue, Sep 01, 2009 at 04:13:50PM +0000, Alex Hornung (via DragonFly issue tracker) wrote:
Alex Hornung <ahornung@gmail.com> added the comment:
A test program showing the problem with linux_getdents (if it occurs with it)
would be helpful, too.
Unfortunately, I don't know enough about userland system programming to create
one.
Howewer, I have tracked the bug to this commit:
http://gitweb.dragonflybsd.org/dragonfly.git/commit/e54488bbec5c9f80e95cedd395b0e3d31fde253d
"AMD64 - Refactor uio_resid and size_t assumptions."
The attached patch allows the Linux ls(1) is again able to list files.
It is to be applied in /usr/src/sys/emulation/linux and basically reverts
linux_file.c to the previous version, with enough changes to make it compile
in a recent trunk.
Think of it as a quick-and-dirty hack, there were many more changes in the
Linux emulation files which I haven't yet reviewed.
Updated by alexh about 15 years ago
Commit 745218031721ef45a2714133cced693087a21376 should fix this issue.