[SOLVED] Slackware 14.1 x64 -- Qt 5.2.1 -- Failing to compile 32bit code. KDE applets issues.
SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Slackware 14.1 x64 -- Qt 5.2.1 -- Failing to compile 32bit code. KDE applets issues.
I recently installed slackware 14.1 on a development station. I work on both 32bit and 64bit projects. The compiler option -m32 was not working, so I installed multilib and got the latest 32 bit libraries.
Now I don't have an issue with getting code to start to compile but I do get an error saying the version found libQt5Core.so is not compatible with -lQt5Core.
Additionally, I have XFCE window manager installed. XFCE uses some KDE applets, such as KUser, Konsole, KTimer, KWrite, etc. Seeing how KDE was developed in Qt, none of these programs work.
Observations: when running for example, kuser from command line, I get an error:
error while loading shared libraries: libQtNetwork.so.4: cannot open shared object file: No such file or directory.
I have uninstalled Qt 4 upon installing Slackware, mainly because I need to use Qt 5 for my projects. I am wondering if the Qt 5 libraries are not compatible with Qt 4. <-- that seems silly. But regardless, the multilib contains a Qt 4 compatibility library. So unless the issue is that I am missing the Qt 4 64 bit library I am at a loss.
Things I have done:
-Copied all Qt*.pc files to the /usr/lib64/pkgconfig/ so that when running pkg-config --modversion Qt5Core it actually works, previously it was not.
If anyone has had a similar issue and can advise it would be greatly appreciated.
You can not use Qt 5 with Slackware's packages because they depend on Qt 4. Yes, they are incompatible.
Once you removed Slackware's qt4 package all those programs that depend on it (all of KDE for instance) stopped working.
skipping incompatible /opt/Qt/5.2.1/gcc_64/lib/libQt5Core.so when searching for -lQt5Core
cannot find -lQt5Core
This looks like you are on a multilib system and the linker skips the version of a library that it can not use (for instance if you are compiling a 32-bit program the linker will skip any 64-bit library with the message "skipping incompatible library").
The "cannot find -lQt5Core" which follows next seems to indicate that you are compiling a 32-bit program but forgot to install 32-bit Qt5 libraries on your multilib system.
The issue with the Qt 32bit libraries is what I was suspecting. Presently the multilib available from alien only contains qt-4.8.5. I am thinking I may just have to download Qt 5 32bit. <-- I will then have 3 installations of Qt. Is there a way I can generate my own Qt compat32 for Qt 5? I am presently searching the Qt site for version 5 libraries.
**It would be nice if you could do this from the Qt Maintenance Tool. Perhaps I will have to suggest that on their forum**
If you have a 32-bit Qt5 package for Slackware, you can create a compat32 version of it that you can install on your multilib Slackware.
You can compile the 32-bit Qt5 package on that multilib computer, no need for a separate 32-bit Slackware computer. For example (actual package name will likely differ but the i486 versus x86_64 is accurate):