VirtualBox

Opened 5 years ago

Closed 5 years ago

#18324 closed defect (fixed)

Vbox guest additions: missing shared library dependency -> fixed in 6.0.10

Reported by: Daniele Owned by:
Component: guest additions Version: VirtualBox 6.0.2
Keywords: Cc:
Guest type: Linux Host type: Windows

Description

Enabling 3D on host, KDE on the guest fails to start with this error:

/usr/bin/kdeinit5: symbol lookup error: /usr/lib/x86_64-linux-gnu/VBoxOGLcrutil.so: undefined symbol: crypt_r

VBoxOGLcrutil.so shared library dependencies are:

ldd /usr/lib/x86_64-linux-gnu/VBoxOGLcrutil.so

linux-vdso.so.1 (0x00007ffcbb941000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcda8657000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fcda844f000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcda80b1000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcda7ead000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcda7abc000) /lib64/ld-linux-x86-64.so.2 (0x00007fcda8b53000)

Instructing linker to pre load libcrypt.so.1 fixes the issue, so I think such a dependency is missing at VBoxOGLcrutil compile time so build script needs to be fixed.

This is a regression in 6.0.2 guest additions, was working on the same guest with 5.2.24 guest additions.

Change History (17)

comment:1 by Bill Waggoner, 5 years ago

I am getting the same end result (application fails to start) using Wing IDE 6 on Ubuntu 18.04 under a MacOS host.

Loading '/usr/lib/wingide6/bin/runtime-qt5.5/lib/libQt5Gui.so.5'
Unable to load '/usr/lib/wingide6/bin/runtime-qt5.5/lib/libQt5Gui.so.5'
Traceback (most recent call last):
  File "/usr/lib/wingide6/bin/wing.py", line 1074, in <module>
    Main(list(sys.argv))
  File "/usr/lib/wingide6/bin/wing.py", line 1040, in Main
    squelch_output = Initialize(argv)
  File "/usr/lib/wingide6/bin/wing.py", line 1003, in Initialize
    qt_version = InitializeQt(log, kWingHome)
  File "/usr/lib/wingide6/bin/wing.py", line 579, in InitializeQt
    InitializePyQt(log, winghome, qt_runtime)
  File "/usr/lib/wingide6/bin/wing.py", line 786, in InitializePyQt
    LoadDynamicLibraries(log, winghome, rest_qt_dlls, runtime_list=runtime_list)
  File "/usr/lib/wingide6/bin/wing.py", line 659, in LoadDynamicLibraries
    load_one(name)
  File "/usr/lib/wingide6/bin/wing.py", line 653, in load_one
    ctypes.cdll.LoadLibrary(fullname)
  File "/usr/lib/wingide6/bin/runtime-python2.7/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/wingide6/bin/runtime-python2.7/lib/python2.7/ctypes/__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /usr/lib/x86_64-linux-gnu/VBoxOGLcrutil.so: undefined symbol: crypt_r

comment:2 by Daniele, 5 years ago

Addition: I'm running ubuntu 18.04 on the guest

comment:3 by ETiktin, 5 years ago

I encountered the same issue after installing VB 6.0.2.

When trying to run TortoiseHG on Linux Mint 19 guest, I got:

