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

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

Open
AndKe opened this issue Apr 21, 2022 · 11 comments
Open

Comments

@AndKe
Copy link

AndKe commented Apr 21, 2022

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

@sur5r
Copy link
Contributor

sur5r commented Apr 21, 2022

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?

@AndKe
Copy link
Author

AndKe commented Apr 21, 2022

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

@sur5r
Copy link
Contributor

sur5r commented Apr 23, 2022

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.

@AndKe
Copy link
Author

AndKe commented Apr 23, 2022

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?

@sur5r
Copy link
Contributor

sur5r commented Apr 23, 2022

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.

@AndKe
Copy link
Author

AndKe commented Apr 23, 2022

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

@sur5r
Copy link
Contributor

sur5r commented Apr 24, 2022

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

@AndKe
Copy link
Author

AndKe commented Apr 24, 2022

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

@jowu598
Copy link

jowu598 commented Jul 2, 2022

useless

@sur5r
Copy link
Contributor

sur5r commented Jul 2, 2022

@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.

@AndKe
Copy link
Author

AndKe commented Jul 2, 2022

@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 :)

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

No branches or pull requests

3 participants