Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

virtualbox: fix build #23258

Merged
merged 1 commit into from
Feb 28, 2017
Merged

virtualbox: fix build #23258

merged 1 commit into from
Feb 28, 2017

Conversation

rasendubi
Copy link
Member

The issue was caused by upgrading qt from qt56 to qt57, which
now requires C++11.

For more info, see #23257.

/cc @ttuegel

Things done
  • Tested using sandboxing
    (nix.useSandbox on NixOS,
    or option build-use-sandbox in nix.conf
    on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

The issue was caused by upgrading `qt` from `qt56` to `qt57`, which
now requires C++11.

For more info, see NixOS#23257.
@mention-bot
Copy link

@rasendubi, thanks for your PR! By analyzing the history of the files in this pull request, we identified @aszlig, @edolstra and @vcunat to be potential reviewers.

@bjornfor
Copy link
Contributor

It builds fine, but when trying to run VirtualBox:

$ VirtualBox 

** (VirtualBox:7000): WARNING **: Error retrieving accessibility bus address: org.freedesktop.systemd1.NoSuchUnit: Unit at-spi-dbus-bus.service not found.
Qt FATAL: Cannot mix incompatible Qt library (version 0x50601) with this library (version 0x50701)
Aborted

I think this must be an impurity on my system, because qt5.6 is not in the virtualbox closure.

I have ensured my "nix-env" packages are built from the same commit as the rest of the system and moved trolltech config files out of the way ~/.config/Trolltech* ~/.config/Trolltech.bak.

Strace doesn't work:

$ strace -olog -f -s300 VirtualBox 
VirtualBox: /nix/store/3xsjm8rfpy0ysfjs1pcybj33fsigszgp-wrapper.c:203: main: Assertion `!(st.st_mode & S_ISUID) || (st.st_uid == geteuid())' failed.
Aborted

What other places can VirtualBox keep a reference to qt5.6?

@bjornfor bjornfor merged commit 0d31a76 into NixOS:master Feb 28, 2017
@bjornfor
Copy link
Contributor

It runs under sudo, so it's definitely something related to my $HOME and/or $USER. Any suggestions?

@bjornfor
Copy link
Contributor

$ ldd ./result/bin/VirtualBox  | grep -i qt
	libQt5Core.so.5 => /nix/store/rg4d03j01pa1vawgcvk7jcp4ba6aa61a-qtbase-5.7.1/lib/libQt5Core.so.5 (0x00007f008a928000)
	libQt5Gui.so.5 => /nix/store/rg4d03j01pa1vawgcvk7jcp4ba6aa61a-qtbase-5.7.1/lib/libQt5Gui.so.5 (0x00007f008a458000)
	libQt5Widgets.so.5 => /nix/store/rg4d03j01pa1vawgcvk7jcp4ba6aa61a-qtbase-5.7.1/lib/libQt5Widgets.so.5 (0x00007f0089db1000)
	libQt5PrintSupport.so.5 => /nix/store/rg4d03j01pa1vawgcvk7jcp4ba6aa61a-qtbase-5.7.1/lib/libQt5PrintSupport.so.5 (0x00007f008c6d9000)
	libQt5OpenGL.so.5 => /nix/store/rg4d03j01pa1vawgcvk7jcp4ba6aa61a-qtbase-5.7.1/lib/libQt5OpenGL.so.5 (0x00007f008c67a000)
	libQt5X11Extras.so.5 => /nix/store/33nzidin0xiazj2h6mm6aws50hyfqbry-qtx11extras-5.7.1/lib/libQt5X11Extras.so.5 (0x00007f008c674000)

Only qt5.7 references. Where does it pick up 5.6?

@vcunat
Copy link
Member

vcunat commented Feb 28, 2017

It might need kdeWrapper.

@ttuegel
Copy link
Member

ttuegel commented Feb 28, 2017

kdeWrapper is only for KDE programs, but you do need wrapQtProgram from makeQtWrapper. Qt uses plugins extensively; if your program isn't wrapped so that Qt can find them, it will fall back to searching the environment for them.

@bjornfor
Copy link
Contributor

FYI, after a reboot my system stopped finding the wrong Qt version. Now virtualbox runs fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants