Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Libraries must be deleted for Qt5 apps to work on Ubuntu 20.04



  • I'm an end user (NOT a Qt Programmer) on Ubuntu 20.04LTS and I'm having the strangest issue.
    Here's what I know:

    Qt5 based apps refuse to open from the GUI.
    When attempting to open a Qt5 app from CLI, i see there are issues with the followings files:

    /usr/local/lib/libQt5Xml.so.5
    /usr/local/lib/libQt5Gui.so.5
    /usr/local/lib/libQt5Core.so.5
    /usr/local/lib/libQt5Concurrent.so.5
    /usr/local/lib/libQt5Widgets.so.5
    

    Like a total fool, I didn't save the error but I believe it was "Undefined symbol" for each of the files in that list.

    Basically, if I $ sudo rm all those .so.5 libs then Qt5 apps once again will open.

    This issue is somehow related to installing apps from Ubuntu Software app but I recently installed via apt ppa and that seemed to recreate the listed libraries as well. Essentially, everything is working until installing a new app. This somehow causes the libraries to be recreated and that is the problem.

    These are the libraries that seem to work correctly:

    libmpg123.so.0
    libQt5Core.so.5.3.2
    libQt5Widgets.so.5.3.2
    libQt5Concurrent.so.5.3.2
    libQt5Gui.so.5.3.2
    libQt5Xml.so.5.3.2
    

    There is also this directory within /usr/local/lib/

    python3.8
    

    What is going on here?
    Any help would be greatly appreciated.



  • @Strawberrydit
    I use Ubuntu 20.04 and never have any problems like this.

    Most important is where you get your Qt5 (I wouldn't touch Qt6 yet) from. I only fetch existing modules released with 20.04 via apt get, from default repos. I don't use Ubuntu Software App, nor snaps. Once you start using specific ppas, or still more scary build Qt from source yourself, you are likely to get into multiple-version-hell: it can be done but takes some management. I don't know what your "installing apps from Ubuntu Software" does in this area.

    Right at the end you mention Python. If you are installing PyQt5 or PySide2 they may come with their own virtual environments which include their own Qt. But then they should not affect anything in /usr/local.

    The libQt...s you say "work correctly" all look like they are for Qt 5.3? That is a very old version. Ubuntu 20.04's Qt should be at Qt 5.12.8.


  • Moderators

    @Strawberrydit said in Libraries must be deleted for Qt5 apps to work on Ubuntu 20.04:

    Qt5 based apps refuse to open from the GUI.
    When attempting to open a Qt5 app from CLI, i see there are issues with the followings files:

    /usr/local/lib/libQt5Xml.so.5
    /usr/local/lib/libQt5Gui.so.5
    /usr/local/lib/libQt5Core.so.5
    /usr/local/lib/libQt5Concurrent.so.5
    /usr/local/lib/libQt5Widgets.so.5
    

    Like a total fool, I didn't save the error but I believe it was "Undefined symbol" for each of the files in that list.

    Basically, if I $ sudo rm all those .so.5 libs then Qt5 apps once again will open.

    In a nutshell: You have/had multiple versions of Qt in your system. Your app loaded the wrong version so it couldn't run. When you deleted the wrong version, the app can no longer load the wrong version so it ended up loading the right version and ran fine.

    I don't have details on your app or how you installed Qt, so I can only give general info. But the gist is this: You make somehow make sure that your app loads the correct version all the time.

    You can see which version is being loaded by using ldd.

    /usr/local/lib/

    If something is in /usr/local/ then it probably wasn't installed via the official Ubuntu channels. That means it probably wasn't tested for potential conflicts with official Ubuntu libraries/apps.



  • @JonB yeah, I have been acquiring apps from Ubuntu Software App (That's what I was referring to) alongside $ apt install

    I definitely have not been building Qt from source. I also have not installed PyQt5 or PySide2 unless they managed to be installed as a dependency - I would think unlikely but i imagine its possible.

    How would you update Qt5 to 5.12.8?

    I found this command around but I don't know if its a good idea:

    sudo apt install qt5-default
    

    Appreciate your help.



  • @Strawberrydit said in Libraries must be deleted for Qt5 apps to work on Ubuntu 20.04:

    sudo apt install qt5-default

    Yes, that is the right command to install the Qt5 released with your OS version. You may need more packages than that, I can't recall, Google around. (From a shell you can also type apt install qt5 and then press Tab a couple of times to see what all the possible matches are, to give you a hint.) I would start by uninstalling everything Qt you have --- your own, or whatever other applications you have installed which seem to use Qt and have installed it --- and see how you go.



  • @JKSH I agree there appears to be a conflict, although I don't know how to sort it out. Its not just one app being effected, its seemingly anything that is based on Qt5 - None of these are things I've written myself, I'm just a user.

    Where is Qt supposed to be installing these libraries normally?

    Are there supposed to be any of these files in /usr/local/lib/ ?

    How are they just reappearing? What could trigger this behavior?

    $ ldd -v libQt5Concurrent.so.5
    

    This produced a HUGE amount of output. I can't say I fully understand but it looks like its still linked into use by the system. Note, this is one of the files that needed to be deleted for any Qt5 app to successfully boot. I saved them in a backup directory when I was figuring this out.

    $ ldd -v libQt5Concurrent.so.5
    	linux-vdso.so.1 (0x00007ffcd85e8000)
    	libQt5Core.so.5 => /lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f729daa0000)
    	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f729da7d000)
    	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f729da72000)
    	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f729da6c000)
    	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f729d88a000)
    	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f729d86d000)
    	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f729d71e000)
    	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f729d52c000)
    	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f729d510000)
    	libicui18n.so.66 => /lib/x86_64-linux-gnu/libicui18n.so.66 (0x00007f729d211000)
    	libicuuc.so.66 => /lib/x86_64-linux-gnu/libicuuc.so.66 (0x00007f729d02b000)
    	libpcre2-16.so.0 => /lib/x86_64-linux-gnu/libpcre2-16.so.0 (0x00007f729cfa6000)
    	libdouble-conversion.so.3 => /lib/x86_64-linux-gnu/libdouble-conversion.so.3 (0x00007f729cf90000)
    	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f729ce67000)
    	/lib64/ld-linux-x86-64.so.2 (0x00007f729e209000)
    	libicudata.so.66 => /lib/x86_64-linux-gnu/libicudata.so.66 (0x00007f729b3a6000)
    	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f729b333000)
    
    	Version information:
    	./libQt5Concurrent.so.5:
    		librt.so.1 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/librt.so.1
    		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
    		libstdc++.so.6 (CXXABI_1.3) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (GLIBCXX_3.4) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/libQt5Core.so.5:
    		libgcc_s.so.1 (GCC_3.4) => /lib/x86_64-linux-gnu/libgcc_s.so.1
    		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    		libm.so.6 (GLIBC_2.29) => /lib/x86_64-linux-gnu/libm.so.6
    		libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
    		libpthread.so.0 (GLIBC_2.3.3) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libc.so.6 (GLIBC_2.25) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.9) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.28) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.17) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.6) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
    		libstdc++.so.6 (GLIBCXX_3.4.14) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (CXXABI_1.3.8) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (GLIBCXX_3.4.21) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (CXXABI_1.3.3) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (GLIBCXX_3.4) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (CXXABI_1.3) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (CXXABI_1.3.2) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (CXXABI_1.3.9) => /lib/x86_64-linux-gnu/libstdc++.so.6
    	/lib/x86_64-linux-gnu/libpthread.so.0:
    		ld-linux-x86-64.so.2 (GLIBC_2.2.5) => /lib64/ld-linux-x86-64.so.2
    		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
    		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/librt.so.1:
    		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libpthread.so.0 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/libdl.so.2:
    		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
    		libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/libstdc++.so.6:
    		libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    		libgcc_s.so.1 (GCC_4.2.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
    		libgcc_s.so.1 (GCC_3.4) => /lib/x86_64-linux-gnu/libgcc_s.so.1
    		libgcc_s.so.1 (GCC_3.3) => /lib/x86_64-linux-gnu/libgcc_s.so.1
    		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.6) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.18) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.16) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.17) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/libgcc_s.so.1:
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/libm.so.6:
    		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/libc.so.6:
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
    	/lib/x86_64-linux-gnu/libz.so.1:
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/libicui18n.so.66:
    		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    		libstdc++.so.6 (CXXABI_1.3.8) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (CXXABI_1.3) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (GLIBCXX_3.4) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libm.so.6 (GLIBC_2.29) => /lib/x86_64-linux-gnu/libm.so.6
    		libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
    	/lib/x86_64-linux-gnu/libicuuc.so.66:
    		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    		libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
    		libm.so.6 (GLIBC_2.29) => /lib/x86_64-linux-gnu/libm.so.6
    		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
    		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libstdc++.so.6 (CXXABI_1.3.8) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (GLIBCXX_3.4) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (CXXABI_1.3) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (GLIBCXX_3.4.11) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/libpcre2-16.so.0:
    		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/libdouble-conversion.so.3:
    		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    		libstdc++.so.6 (CXXABI_1.3) => /lib/x86_64-linux-gnu/libstdc++.so.6
    		libstdc++.so.6 (GLIBCXX_3.4) => /lib/x86_64-linux-gnu/libstdc++.so.6
    	/lib/x86_64-linux-gnu/libglib-2.0.so.0:
    		libpthread.so.0 (GLIBC_2.12) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libc.so.6 (GLIBC_2.9) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.28) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.3) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.16) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.8) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.15) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.10) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.17) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
    	/lib/x86_64-linux-gnu/libpcre.so.3:
    		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
    		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
    		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
    

    Thanks for your help



  • @JonB Yuck but it sound like it would be effective. Is there some way to get a list of Qt5 apps on a system? I discovered this by total chance and frankly I don't know how to tell a Qt app from any other.

    I ran the default install:

    $ sudo apt install qt5-default
    The following packages were automatically installed and are no longer required:
      libllvm11 libmlt++3 libmlt-data libmlt6 melt shim
    Use 'sudo apt autoremove' to remove them.
    The following additional packages will be installed:
      libegl-dev libgl-dev libglu1-mesa-dev libglx-dev libpthread-stubs0-dev libqt5opengl5-dev libvulkan-dev libx11-dev libxau-dev
      libxcb1-dev libxdmcp-dev libxext-dev qt5-qmake qt5-qmake-bin qtbase5-dev qtbase5-dev-tools qtchooser x11proto-core-dev
      x11proto-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
    Suggested packages:
      libx11-doc libxcb-doc libxext-doc default-libmysqlclient-dev firebird-dev libpq-dev libsqlite3-dev unixodbc-dev
    The following NEW packages will be installed:
      libegl-dev libgl-dev libglu1-mesa-dev libglx-dev libpthread-stubs0-dev libqt5opengl5-dev libvulkan-dev libx11-dev libxau-dev
      libxcb1-dev libxdmcp-dev libxext-dev qt5-default qt5-qmake qt5-qmake-bin qtbase5-dev qtbase5-dev-tools qtchooser
      x11proto-core-dev x11proto-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
    0 upgraded, 23 newly installed, 0 to remove and 3 not upgraded.
    Need to get 5,309 kB of archives.
    
    

    All the files still remain in /usr/local/lib/ (I haven't deleted them) but it appears to indeed have installed Qt 5.12.8 by the apt verbose output. Where does the correct version belong?

    Also, as a new user, I'm being limited to 10 minute intervals for posts so please bear with me.



  • @Strawberrydit said in Libraries must be deleted for Qt5 apps to work on Ubuntu 20.04:

    but it appears to indeed have installed Qt 5.12.8 by the apt verbose output. Where does the correct version belong?

    I don't know what you mean. Whatever/wherever the apt install installs is correct.



  • I'm trying to figure out if
    /usr/local/lib/
    is where the .so files are supposed to be or not. Why do these files keep reappearing and how does one prevent it?

    I just tried to run stacer and it is again not working. When running from the terminal, I get this:

    stacer: /usr/local/lib/libQt5Widgets.so.5: no version information available (required by stacer)
    stacer: /usr/local/lib/libQt5Gui.so.5: no version information available (required by stacer)
    stacer: /usr/local/lib/libQt5Gui.so.5: no version information available (required by /lib/x86_64-linux-gnu/libQt5Charts.so.5)
    stacer: /usr/local/lib/libQt5Widgets.so.5: no version information available (required by /lib/x86_64-linux-gnu/libQt5Charts.so.5)
    stacer: symbol lookup error: /lib/x86_64-linux-gnu/libQt5Charts.so.5: undefined symbol: _ZN13QOpenGLWidget5eventEP6QEvent, version Qt_5
    

    The only changes to the system that I'm aware of are simply running apt updates. It seems these files return when ever an update is performed.



  • @Strawberrydit
    Ubuntu 20.04 apt-get puts libQt* files in my /usr/lib/x86_64-linux-gnu/. /lib is a soft link to usr/lib (is yours?) so they are equivalent. Indeed the only thing I have in /usr/local/lib is python3.8/.

    I don't know why you see your behaviour. Maybe use locate libQt5 before and after apt-gets.

    I do not have libQt5Charts anything. It's an optional, try a program not using that? I still think

    stacer: symbol lookup error: /lib/x86_64-linux-gnu/libQt5Charts.so.5: undefined symbol: _ZN13QOpenGLWidget5eventEP6QEvent, version Qt_5
    

    may be indicating you have some problem about multiple versions of Qt, perhaps only for libQt5Charts calls.


Log in to reply