[OmniOS-discuss] running X application over ssh can't find libraries
Jim Klimov
jimklimov at cos.ru
Wed Aug 28 17:22:25 UTC 2013
On 2013-08-28 17:48, Geoff Nordli wrote:
> On 13-08-27 11:30 PM, Paul B. Henson wrote:
>> On Aug 27, 2013, at 10:44 PM, Geoff Nordli <geoffn at gnaa.net> wrote:
>>
>>> /usr/bin/VirtualBox
>>> VirtualBox: supR3HardenedMainGetTrustedMain:
>>> dlopen("/opt/VirtualBox/amd64/VirtualBox.so",) failed: ld.so.1:
>>> VirtualBox: fatal: libXinerama.so.1: open failed: No such file or
>>> directory
> root at stor1:~# file /opt/VirtualBox/VirtualBox
> /opt/VirtualBox/VirtualBox: ELF 32-bit LSB executable 80386 Version
> 1 [FPU], dynamically linked, not stripped
Well, you're comparing fruits to flies here ;)
# ls -la /usr/bin/VirtualBox
lrwxrwxrwx 1 root root 28 Dec 10 2009
/usr/bin/VirtualBox -> ../../opt/VirtualBox/VBox.sh
The script selects your architecture:
...
CURRENT_ISA=`isainfo -k`
if test "$CURRENT_ISA" = "amd64"; then
INSTALL_DIR="/opt/VirtualBox/amd64"
else
INSTALL_DIR="/opt/VirtualBox/i386"
fi
APP=`which $0`
APP=`basename $APP`
case "$APP" in
...
And according to the error coming from the attempted dynamic link of
dlopen("/opt/VirtualBox/amd64/VirtualBox.so",) - this does run your
amd64 binary.
I might only guess that your LD_LIBRARY_PATH with /opt/pkg/lib is
somehow overridden or ignored (not "export"ed?) by subsequent programs.
Try hardcoding it into the VBox.sh script to see if it helps?
LD_LIBRARY_PATH=/opt/pkg/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
>
> root at stor1:~# file /opt/pkg/lib/libXinerama.so.1.0.0
> /opt/pkg/lib/libXinerama.so.1.0.0: ELF 64-bit LSB dynamic lib AMD64
> Version 1, dynamically linked, not stripped, no debugging information
> available
Now, against my old Solaris habits, this packaging looks wrong :)
The base directory historically contains the 32-bit stuff (and maybe
multiarch if implemented), and 64-bit things are in their own subdir.
I wonder if an opposite is catered for...
I know there is a tendency to eradicate 32-bitness in a number of
OSes, but legacy 32-bit binaries won't (shouldn't) link with a 64-bit
library and vice-versa. Normally, both should be provided one way or
another.
More information about the OmniOS-discuss
mailing list