Orthanc 1.7.1 stops running when using dicomweb plugin

Hi Authors,

I compiled dicomweb plugin (https://hg.orthanc-server.com/orthanc-dicomweb) on machine-1 host and copied libOrthancDicomWeb.so to another host (machine-2) where Orthanc 1.7.1 is running. But Orthanc 1.7.1 denied to register the compiled libOrthancDicomWeb.so. Here is the log

I0811 21:43:28.048241 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/servers
I0811 21:43:28.048252 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/servers/([^/])
I0811 21:43:28.048264 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/servers/([^/]
)/stow
I0811 21:43:28.048275 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/servers/([^/])/wado
I0811 21:43:28.048288 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/servers/([^/]
)/get
I0811 21:43:28.048302 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/servers/([^/])/retrieve
I0811 21:43:28.048315 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/servers/([^/]
)/qido
I0811 21:43:28.048328 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/servers/([^/])/delete
I0811 21:43:28.048341 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/app/libs/(.
)
I0811 21:43:28.048353 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/info
I0811 21:43:28.048365 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/studies/([^/])/rendered
I0811 21:43:28.048393 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/studies/([^/]
)/series/([^/])/rendered
I0811 21:43:28.048408 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/studies/([^/]
)/series/([^/])/instances/([^/])/rendered
I0811 21:43:28.048424 OrthancPlugins.cpp:2008] Plugin has registered a REST callback without mutual exclusion on: /wado-rs/studies/([^/])/series/([^/])/instances/([^/])/frames/([^/])/rendered
E0811 21:43:28.048484 PluginsManager.cpp:164] The specified path does not point to a regular file: The path does not point to a regular file: /home/machine-1/workingspace/orthanc-dicomweb/WebApplication/…/Plugin/OrthancExplorer.js
E0811 21:43:28.048582 PluginsManager.cpp:164] Exception while initializing the DICOMweb plugin: The specified path does not point to a regular file
E0811 21:43:28.048605 PluginsManager.cpp:102] Error while initializing plugin ./…/orthanc-plugins/libOrthancDicomWeb.so (code -1)
W0811 21:43:28.048734 PluginsManager.cpp:219] Unregistering plugin ‘web-viewer’ (version mainline)
W0811 21:43:28.048762 PluginsManager.cpp:168] Finalizing the Web viewer
E0811 21:43:30.054676 main.cpp:1651] Uncaught exception, stopping now: [Error while using a shared library (plugin)] (code 25)
W0811 21:43:30.054770 main.cpp:1684] Orthanc has stopped

Seems like the OrthancDicomWeb plugin cannot find the path “/home/machine-1/workingspace/orthanc-dicomweb/” where I cloned and compiled source code. I used the guide at https://book.orthanc-server.com/plugins/dicomweb.html to compile the source code. Can you please help to advise how can I void this issue ?

You must add the option “-DSTANDALONE_BUILD=ON” when calling CMake.

Probably irrelevant, or maybe somehow related. I noticed on some of the builds that I have done that there are 2 .so files created on LINUX UBUNTU.

e.g. libOrthancMySQLStorage.so and libOrthancMySQLStorage.so.2.0, where the first is a link to the second. Can that cause a problem and why is that ? There are others that I think say mainline.

Thanks.

No, this is unrelated: It is normal to have 2 symbolic links to the shared library on GNU/Linux system.

Pull the mainline from our Mercurial server, and set “-DSTANDALONE_BUILD=ON”.