Compile problems on Ubuntu 13 64 bit

Great project!!

Is it possible to update to the latest version of boost, or tell me how to do it locally?

Boost 1.49 has problems with the latest version of gcc; something to do with C++0x and
UTC support.

https://bbs.archlinux.org/viewtopic.php?pid=1126374

Thanks!
Aaron

Dear Aaron,

Thanks for your feedback!

I am currently working on a refactoring of the CMake options, which are not flexible enough. As of Orthanc 0.5.3, it should hopefully be possible to dynamically link against Boost while statically linking against the other third-party components (which is not possible with Orthanc 0.5.2).

For the time being, I would suggest you to manually modify the “Resources/CMake/BoostConfiguration.cmake” file in order to remove the first test on “if (${STATIC_BUILD})”, keeping only the “else()…endif()” section. This would make Orthanc use your system version of Boost 1.53.0.

HTH,
Sébastien-

Thanks, Sebastien. I still want the static link. I just want the cmake script to download another version of boost (1.53.0).
Is this possible.

Thanks again,
Aaron

OK, you will find the required patch for Orthanc 0.5.2 attached to this message.

The patch can be applied with the following command:

patch -p0 < Orthanc-0.5.2-boost-1.53.patch

HTH,
Sébastien-

Orthanc-0.5.2-boost-1.53.patch (5.97 KB)

Thanks, I will give this a try.

BTW, have you considered using GDCM (grassroots dicom) instead of DCMTK?
It is actively developed, used by Osirix. Seems more “modern”.

Also, any thoughts about moving code to Github?

Cheers,
Aaron

Aaron,
a good suggestion use, GDCM.
the license DCMTK is not very open.
ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk360/COPYRIGHT

sincerely,
vinicius

BTW, have you considered using GDCM (grassroots dicom) instead of DCMTK?
It is actively developed, used by Osirix. Seems more “modern”.

Unfortunately, although I agree that GDCM has a more modern and simpler API, it does not currently support the server-side DICOM protocol (SCP part). So, GDCM does not currently provide the necessary primitives to implement a DICOM store.

Also, any thoughts about moving code to Github?

I think that Google Code provides all the necessary features to house this project. What would a move to GitHub bring?

the license DCMTK is not very open.

ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk360/COPYRIGHT

DCMTK is released under a BSD-3-Clause license:
http://www.ohloh.net/p/dcmtk

This is a totally open licensing scheme, even for commercial projects, and it is compatible with the GPL license. BTW, GDCM is also released under a BSD license.

Thanks for the patch.

I was able to build Orthanc 0.5.2 using static build…
Unfortunately, I get an exception after the HTTP server starts:

“…terminated after throwing exception of type Orthanc::OrthancException.”

How to debug?

Thanks,
Aaron

I was able to build Orthanc 0.5.2 using static build…
Unfortunately, I get an exception after the HTTP server starts:
“…terminated after throwing exception of type Orthanc::OrthancException.”
How to debug?

The first thing to try is to add the “–verbose” and the “–trace” options at the command line to obtain more information about the problem:

./Orthanc --verbose

./Orthanc --trace

Make sure your configuration file (if any) is well-formatted: Just try to start Orthanc without any configuration file.

Make sure the default TCP ports (8042 and 4242) are not already used by another software:

netstat -tulpn | grep :8042

netstat -tulpn | grep :4242

If this does not help, maybe you have moved the Orthanc binary from the build directory to another place in your filesystem (e.g. “/usr/bin”). If this is the case, you have to compile Orthanc with the STANDALONE_BUILD option:

cmake -DSTATIC_BUILD=ON -DSTANDALONE_BUILD=ON -DCMAKE_BUILD_TYPE=Debug

If it is not sufficient, you will have to use the three most useful Linux debugging tools: gdb, valgrind and possibly strace:

gdb --args ./Orthanc --verbose

=> enter “catch t”, then “run”, and finally “bt” when the exception occurs to inspect the stack.

valgrind ./Orthanc --verbose

strace ./Orthanc

Make sure that the option “-DCMAKE_BUILD_TYPE=Debug” was used in CMake to obtain detailed debug information. Please send me these reports if cannot figure what happens by yourself.

HTH,
Sébastien-

Well, I tried on ubuntu 13 and ubuntu12 (64 bit), and I get lexical cast exceptions on both.

What versions of linux has orthanc been tested on?

Thanks,
Aaron

Hi,

Orthanc is actively developed under Ubuntu 11.10 and Ubuntu 12.10 (64 bits). We also carry on thorough unit and integration testing with Windows XP, Fedora 18, Debian Sid and Debian Squeeze.

In your case, I would rather suspect either a bad configuration file, or a corrupted SQLite database. Please give a try removing your “OrthancStorage” folder, and not using any configuration file.

Sébastien-

To conclude this discussion, the problem has been solved by Aaron by adding the “-DSTANDALONE_BUILD=ON” option at the CMake invokation.