Compile problems on Ubuntu 13 64 bit

169 views
Skip to first unread message

Aaron Boxer

unread,
May 18, 2013, 10:58:46 AM5/18/13
to orthan...@googlegroups.com
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.



Thanks!
Aaron



Sébastien Jodogne

unread,
May 20, 2013, 6:02:00 AM5/20/13
to orthan...@googlegroups.com
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-

Aaron Boxer

unread,
May 20, 2013, 10:50:35 PM5/20/13
to orthan...@googlegroups.com
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

Sébastien Jodogne

unread,
May 21, 2013, 3:35:51 AM5/21/13
to orthan...@googlegroups.com
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

Aaron Boxer

unread,
May 22, 2013, 8:12:01 AM5/22/13
to orthan...@googlegroups.com
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

Vinicius Vollrath

unread,
May 22, 2013, 8:35:51 AM5/22/13
to orthan...@googlegroups.com
Aaron,
a good suggestion use, GDCM.
the license DCMTK is not very open.

sincerely,
vinicius

Sébastien Jodogne

unread,
May 22, 2013, 9:05:44 AM5/22/13
to orthan...@googlegroups.com

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?

Sébastien Jodogne

unread,
May 22, 2013, 9:09:31 AM5/22/13
to orthan...@googlegroups.com
DCMTK is released under a BSD-3-Clause license:

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.

Aaron Boxer

unread,
May 23, 2013, 12:13:58 AM5/23/13
to orthan...@googlegroups.com
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

Sébastien Jodogne

unread,
May 23, 2013, 3:02:37 AM5/23/13
to orthan...@googlegroups.com

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-

Aaron Boxer

unread,
May 23, 2013, 12:20:07 PM5/23/13
to Sébastien Jodogne, orthan...@googlegroups.com
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

Sébastien Jodogne

unread,
May 24, 2013, 4:24:09 AM5/24/13
to orthan...@googlegroups.com, Sébastien Jodogne
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-

Sébastien Jodogne

unread,
May 24, 2013, 11:38:23 AM5/24/13
to orthan...@googlegroups.com, Sébastien Jodogne
To conclude this discussion, the problem has been solved by Aaron by adding the "-DSTANDALONE_BUILD=ON" option at the CMake invokation.
Reply all
Reply to author
Forward
0 new messages