Autor |
Sõnum |
mait
Pingviini aktivist

Liitunud: 14.12.2012
Postitused: 103
Asukoht: Tartu
Distributsioon: OpenSuse 12.2; 13.2, Leap

|
postitatud: 09.01.2021, 21:14 postituse pealkiri:
OpenSUSE Leap 15.2 ja ID-kaart
|
   |
|
Tervist!
OpenSUSE 15.2 on nüüd ametlikult toetatav väljalase.
Võtsin GIT-st openSC ja ID-kaardi utiliidid ja kompileerisin nagu tavaliselt (vana näide on siin https://pingviin.org/ftopic10679.html).
Libdigidoc-i kompileerib ära, aga libdigidocpp kompileerimine lõpetab veateatega:
Kood: < Vali > < Laienda > | /home/mait/src/libdigidocpp/src/crypto/TSL.cpp: In member function ‘void digidoc::TSL::validate(const std::vector<digidoc::X509Cert>&)’:
/home/mait/src/libdigidocpp/src/crypto/TSL.cpp:521:43: error: invalid conversion from ‘const char16_t*’ to ‘const XMLCh* {aka const short unsigned int*}’ [-fpermissive]
sig->registerIdAttributeName(u"ID"); |
Kui kommenteerisin katseks välja Kood: < Vali > | sig->registerIdAttributeName(u"ID"); | , siis tuli mujalt veateateid, kus leidus konstruktsioon (u"misiganes_string").
Vaatasin teeke ja need tundusid olevat seotud ning vanad ka, aga OpenSUSE 15.2 hoidlates uuemaid ei ole
libxml-security-c 1.7.3-lp152.4.7
libxerces-c-3_1 3.1.4-lp152.4.10.
Proovisin ise kompileerida ja xerces-c kompileerus, aga libxml-security-c leiab et xalan 1.11 ei sobi ja xalan-i kompileerimine lõpeb veateatega
Kood: < Vali > |
src/xalan-c/src/xalanc/XPath/MutableNodeRefList.cpp:707:12: error: ‘checkForDuplicates’ was not declared in this scope
707 | assert(checkForDuplicates(getMemoryManager()) == false);
| ^~~~~~~~~~~~~~~~~~
make[2]: *** [src/xalanc/CMakeFiles/xalan-c.dir/build.make:1445: src/xalanc/CMakeFiles/xalan-c.dir/XPath/MutableNodeRefList.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:457: src/xalanc/CMakeFiles/xalan-c.dir/all] Error 2
make: *** [Makefile:158: all] Error 2
|
Mul oli vana 2019. aasta ID-kaardi kood ja see kompileerus probleemideta. Saab kõike teha, aga alati teatab, et tarkvarast on uuendused olemas (aga nende kompileerimine nagu eespool kirjeldatud, ei õnnestu).
Mida soovitate?
|
|
|
|
|
|
|
  |
imre
Vana Pingviin


Liitunud: 16.08.2005
Postitused: 2648
Asukoht: Saku kant
Distributsioon: Ubuntu

|
|
|
  |
mait
Pingviini aktivist

Liitunud: 14.12.2012
Postitused: 103
Asukoht: Tartu
Distributsioon: OpenSuse 12.2; 13.2, Leap

|
postitatud: 13.01.2021, 00:11 postituse pealkiri:
(teema puudub)
|
   |
|
Selle vanema versiooniga jõuab peaaegu lõpuni ja neid (u"ID) sarnaseid vigu ei teki. Kui kustutasin välja varasema katsetuse käigus ise tehtud xerces-c ja muud ning panin hoidlatest pakid tagasi, siis kompileeris libdigidoc ja libdigidoc-i ära. Käsitsi pidin peale "make install" veel tegema:
Kood: < Vali > | ln -s /usr/local/lib64/libdigidocpp.so.3.14.3 /usr/lib64/libdigidocpp.so.1 |
Kõige viimase DigiDoc4-Client kompileerimisel sain Kood: < Vali > |
[ 18%] Built target TSLDownload_autogen
[ 20%] Built target TSLDownload
[ 21%] Building CXX object client/CMakeFiles/qdigidoc4.dir/DigiDoc.cpp.o
zzz/src/DigiDoc4-Client/client/DigiDoc.cpp: In member function ‘void DigiDoc::create(const QString&)’:
zzz/src/DigiDoc4-Client/client/DigiDoc.cpp:436:17: error: ‘createPtr’ is not a member of ‘digidoc::Container’
b = Container::createPtr(to(file));
^~~~~~~~~
zzz/src/DigiDoc4-Client/client/DigiDoc.cpp: In member function ‘bool DigiDoc::open(const QString&)’:
zzz/src/DigiDoc4-Client/client/DigiDoc.cpp:518:18: error: ‘openPtr’ is not a member of ‘digidoc::Container’
b = Container::openPtr(to(file));
^~~~~~~
zzz/src/DigiDoc4-Client/client/DigiDoc.cpp:530:21: error: ‘openPtr’ is not a member of ‘digidoc::Container’
b = Container::openPtr(to(tmppath));
^~~~~~~
zzz/src/DigiDoc4-Client/client/DigiDoc.cpp: In static member function ‘static void DigiDoc::parseException(const digidoc::Exception&, QStringList&, digidoc::Exception::ExceptionCode&)’:
zzz/src/DigiDoc4-Client/client/DigiDoc.cpp:560:18: error: ‘TSForbidden’ is not a member of ‘digidoc::Exception’
case Exception::TSForbidden:
^~~~~~~~~~~
zzz/src/DigiDoc4-Client/client/DigiDoc.cpp: In member function ‘void DigiDoc::setLastError(const QString&, const digidoc::Exception&)’:
zzz/src/DigiDoc4-Client/client/DigiDoc.cpp:630:18: error: ‘TSForbidden’ is not a member of ‘digidoc::Exception’
case Exception::TSForbidden:
^~~~~~~~~~~
make[2]: *** [client/CMakeFiles/qdigidoc4.dir/build.make:438: client/CMakeFiles/qdigidoc4.dir/DigiDoc.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:367: client/CMakeFiles/qdigidoc4.dir/all] Error 2
make: *** [Makefile:147: all] Error 2 |
Võtsin imre postitatud näite järgi ka selles vanema versiooni Kood: < Vali > | git clone -b v4.2.5 --recursive https://github.com/open-eid/DigiDoc4-Client.git | ja selle tegi ära.
|
|
|
|
|
|
|
  |
aarengu
Uus kasutaja

Liitunud: 17.10.2010
Postitused: 8
Distributsioon: openSUSE

|
postitatud: 14.01.2021, 10:51 postituse pealkiri:
(teema puudub)
|
   |
|
|
|
|
  |
DaStoned
Pingviini aktivist


Vanus: 43
Liitunud: 11.01.2007
Postitused: 392
Asukoht: Tallinn
Distributsioon: Debian

|
|
|
  |
mait
Pingviini aktivist

Liitunud: 14.12.2012
Postitused: 103
Asukoht: Tartu
Distributsioon: OpenSuse 12.2; 13.2, Leap

|
postitatud: 19.01.2021, 09:43 postituse pealkiri:
(teema puudub)
|
   |
|
aarengu kirjutas: < Vali > < Laienda > | |
Need on kindlasti väärt proovimiseks. Teisalt on jälle nii, et kui algkoodist kompileerimise pisik on külge jäänud, siis sellest niisama lihtsalt lahti ei saa. Lisaks on ise kompileerimisel alati võimalik midagi uut teada saada.
|
|
|
|
|
|
|
  |
jaan513
Uus kasutaja

Liitunud: 07.12.2017
Postitused: 14

|
|
|
  |
|