Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Qt5 Linker Error: version `Qt_5' not found

Tags:

qt

qt5

1 The Problem

I am attempting to build the open-source motorcar project from scratch on an Arch Linux machine. Motorcar is a linux VR window manager to be used with the Oculus Rift D2K headset in conjunction with Razer Hydra controllers. You don't need these items to actually compile this project though.

The problem: I cannot get motorcar to compile on my machine (Arch Linux). I am suffering from a Qt5 linking error (explained below).

2 Motorcar Prerequisites & Build Targets

As the README indicates, the following prerequisites are needed in order to build motorcar:

  1. Mesa, compiled with EGL and Desktop OpenGL support.
  2. Cairo, compiled with EGL and Desktop OpenGL support.
  3. QtWayland 5.5 (which requires Qt5.5).
  4. Wayland (a linux window manager protocol).

Furthermore, the motorcar project is divided up into the following actual build targets:

  1. libmotorcar-compositor: this is the actual motorcar library used to support the build targets after this one.
  2. simple-compositor: this is a simple Wayland compositor which you can launch from the console. Once it's launched (on your screen, not in a VR headset), you can launch 3D window programs within it.
  3. rift-hydra-compositor: this is the same as the simple-compositor, except it is equipped with support for the Oculus Rift D2K headset and Razer Hydra controllers.
  4. motorcar-client-demo: This is the client "window" which is meant to run in either simple-compositor or the rift-hydra-compositor. It's merely a rotating cube. Once you launch the simple-compositor, you should be able to alt-tab to a console and run motorcar-client-demo (which will launch the 3D cube within the running simple-compositor).

3 How I Attempted to Build the Motorcar Targets (And the Errors That I'm Getting)

My system: Arch Linux with nvidia graphics card (running nvidia drivers).

First note that the motorcar project provides a build.sh script. I've tried using it and it doesn't work on my system. Therefore, I compiled everything from source. Here is how I did it (leading to the eventual error).

3.1 How I Built Mesa

First I downloaded mesa-13.0.2.tar.gz from mesa. After removing it from its tar, I ran:

$ ./configure --prefix=$WLD --enable-gles2 --disable-gallium-egl --with-egl-platforms=x11,wayland,drm --enable-gbm --enable-shared-glapi --with-gallium-drivers=r300,r600,swrast,nouveau --enable-glx-tls # what should $WLD be here? It might have been left blank.
$ make
$ sudo make install

3.2 How I Built Cairo

First I downloaded LATEST-cairo-1.14.6 linked from cairo's website. After removing it from its tar, I ran:

$ ./configure --prefix=$WLD --enable-xcb=yes --enable-gl=yes -enable-egl=yes # what should $WLD be here? It might have been left blank.
$ make
$ sudo make install

3.3 How I Built Wayland

I just used my package manager for this.

$ sudo pacman -S wayland
$ sudo pacman -S weston # in case this is relevant

3.4 How I Built qtwayland and qt5.5

Here I followed the instructions of motorcar's README:

$ cd ~
$ git clone git://code.qt.io/qt/qt5.git qt5
$ cd qt5
$ git checkout 1497a398e34e18abb18f705b2294464840629ca1 # the Qt5 commit hash confirmed to work from the README
$ ./init-repository --no-webkit  --module-subset=qtbase,qtdeclarative,qtwayland # I removed qtjsbackend from the module-subset since it isn't strictly needed

$ cd qtbase
$ git checkout 7010da2e6274febf71db40a535ce1d0c4858f143 # the qtbase commit hash confirmed to work from the README
$ cd ../qtwayland
$ git checkout 3dc9cfdbd2771c28c770d432b99e571db43fe599 # the qtwayland commit hash confirmed to work from the README
$ cd ../
$ ./configure -prefix /opt/qt5  -debug -confirm-license -opensource -egl -opengl -no-xcb-xlib

$ cd qtwayland
$ git clean -fdx
$ ../qtbase/bin/qmake CONFIG+=wayland-compositor
$ cd ../
$ make -j4 # the -j4 flag speeds up make by a factor of 4; otherwise this build takes a LONG time
$ make install

3.5 How I built libmotorcar-compositor

$ cd ~
$ git clone https://github.com/evil0sheep/motorcar.git motorcar
$ /opt/qt5/bin/qmake
$ make

3.6 How I attempted and FAILED to build simple-compositor

$ cd ~/motorcar/src/examples/compositors/simple-compositor
$ make
g++  main.cpp  -std=c++11  -I../../../../src/compositor -I../../../../src/protocol -I../../../../src/device -L../../../../lib -lmotorcar-compositor  -o simple-compositor 
../../../../lib/libmotorcar-compositor.so: undefined reference to `QGuiApplication::primaryScreen()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QSurfaceFormat::setDepthBufferSize(int)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWaylandCompositor::QWaylandCompositor(char const*, QFlags<QWaylandCompositor::ExtensionFlag>)'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QTimer::start(int)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QMatrix4x4::translate(float, float)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLContext::defaultFramebufferObject() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::resizeEvent(QResizeEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QGuiApplication::exec()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QSurfaceFormat::setStencilBufferSize(int)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QSurfaceFormat::~QSurfaceFormat()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `qFlagLocation(char const*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::childEvent(QChildEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QMetaObject::Connection::~Connection()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::staticMetaObject@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::metaObject() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::create()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::focusObject() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::setSurfaceType(QSurface::SurfaceType)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::wheelEvent(QWheelEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::accessibleRoot() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLTextureCache::QOpenGLTextureCache(QOpenGLContext*)@Qt_5_PRIVATE_API'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QSurfaceFormat::QSurfaceFormat(QSurfaceFormat const&)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::focusOutEvent(QFocusEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `non-virtual thunk to QWindow::format() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLShaderProgram::addShaderFromSourceCode(QFlags<QOpenGLShader::ShaderTypeBit>, char const*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QPixmap::fromImage(QImage const&, QFlags<Qt::ImageConversionFlag>)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLTexture::QOpenGLTexture(QImage const&, QOpenGLTexture::MipMapGeneration)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::qt_metacast(char const*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QScreen::geometry() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::~QObject()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLShaderProgram::QOpenGLShaderProgram(QObject*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::tabletEvent(QTabletEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::timerEvent(QTimerEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::showEvent(QShowEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::nativeEvent(QByteArray const&, void*, long*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::setGeometry(QRect const&)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QMatrix4x4::scale(float, float)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QSurfaceFormat::setSwapInterval(int)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::installEventFilter(QObject*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLShaderProgram::release()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWaylandCompositor::createOutput(QWindow*, QString const&, QString const&)'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QListData::dispose(QListData::Data*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLContext::QOpenGLContext(QObject*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLContext::create()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QImage::height() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QTimer::~QTimer()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QDateTime::currentMSecsSinceEpoch()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::eventFilter(QObject*, QEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QCoreApplication::self@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QGuiApplication::screens()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::hideEvent(QHideEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::disconnectNotify(QMetaMethod const&)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QCursor::~QCursor()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QCursor::QCursor(QPixmap const&, int, int)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLTexture::textureId() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QImage::~QImage()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::qt_metacall(QMetaObject::Call, int, void**)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLContext::functions() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObjectData::dynamicMetaObject() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLContext::setFormat(QSurfaceFormat const&)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWaylandCompositor::openUrl(QWaylandClient*, QUrl const&)'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QScreen::refreshRate() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::keyPressEvent(QKeyEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QGuiApplication::changeOverrideCursor(QCursor const&)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::qt_metacast(char const*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLShaderProgram::setUniformValue(int, QMatrix4x4 const&)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::mouseReleaseEvent(QMouseEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QImage::QImage()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::mouseDoubleClickEvent(QMouseEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::event(QEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::isExposed() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QImage::convertToFormat_helper(QImage::Format, QFlags<Qt::ImageConversionFlag>) const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::surfaceHandle() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::qt_metacall(QMetaObject::Call, int, void**)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QListData::detach(int)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::moveEvent(QMoveEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::sender() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `typeinfo for QWindow@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::mousePressEvent(QMouseEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QString::fromAscii_helper(char const*, int)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::event(QEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::QWindow(QScreen*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLTexture::~QOpenGLTexture()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `non-virtual thunk to QWindow::surfaceType() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QPixmap::~QPixmap()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLShaderProgram::bind()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QImage::width() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QGuiApplication::queryKeyboardModifiers()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::mouseMoveEvent(QMouseEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::keyReleaseEvent(QKeyEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `non-virtual thunk to QWindow::surfaceHandle() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QMetaObject::cast(QObject*) const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLContext::makeCurrent(QSurface*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::exposeEvent(QExposeEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::~QWindow()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLShaderProgram::attributeLocation(char const*) const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QImage::constBits() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QGuiApplication::setOverrideCursor(QCursor const&)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::format() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `qt_assert(char const*, char const*, int)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLShaderProgram::uniformLocation(char const*) const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::showFullScreen()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLContext::currentContext()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QSurfaceFormat::QSurfaceFormat()@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::surfaceType() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QTimer::QTimer(QObject*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::focusInEvent(QFocusEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::geometry() const@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QWindow::setFormat(QSurfaceFormat const&)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::connectNotify(QMetaMethod const&)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QOpenGLContext::swapBuffers(QSurface*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::customEvent(QEvent*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QGuiApplication::QGuiApplication(int&, char**, int)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `QObject::QObject(QObject*)@Qt_5'
../../../../lib/libmotorcar-compositor.so: undefined reference to `typeinfo for QObject@Qt_5'
collect2: error: ld returned 1 exit status
make: *** [Makefile:14: compositor] Error 1

3.7 How I found the Qt5 linking error associated with libmotorcar-compositor.so

The above output led me to the discovery that there is an internal linking error associated with the libmotorcar-compositor library, as evidenced by the following (note the first three lines of the error):

$ cd ~/motorcar/lib
$ ls
libmotorcar-compositor.so  libmotorcar-compositor.so.1  libmotorcar-compositor.so.1.0  libmotorcar-compositor.so.1.0.0
$ ldd libmotorcar-compositor.so
./libmotorcar-compositor.so: /opt/qt5/lib/libQt5Core.so.5: version `Qt_5' not found (required by ./libmotorcar-compositor.so)
./libmotorcar-compositor.so: /opt/qt5/lib/libQt5Gui.so.5: version `Qt_5_PRIVATE_API' not found (required by ./libmotorcar-compositor.so)
./libmotorcar-compositor.so: /opt/qt5/lib/libQt5Gui.so.5: version `Qt_5' not found (required by ./libmotorcar-compositor.so)
    linux-vdso.so.1 (0x00007ffcb60c9000)
    libQt5Widgets.so.5 => /opt/qt5/lib/libQt5Widgets.so.5 (0x00007f6084efa000)
    libQt5Compositor.so.5 => /opt/qt5/lib/libQt5Compositor.so.5 (0x00007f6084e1a000)
    libQt5Quick.so.5 => /opt/qt5/lib/libQt5Quick.so.5 (0x00007f60848f2000)
    libQt5Qml.so.5 => /opt/qt5/lib/libQt5Qml.so.5 (0x00007f60842dc000)
    libQt5Network.so.5 => /opt/qt5/lib/libQt5Network.so.5 (0x00007f6084133000)
    libQt5Gui.so.5 => /opt/qt5/lib/libQt5Gui.so.5 (0x00007f6083a84000)
    libQt5Core.so.5 => /opt/qt5/lib/libQt5Core.so.5 (0x00007f60834c6000)
    libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f608322a000)
    libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f608300d000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f6082c85000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007f6082981000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f608276a000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007f60823ca000)
    libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f6082178000)
    libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f6081e65000)
    libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f6081c53000)
    libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f6081914000)
    libwayland-server.so.0 => /usr/lib/libwayland-server.so.0 (0x00007f6081701000)
    libxkbcommon.so.0 => /usr/lib/libxkbcommon.so.0 (0x00007f60814bf000)
    librt.so.1 => /usr/lib/librt.so.1 (0x00007f60812b7000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00007f60810a1000)
    libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f6080e6b000)
    libicui18n.so.57 => /usr/lib/libicui18n.so.57 (0x00007f60809f1000)
    libicuuc.so.57 => /usr/lib/libicuuc.so.57 (0x00007f6080647000)
    libicudata.so.57 => /usr/lib/libicudata.so.57 (0x00007f607ebcb000)
    libpcre16.so.0 => /usr/lib/libpcre16.so.0 (0x00007f607e962000)
    libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f607e75e000)
    libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f607e55c000)
    /usr/lib64/ld-linux-x86-64.so.2 (0x00005591851f1000)
    libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f607e332000)
    libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0x00007f607e12d000)
    libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007f607df2a000)
    libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007f607dd23000)
    libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0x00007f607db20000)
    libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007f607d8f1000)
    libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f607d6ee000)
    libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f607d4e6000)
    libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f607d2e4000)
    libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f607d0bb000)
    libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007f607ce9f000)
    libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0x00007f607cc9a000)
    libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007f607ca94000)
    libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f607c882000)
    libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f607c679000)
    libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f607c406000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f607c202000)
    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f607bffc000)
like image 778
George Avatar asked Nov 08 '22 05:11

George


1 Answers

Try to add Qt's bin directory to PATH and lib directory to LD_LIBRARY_PATH:

export PATH=/opt/qt5/bin:$PATH
export LD_LIBRARY_PATH=/opt/qt5/lib:$LD_LIBRARY_PATH

I believe you may have linked your shared-object.so library explicitly against /opt/qt5/lib/libQt5Core.so, but as it in turn depends on other Qt libraries and cannot find them, you have an error. Adjustments above might resolve the issue.

See also:

  • What is the difference between PATH and LD_LIBRARY_PATH?
  • Where is LD_LIBRARY_PATH? how do I set the LD_LIBRARY_PATH env variable?
  • man ld.so(8)
like image 170
Ivan Aksamentov - Drop Avatar answered Nov 15 '22 07:11

Ivan Aksamentov - Drop