Source: orthanc Version: 1.10.1+dfsg-1 Severity: serious Tags: ftbfs Justification: fails to build from source (but built successfully in the past) X-Debbugs-Cc: jo...@debian.org, ma...@debian.org
Hi, orthanc FTBFS with dcmtk 3.6.7 from unstable: /<<PKGBUILDDIR>>/OrthancFramework/Sources/DicomNetworking/Internals/DicomTls.cpp:110:118: error: ‘TCS_ok’ was not declared in this scope 110 | if (tls->addTrustedCertificateFile(trustedCertificatesPath.c_str(), DCF_Filetype_PEM /*opt_keyFi leFormat*/) != TCS_ok) | ^~~~~~ /<<PKGBUILDDIR>>/OrthancFramework/Sources/DicomNetworking/Internals/DicomTls.cpp:116:104: error: ‘TCS_ok’ was not declared in this scope 116 | if (tls->setPrivateKeyFile(ownPrivateKeyPath.c_str(), DCF_Filetype_PEM /*opt_keyFileFormat*/) != TCS_ok) | ^~~~~~ /<<PKGBUILDDIR>>/OrthancFramework/Sources/DicomNetworking/Internals/DicomTls.cpp:122:106: error: ‘TCS_ok’ was not declared in this scope 122 | if (tls->setCertificateFile(ownCertificatePath.c_str(), DCF_Filetype_PEM /*opt_keyFileFormat*/) != TCS_ok) | ^~~~~~ /<<PKGBUILDDIR>>/OrthancFramework/Sources/DicomNetworking/Internals/DicomTls.cpp:135:72: error: ‘TCS_ok’ was n ot declared in this scope 135 | if (tls->setTLSProfile(TSP_Profile_BCP195 /*opt_tlsProfile*/) != TCS_ok) | ^~~~~~ /<<PKGBUILDDIR>>/OrthancFramework/Sources/DicomNetworking/Internals/DicomTls.cpp:140:36: error: could not convert ‘DcmTLSTransportLayer::activateCipherSuites()()’ from ‘OFCondition’ to ‘bool’ 140 | if (tls->activateCipherSuites()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ | | | OFCondition make[4]: *** [CMakeFiles/OrthancFramework.dir/build.make:1941: CMakeFiles/OrthancFramework.dir/<<PKGBUILDDIR>>/OrthancFramework/Sources/DicomNetworking/Internals/DicomTls.cpp.o] Error 1 The attached debdiff fixes above problem but the testsuite still fails with: [100%] Linking CXX executable UnitTests /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libdcmdata.so: undefined reference to symbol 'inflateEnd' /usr/bin/ld: /lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Maybe this has to be fixed in dcmtk but I'm not sure. Because my patch is not complete I'm not tagging this bug with patch. Thanks! cheers, josch
diff -Nru orthanc-1.10.1+dfsg/debian/changelog orthanc-1.10.1+dfsg/debian/changelog --- orthanc-1.10.1+dfsg/debian/changelog 2022-03-23 21:05:58.000000000 +0100 +++ orthanc-1.10.1+dfsg/debian/changelog 2022-05-04 10:13:08.000000000 +0200 @@ -1,3 +1,10 @@ +orthanc (1.10.1+dfsg-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * add patch to build with dcmtk >= 3.6.7 (closes: #XXXXXXX) + + -- Johannes Schauer Marin Rodrigues <jo...@debian.org> Wed, 04 May 2022 10:13:08 +0200 + orthanc (1.10.1+dfsg-1) unstable; urgency=medium * New upstream version diff -Nru orthanc-1.10.1+dfsg/debian/patches/dcmtk-3.6.7 orthanc-1.10.1+dfsg/debian/patches/dcmtk-3.6.7 --- orthanc-1.10.1+dfsg/debian/patches/dcmtk-3.6.7 1970-01-01 01:00:00.000000000 +0100 +++ orthanc-1.10.1+dfsg/debian/patches/dcmtk-3.6.7 2022-05-04 10:13:08.000000000 +0200 @@ -0,0 +1,40 @@ +--- a/OrthancFramework/Sources/DicomNetworking/Internals/DicomTls.cpp ++++ b/OrthancFramework/Sources/DicomNetworking/Internals/DicomTls.cpp +@@ -107,19 +107,19 @@ namespace Orthanc + new DcmTLSTransportLayer(tmpRole /*opt_networkRole*/, NULL /*opt_readSeedFile*/, + OFFalse /*initializeOpenSSL, done by Orthanc::Toolbox::InitializeOpenSsl()*/)); + +- if (tls->addTrustedCertificateFile(trustedCertificatesPath.c_str(), DCF_Filetype_PEM /*opt_keyFileFormat*/) != TCS_ok) ++ if (tls->addTrustedCertificateFile(trustedCertificatesPath.c_str(), DCF_Filetype_PEM /*opt_keyFileFormat*/).bad()) + { + throw OrthancException(ErrorCode_BadFileFormat, "Cannot parse PEM file with trusted certificates for DICOM TLS: " + + trustedCertificatesPath); + } + +- if (tls->setPrivateKeyFile(ownPrivateKeyPath.c_str(), DCF_Filetype_PEM /*opt_keyFileFormat*/) != TCS_ok) ++ if (tls->setPrivateKeyFile(ownPrivateKeyPath.c_str(), DCF_Filetype_PEM /*opt_keyFileFormat*/).bad()) + { + throw OrthancException(ErrorCode_BadFileFormat, "Cannot parse PEM file with private key for DICOM TLS: " + + ownPrivateKeyPath); + } + +- if (tls->setCertificateFile(ownCertificatePath.c_str(), DCF_Filetype_PEM /*opt_keyFileFormat*/) != TCS_ok) ++ if (tls->setCertificateFile(ownCertificatePath.c_str(), DCF_Filetype_PEM /*opt_keyFileFormat*/).bad()) + { + throw OrthancException(ErrorCode_BadFileFormat, "Cannot parse PEM file with own certificate for DICOM TLS: " + + ownCertificatePath); +@@ -132,12 +132,12 @@ namespace Orthanc + } + + #if DCMTK_VERSION_NUMBER >= 364 +- if (tls->setTLSProfile(TSP_Profile_BCP195 /*opt_tlsProfile*/) != TCS_ok) ++ if (tls->setTLSProfile(TSP_Profile_BCP195 /*opt_tlsProfile*/).bad()) + { + throw OrthancException(ErrorCode_InternalError, "Cannot set the DICOM TLS profile"); + } + +- if (tls->activateCipherSuites()) ++ if (tls->activateCipherSuites().good()) + { + throw OrthancException(ErrorCode_InternalError, "Cannot activate the cipher suites for DICOM TLS"); + } diff -Nru orthanc-1.10.1+dfsg/debian/patches/series orthanc-1.10.1+dfsg/debian/patches/series --- orthanc-1.10.1+dfsg/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ orthanc-1.10.1+dfsg/debian/patches/series 2022-05-04 10:11:02.000000000 +0200 @@ -0,0 +1 @@ +dcmtk-3.6.7