Report: if Slicer's super build dir is in a softly linked dir

Dear All,

I’m doing a case report on building slicer in a soft-ly linked dir.

I have two hard drives with typical config: one fast and small, one big and slow.
My home dir is on the fast disk, mounted at:
/home/gaoyi

The big disk is mounted at:
/media/gaoyi/data

I have a softlink in my home dir to the big disk:
/home/gaoyi/big --> /media/gaoyi/data/gaoyi/

I put Slicer on the big disk:
/media/gaoyi/data/gaoyi/namic/rls20191103/Slicer
so it’s also:
/home/gaoyi/big/namic/rls20191103/Slicer

I then did all the operation in the soft-ly linked foler, like mkdir for the super-build
/home/gaoyi/big/namic/rls20191103/Slicer-sb

But building gives errors from python, like:


CMake Error at /home/pv/usr/work/namic/rls20191103/sb-rls/python-pythonqt-requirements-prefix/src/python-pythonqt-requirements-stamp/python-pythonqt-requirements-install-Release.cmake:49 (message):
Command failed: 1

‘/home/pv/usr/work/namic/rls20191103/sb-rls/python-install/bin/PythonSlicer’ ‘-m’ ‘pip’ ‘install’ ‘–require-hashes’ ‘-r’ ‘/home/pv/usr/work/namic/rls20191103/sb-rls/python-pythonqt-requirements-requirements.txt’

See also

/home/pv/usr/work/namic/rls20191103/sb-rls/python-pythonqt-requirements-prefix/src/python-pythonqt-requirements-stamp/python-pythonqt-requirements-install-*.log

CMakeFiles/python-pythonqt-requirements.dir/build.make:74: recipe for target ‘python-pythonqt-requirements-prefix/src/python-pythonqt-requirements-stamp/python-pythonqt-requirements-install’ failed
make[2]: *** [python-pythonqt-requirements-prefix/src/python-pythonqt-requirements-stamp/python-pythonqt-requirements-install] Error 1
CMakeFiles/Makefile2:257: recipe for target ‘CMakeFiles/python-pythonqt-requirements.dir/all’ failed
make[1]: *** [CMakeFiles/python-pythonqt-requirements.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
CMake Error at /home/pv/usr/work/namic/rls20191103/sb-rls/python-dicom-requirements-prefix/src/python-dicom-requirements-stamp/python-dicom-requirements-install-Release.cmake:49 (message):
Command failed: 1


By looking into the log files, and calling the lsb_release file in the Super-build/python-install/bin/lsb_release, I got the error:

python-install/bin/lsb_release -a
error: Application does NOT exists [/media/pv/data/pv/usr/work/namic/rls20191103/sb-rls/python-install/bin/…/…/…/…/…/…/…/…/…/usr/bin/./lsb_release]

Looks like it’s trying to find the system’s lsb_release at: /usr/bin/lsb_release
But, the number of “…/” is not correct. I believe this is because the soft link.

Solution seems simple: just build in the “real location”.

Hi Andras, @lassoan

It seems that the recent commit:

may be caused by a combination of factors of this, and also the openssl, curl issues.

I tested without that particular commit and Slicer builds well.

Of course, there may be other reasons for that commit and i’m not aware of.

@jamesobutler is still working on this. It looks like that things should clear up within a couple of days (see these recent pull requests).

I tested the master commit today and build Slicer in the absolute path (not soft link dir). It builds. But will give immediate crashing error when launching Slicer. With the change of openssl and curl (in the pull request), I believe the problem is solved (also the soft link problem is also solved. now building in soft link dir is fine too).

Thanks for the update, we will review and work on integrating the changes associated with https://github.com/Slicer/Slicer/pull/1260

In the mean time, do you have issue running the “preview” build available at https://download.slicer.org