Closed pifagor87 closed 1 week ago
You need update libdigidocpp code
Hello @metsma , thanks for the answer
I install libdigidocpp, and then use " /usr/local/bin/digidoc-tool"
I get
/usr/local/bin/digidoc-tool: symbol lookup error: /usr/local/bin/digidoc-tool: undefined symbol: _ZN7digidoc9Container7openPtrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS_15ContainerOpenCBE
Versions
libxml-security-c20: Installed: 2.0.4-4RIA0 Candidate: 2.0.4-4RIA0 Version table: *** 2.0.4-4RIA0 500 500 https://installer.id.ee/media/ubuntu jammy/main amd64 Packages 100 /var/lib/dpkg/status 2.0.4-1build1 500 500 http://ua.archive.ubuntu.com/ubuntu jammy/universe amd64 Package
and
libdigidocpp1: Installed: 3.16.0.1442-2204 Candidate: 3.16.0.1442-2204 Version table: *** 3.16.0.1442-2204 500 500 https://installer.id.ee/media/ubuntu jammy/main amd64 Packages 100 /var/lib/dpkg/status
After I use in DigiDoc4-Client
cmake --build build
I get a new error
Linking CXX executable qdigidoc4 /usr/bin/ld: /tmp/cc8FZ0wb.ltrans4.ltrans.o: in function `DigiDoc::open(QString const&)::{lambda()#1}::operator()() const':
:(.text+0x127351): undefined reference to `digidoc::Container::openPtr(std::__cxx11::basic_string , std::allocator > const&, digidoc::ContainerOpenCB*)' /usr/bin/ld: :(.text+0x12777f): undefined reference to `digidoc::Container::openPtr(std::__cxx11::basic_string , std::allocator > const&, digidoc::ContainerOpenCB*)' collect2: error: ld returned 1 exit status gmake[2]: *** [client/CMakeFiles/qdigidoc4.dir/build.make:1504: client/qdigidoc4] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:324: client/CMakeFiles/qdigidoc4.dir/all] Error 2 gmake: *** [Makefile:156: all] Error 2
/usr/local/bin/digidoc-tool: symbol lookup error: /usr/local/bin/digidoc-tool: undefined symbol: _ZN7digidoc9Container7openPtrERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS_15ContainerOpenCBE Versions
This hints that you have built digidoc-tool from source and libdigidocpp.1 libarary is not to up to date.
Probably you need run sudo ldconfig
or the /usr/local/lib is not in ld.config
Closing due inactivity, reopen if needed.
I use Ubuntu 22.04.3 LTS When I run
cmake -B build -S .
Everything works well. When I runcmake --build build
I get errorsBuilding CXX object client/CMakeFiles/qdigidoc4.dir/DigiDoc.cpp.o /home/pifagor/DigiDoc4-Client/client/DigiDoc.cpp:50:1: error: expected class-name before ‘{’ token 50 | { | ^ /home/pifagor/DigiDoc4-Client/client/DigiDoc.cpp:53:14: error: ‘bool ServiceConfirmation::validateOnline() const’ marked ‘final’, but is not virtual 53 | bool validateOnline() const final { | ^~~~~~~~~~~~~~ /home/pifagor/DigiDoc4-Client/client/DigiDoc.cpp: In lambda function: /home/pifagor/DigiDoc4-Client/client/DigiDoc.cpp:518:47: error: no matching function for call to ‘digidoc::Container::openPtr(std::string, ServiceConfirmation*)’ 518 | b = Container::openPtr(to(file), &cb); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ In file included from /home/pifagor/DigiDoc4-Client/client/DigiDoc.h:24, from /home/pifagor/DigiDoc4-Client/client/DigiDoc.cpp:20: /usr/include/digidocpp/Container.h:68:39: note: candidate: ‘static std::unique_ptr<digidoc::Container> digidoc::Container::openPtr(const string&)’ 68 | static std::unique_ptr<Container> openPtr(const std::string &path); | ^~~~~~~ /usr/include/digidocpp/Container.h:68:39: note: candidate expects 1 argument, 2 provided /home/pifagor/DigiDoc4-Client/client/DigiDoc.cpp:532:110: error: no matching function for call to ‘digidoc::Container::openPtr(std::string, ServiceConfirmation*)’ 532 | parentContainer = std::exchange(b, Container::openPtr(to(tmppath), &cb)); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from /home/pifagor/DigiDoc4-Client/client/DigiDoc.h:24, from /home/pifagor/DigiDoc4-Client/client/DigiDoc.cpp:20: /usr/include/digidocpp/Container.h:68:39: note: candidate: ‘static std::unique_ptr<digidoc::Container> digidoc::Container::openPtr(const string&)’ 68 | static std::unique_ptr<Container> openPtr(const std::string &path); | ^~~~~~~ /usr/include/digidocpp/Container.h:68:39: note: candidate expects 1 argument, 2 provided gmake[2]: *** [client/CMakeFiles/qdigidoc4.dir/build.make:999: client/CMakeFiles/qdigidoc4.dir/DigiDoc.cpp.o] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:324: client/CMakeFiles/qdigidoc4.dir/all] Error 2 gmake: *** [Makefile:156: all] Error 2