$ thg &
Traceback (most recent call last):
  File "/usr/bin/thg", line 110, in <module>
    sys.exit(tortoisehg.hgqt.run.dispatch(argv))
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 145, in __getattr__
    self._load()
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 90, in _load
    mod = _hgextimport(_origimport, head, globals, locals, None, level)
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 41, in _hgextimport
    return importfunc(name, globals, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/tortoisehg/hgqt/run.py", line 393, in <module>
    qtrun = qtapp.QtRunner()
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 145, in __getattr__
    self._load()
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 90, in _load
    mod = _hgextimport(_origimport, head, globals, locals, None, level)
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 41, in _hgextimport
    return importfunc(name, globals, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/tortoisehg/hgqt/qtapp.py", line 37, in <module>
    from .qtgui import (
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 167, in _demandimport
    return _hgextimport(_origimport, name, globals, locals, fromlist, level)
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 41, in _hgextimport
    return importfunc(name, globals, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/tortoisehg/hgqt/qtgui.py", line 72, in <module>
    from PyQt5.QtGui import *
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 167, in _demandimport
    return _hgextimport(_origimport, name, globals, locals, fromlist, level)
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 41, in _hgextimport
    return importfunc(name, globals, *args, **kwargs)
ImportError: /usr/lib/x86_64-linux-gnu/VBoxOGLcrutil.so: undefined symbol: crypt_r

I followed the OP's suggestion and patched VBoxOGLcrutil.so to load libcrypt.so.1 and everything seems to work now.

Instructions:

sudo apt install patchelf
sudo patchelf --add-needed libcrypt.so.1 /opt/VBoxGuestAdditions-6.0.2/lib/VBoxOGLcrutil.so

comment:4 by Akemi Yagi, 5 years ago

For users that run RHEL/CentOS, patchelf is available from the EPEL repository.

comment:5 by Daniele, 5 years ago

I confirm ETiktin fix solve the issue as well but in a more elegant way, I like it :-) .

comment:6 by Daniele, 5 years ago

Just upgraded to 6.0.4 but the issue still there.

comment:7 by Michael Thayer, 5 years ago

Please try the latest Guest Additions development test build.

https://www.virtualbox.org/wiki/Testbuilds

Please note that only that exact build currently has the fix. At the moment, the link to the build is

https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_6.0.97-128662.iso

but that will expire at some point.

in reply to:  8 comment:9 by MartinN, 5 years ago

Replying to michael:

I can confirm that 128668 works for me. No more undefined symbols.

Host: Windows 10 1809
Guest: Debian 9.7 amd64
VirtualBox 6.0.4

Thanks!

comment:10 by Michael Thayer, 5 years ago

Summary: Vbox guest additions: missing shared library dependencyVbox guest additions: missing shared library dependency -> fixed after (not in) 6.0.4 and in test builds

I will assume this is fixed then. Thank you.

comment:11 by JN, 5 years ago

I have this problem too, on VirtualBox (Windows host, Linux guest) 6.0.4.r128413. Details:

testing@testing-VirtualBox:~/Downloads/Angry/ANGRYsearch-master$ angrysearch
Traceback (most recent call last):
  File "/usr/bin/angrysearch", line 34, in <module>
    import PyQt5.QtGui as Qg
ImportError: /usr/lib/x86_64-linux-gnu/VBoxOGLcrutil.so: undefined symbol: crypt_r
$ angrysearch --version
Traceback (most recent call last):
  File "/usr/bin/angrysearch", line 34, in <module>
    import PyQt5.QtGui as Qg
ImportError: /usr/lib/x86_64-linux-gnu/VBoxOGLcrutil.so: undefined symbol: crypt_r

I gather that the problem has yet to be fixed in a release version of VBox. So, when will a fix be released (properly released), please?

comment:12 by Michael Thayer, 5 years ago

We do not have a public release schedule for future releases I'm afraid. Could you confirm that the problem is fixed for you in the current test builds?

comment:13 by ETiktin, 5 years ago

The issue is reproduced in the new stable release - 6.0.6. So I guess there was some regression between the test builds and the release.

You can still fix it locally by adding the missing dependency:

sudo apt install patchelf  # For Debian/Ubuntu etc.
sudo patchelf --add-needed libcrypt.so.1 /opt/VBoxGuestAdditions-6.0.6/lib/VBoxOGLcrutil.so
Last edited 5 years ago by ETiktin (previous) (diff)

comment:14 by dcohen, 5 years ago

This issue is happening on 6.0.8

comment:15 by Michael Thayer, 5 years ago

People still seeing this, please check that you are not actually seeing bug #18682.

comment:16 by Daniele, 5 years ago

I do confirm problem is still there in 6.0.8

Last edited 5 years ago by Daniele (previous) (diff)

comment:17 by Michael Thayer, 5 years ago

Resolution: fixed
Status: newclosed
Summary: Vbox guest additions: missing shared library dependency -> fixed after (not in) 6.0.4 and in test buildsVbox guest additions: missing shared library dependency -> fixed in 6.0.10
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use