glabels-qt icon indicating copy to clipboard operation
glabels-qt copied to clipboard

symbol lookup error: glabels-qt: undefined symbol: _ZdlPvm, version Qt_5

Open AndKe opened this issue 3 years ago • 11 comments

Built, installed, got an error on attempt to run (Ubuntu)

build$ glabels-qt 
glabels-qt: symbol lookup error: glabels-qt: undefined symbol: _ZdlPvm, version Qt_5

AndKe avatar Apr 21 '22 16:04 AndKe

Which version of Ubuntu did this happen on? Is you system up to date w.r.t to that version? Do you have any backports installed? What's the output of cmake w.r.t detected versions?

sur5r avatar Apr 21 '22 18:04 sur5r

Just upgraded from Ubuntu 21.10 to 22.04 I guess what you ask is somewhere here:

$ cmake ..
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
fatal: not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
-- 
-- Project name ............ glabels-qt
-- Project version ......... 3.99-Unkonwn? (exported 2022-04-21)
-- Installation prefix ..... /usr/local
-- Source code location .... /home/andre/Downloads/glabels-qt/glabels
-- CMake version ........... 3.22.1
-- C++ Compiler ............ GNU /usr/lib/ccache/c++ 11.2.0
-- Qt version .............. 5.15.2
-- zlib (optional).......... 1.2.11
-- GNU Barcode (optional)... No.
-- qrencode (optional)...... 4.0.2
-- libzint (optional)....... No.
-- QtTest (optional)........ 5.15.2
-- 
-- Configuring done
-- Generating done

AndKe avatar Apr 21 '22 19:04 AndKe

I just did a build in a fresh 22.04 chroot and could not reproduce the error. But I saw you are using ccache. Please try building without or emptying your cache beforehand. While I would consider ccache robust, I'm not sure whether its cache is supposed to survive OS updates like that.

sur5r avatar Apr 23 '22 12:04 sur5r

I did a ccache -C - make clean, then rebuilt - no difference. there's another interesting thing... maybe: I am using QT Community edition with QT 5.12.2 (due to another project) Could that be the reason?

AndKe avatar Apr 23 '22 14:04 AndKe

So that's another Qt build, not the one shipped with Ubuntu? Possibly.

Could you try the workaround from https://stackoverflow.com/questions/53022608/application-crashes-with-symbol-zdlpvm-version-qt-5-not-defined-in-file-libqt?

Quoting from the answer:

I had the same issue with Qt 5.11.2 from KDE Neon. But no problem with the official Qt 5.11.2 SDK. If I add this flag to the project: QMAKE_CXXFLAGS += "-fno-sized-deallocation", eveything works again. I believe that if you compile your program as c++14 or above, the code will try to do a sized deallocation. Because compiling with -std=c++11 doesn't cause this issue.

Probably, Qt from KDE Neon was compiled as C++11.

sur5r avatar Apr 23 '22 14:04 sur5r

Gladly, but where do I put the QMAKE_CXXFLAGS += "-fno-sized-deallocation" ?

AndKe avatar Apr 23 '22 16:04 AndKe

Call cmake like this: CXXFLAGS="-fno-sized-deallocation" cmake

sur5r avatar Apr 24 '22 13:04 sur5r

Unfortunately - That did not make any difference. (and I did make clean and ccache -C too)

AndKe avatar Apr 24 '22 17:04 AndKe

useless

jowu598 avatar Jul 02 '22 11:07 jowu598

@AndKe What does ldd report for the resulting binary? Is it looking for Qt in the right place? Maybe you are building against one version of Qt and try to run it using the other.

sur5r avatar Jul 02 '22 12:07 sur5r

@sur5r , I am on vacation till 1August. And can't see how/if I managed to meke it work. I am using qt-community and have only 5.12.x installed. Using it for two other projects, and those compile/work fine. I am not sure whatever I ever got glabels-qt to compile, it's quite possible I am just using an appimage that I've found. I also use the old glabels (not Qt version) one reason for that was so simple at ctrl-p to print, less clicking :)

AndKe avatar Jul 02 '22 12:07 AndKe