imp and actionstatemachine requires linking with specific viewers
About you
camitk developer
Overview
imp and actionstatemachine requires linking with specific viewers. This means they are linked to for instance medicalimageviewer lib. This is not admissible as this means LD_LIBRARY_PATH has to be modified to include lib/camitk-x.y/viewers which is not a standard or easy thing to set.
Steps to Reproduce
ldd -r bin/camitk-imp
shows the dependencies
Actual VS Expected Result
sdk applications should not have to be linked to viewers.
Note This might be ok for CEP applications (very rare case, see tutorials/applications/fancy
for an example where this might be required).
Relevant logs and/or screenshots
Test using docker:
$ docker pull gricad-registry.univ-grenoble-alpes.fr/camitk/camitk/camitk-lts:5.1
$ docker run --privileged=true --rm -v /tmp/.X11-unix:/tmp/.X11-unix -v ./build:/home/camitk/build -w /home/camitk/build -e "LD_LIBRARY_PATH=/home/camitk/build/lib" -e "DISPLAY=:0" -ti gricad-registry.univ-grenoble-alpes.fr/camitk/camitk/camitk-lts:5.1 bin/camitk-config --version
bin/camitk-config build using CamiTK 5.1.dev.develop.db3bf90b
$ docker run --privileged=true --rm -v /tmp/.X11-unix:/tmp/.X11-unix -v ./build:/home/camitk/build -w /home/camitk/build -e "LD_LIBRARY_PATH=/home/camitk/build/lib" -e "DISPLAY=:0" -ti gricad-registry.univ-grenoble-alpes.fr/camitk/camitk/camitk-lts:5.1 bin/camitk-imp --version
bin/camitk-imp: error while loading shared libraries: libactionviewer.so.5: cannot open shared object file: No such file or directory
Interpretation & Possible fixes
For sdk application only user Viewer
API and do not use specific method.
That might means a rewrite of MedicalImageViewer::setToolbarAutoVisibility
and MedicalImageViewer::setToolBarVisibility
Even if this might mean few duplicated lines, check if it possible to also remove dependencies to Medical Image Viewer in tutorials/applications/fancy
as well.
CamiTK Version
CamiTK 5.1.dev.develop.db3bf90b
please do not remove anything below this line