Project

General

Profile

Actions

Bug #1471

closed

Linux emulation: trouble with shared libraries

Added by ftigeot over 14 years ago. Updated over 14 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

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:

  1. /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

linux_file.c.diff (6.12 KB) linux_file.c.diff ftigeot, 09/02/2009 09:22 AM
Actions #1

Updated by thomas.nikolajsen over 14 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.

Actions #2

Updated by alexh over 14 years ago

Some more information is needed here. What exactly is the problem? Does readdir
() work? Does stat() work?

Actions #3

Updated by alexh over 14 years ago

A test program showing the problem with linux_getdents (if it occurs with it)
would be helpful, too.

Actions #4

Updated by ftigeot over 14 years ago

On Tue, Sep 01, 2009 at 04:13:50PM +0000, Alex Hornung (via DragonFly issue tracker) wrote:

Alex Hornung <> 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.

Actions #5

Updated by alexh over 14 years ago

Commit 745218031721ef45a2714133cced693087a21376 should fix this issue.

Actions

Also available in: Atom PDF