Orthanc build error

Hello Sebastien,
as usually, on a rolling release we see new developments and new build errors first. Orthanc currently fails to build:

[   42s] /home/abuild/rpmbuild/BUILD/Orthanc-1.12.4/OrthancServer/Plugins/Samples/DelayedDeletion/../../../../OrthancFramework/Sources/Toolbox.cpp:821:21: error: cannot convert ‘unsigned int [5]’ to ‘unsigned char (&)[20]’
[   42s]   821 |     sha1.get_digest(digest);
[   42s]       |                     ^~~~~~
[   42s]       |                     |
[   42s]       |                     unsigned int [5]
[   42s] In file included from /home/abuild/rpmbuild/BUILD/Orthanc-1.12.4/OrthancServer/Plugins/Samples/DelayedDeletion/../../../../OrthancFramework/Sources/Toolbox.cpp:69:
[   42s] /usr/include/boost/uuid/detail/sha1.hpp:179:43: note:   initializing argument 1 of ‘void boost::uuids::detail::sha1::get_digest(unsigned char (&)[20])’
[   42s]   179 | inline void sha1::get_digest(digest_type& digest)
[   42s]       |                              ~~~~~~~~~~~~~^~~~~~
[   42s] make[2]: *** [CMakeFiles/DelayedDeletion.dir/build
.make:107: CMakeFiles/DelayedDeletion.dir/Plugins/Samples/DelayedDeletion/OrthancFrameworkDependencies.cpp.o] Error 1

Full log:

Cheers
Axel

Hi Axel,

I have made this change that should hopefully fix your build issue.

Best regards,

Alain

Thank you Alain!
However, I see now 2 failing tests in Toolbox:

[  270s] [ RUN      ] Toolbox.IsSHA1
[  270s] /home/abuild/rpmbuild/BUILD/Orthanc-1.12.4/OrthancFramework/UnitTestsSources/FrameworkTests.cpp:100: Failure
[  270s] Expected equality of these values:
[  270s]   "2fd4e1c6-7a2d28fc-ed849ee1-bb76e739-1b93eb12"
[  270s]   s
[  270s]     Which is: "c6e1d42f-fc282d7a-e19e84ed-39e776bb-12eb931b"
[  270s] 
[  270s] [  FAILED  ] Toolbox.IsSHA1 (0 ms)
[  270s] [ RUN      ] Toolbox.ComputeMD5
[  270s] [       OK ] Toolbox.ComputeMD5 (0 ms)
[  270s] [ RUN      ] Toolbox.ComputeSHA1
[  270s] /home/abuild/rpmbuild/BUILD/Orthanc-1.12.4/OrthancFramework/UnitTestsSources/FrameworkTests.cpp:407: Failure
[  270s] Expected equality of these values:
[  270s]   "2fd4e1c6-7a2d28fc-ed849ee1-bb76e739-1b93eb12"
[  270s]   s
[  270s]     Which is: "c6e1d42f-fc282d7a-e19e84ed-39e776bb-12eb931b"
[  270s] 
[  270s] [  FAILED  ] Toolbox.ComputeSHA1 (0 ms)

Is this maybe from the openssl version used?

Hi Axel,

I have now added full support for Boost 1.86 and therefore I could run the unit tests on my side and this should be fine now.

Best,

Alain.

Thank you Alain.
It seems that you are some commits ahead of 1.12.4, already the first entry in the diff which patches the NEWS file fails…
So I wait for the 1.12.5 release
Thanks
Axel

Hello Alain,
of course I did not :wink: I modified the patch a bit and now it is working fine on Tumbleweed with the GCC14 compiler and libboost 86
However, same source fails on Leap with gcc13 and an older libboost (66):

[   46s] /home/abuild/rpmbuild/BUILD/Orthanc-1.12.4/OrthancServer/Plugins/Samples/DelayedDeletion/../../../../OrthancFramework/Sources/Toolbox.cpp:840:28: error: expected ';' before ')' token
[   46s]   840 |     sha1.get_digest(digest));
[   46s]       |                            ^
[   46s]       |                            ;
[   46s] make[2]: *** [CMakeFiles/DelayedDeletion.dir/build.make:107: CMakeFiles/DelayedDeletion.dir/Plugins/Samples/DelayedDeletion/OrthancFrameworkDependencies.cpp.o] Error 1
[   46s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/Orthanc-1.12.4/build'
[   46s] make[1]: *** [CMakeFiles/Makefile2:403: CMakeFiles/DelayedDeletion.dir/all] Error 2

Any ideas?
Thanks
Axel

Hi Axel,

This has been fixed last week with this commit: orthanc: 122fd5f97d39

Alain