I’d like to upgrade Orthanc 1.3.1, which has been installed via apt package system, to the latest version, 1.4.1. The version 1.4.1 I’m compiling from the source on Ubuntu 18.04. Once compiled, what is the procedure for upgrading the Orthanc? Is it just replacing the Orthanc executable?
Also, when compiling, do I need to specify -DDCMTK_LIBRARIES=dcmjpls option? I didn’t find a good explanation what it does.
I'd like to upgrade Orthanc 1.3.1, which has been installed via apt
package system, to the latest version, 1.4.1. The version 1.4.1 I'm
compiling from the source on Ubuntu 18.04. Once compiled, what is the
procedure for upgrading the Orthanc? Is it just replacing the Orthanc
executable?
Pretty much, however you don't want to write into system-owned spaces
like /usr/bin. Prefer moving your built executable into /usr/local/bin
and either explicitly launch it using that path (e.g. by creating a new
systemd service file) and/or ensure /usr/local/bin appears before
/usr/bin in your PATH environment variable (so invoking Orthanc will
use the new version).
When Ubuntu upgrades its Orthanc package, you can just remove your own.
Make sure the plugins you use are ABI-compatible, otherwise you'll want
to re-compile them as well.
Also, when compiling, do I need to specify -DDCMTK_LIBRARIES=dcmjpls
option? I didn't find a good explanation what it does.
This is a DCMTK sub-package used in the Orthanc DICOM parser. I believe
it is required, though I haven't confirmed.
Also, when compiling, do I need to specify -DDCMTK_LIBRARIES=dcmjpls
option? I didn’t find a good explanation what it does.
This is a DCMTK sub-package used in the Orthanc DICOM parser. I believe
it is required, though I haven’t confirmed.
At least on Ubuntu 14.04 and 16.04, if compiling Orthanc without this option while dynamically linking against DCMTK, you would get the following link-time error:
Linking CXX executable Orthanc
libCoreLibrary.a(FromDcmtkBridge.cpp.o): In function Orthanc::FromDcmtkBridge::InitializeCodecs()': /home/jodogne/Subversion/orthanc/Core/DicomParsing/FromDcmtkBridge.cpp:2073: undefined reference to DJLSDecoderRegistration::registerCodecs(JLS_UIDCreation, JLS_PlanarConfiguration, bool)’
libCoreLibrary.a(FromDcmtkBridge.cpp.o): In function Orthanc::FromDcmtkBridge::FinalizeCodecs()': /home/jodogne/Subversion/orthanc/Core/DicomParsing/FromDcmtkBridge.cpp:2087: undefined reference to DJLSDecoderRegistration::cleanup()’
libCoreLibrary.a(DicomImageDecoder.cpp.o): In function Orthanc::DicomImageDecoder::Decode(Orthanc::ParsedDicomFile&, unsigned int)': /home/jodogne/Subversion/orthanc/Core/DicomParsing/Internals/DicomImageDecoder.cpp:690: undefined reference to DJLSRepresentationParameter::DJLSRepresentationParameter(unsigned short, bool)’
/home/jodogne/Subversion/orthanc/Core/DicomParsing/Internals/DicomImageDecoder.cpp:692: undefined reference to DJLSCodecParameter::DJLSCodecParameter(JLS_UIDCreation, JLS_PlanarConfiguration, bool)' /home/jodogne/Subversion/orthanc/Core/DicomParsing/Internals/DicomImageDecoder.cpp:692: undefined reference to DJLSCodecParameter::~DJLSCodecParameter()’
/home/jodogne/Subversion/orthanc/Core/DicomParsing/Internals/DicomImageDecoder.cpp:711: undefined reference to DJLSRepresentationParameter::~DJLSRepresentationParameter()' /home/jodogne/Subversion/orthanc/Core/DicomParsing/Internals/DicomImageDecoder.cpp:692: undefined reference to DJLSCodecParameter::~DJLSCodecParameter()’
/home/jodogne/Subversion/orthanc/Core/DicomParsing/Internals/DicomImageDecoder.cpp:711: undefined reference to DJLSRepresentationParameter::~DJLSRepresentationParameter()' libCoreLibrary.a(DicomImageDecoder.cpp.o): In function DJLSLosslessDecoder::DJLSLosslessDecoder()‘:
/usr/include/dcmtk/dcmjpls/djcodecd.h:321: undefined reference to DJLSDecoderBase::DJLSDecoderBase()' /usr/include/dcmtk/dcmjpls/djcodecd.h:321: undefined reference to vtable for DJLSLosslessDecoder’
libCoreLibrary.a(DicomImageDecoder.cpp.o): In function DJLSNearLosslessDecoder::DJLSNearLosslessDecoder()': /usr/include/dcmtk/dcmjpls/djcodecd.h:332: undefined reference to DJLSDecoderBase::DJLSDecoderBase()’
/usr/include/dcmtk/dcmjpls/djcodecd.h:332: undefined reference to `vtable for DJLSNearLosslessDecoder’
collect2: error: ld returned 1 exit status