computationalpathologygroup / ASAP

Program for the analysis and visualization of whole-slide images in digital pathology
https://computationalpathologygroup.github.io/ASAP/
GNU General Public License v2.0
613 stars 164 forks source link

CMake Error: The source directory ".../ASAP/src" does not exist. #209

Closed MohammedHAlali closed 2 years ago

MohammedHAlali commented 3 years ago

Hi, I'm trying to install ASAP from the source by running ASAP/buildtools/build_ASAP.sh. However, I got this error: CMake Error: The source directory "[home]/ASAP/src" does not exist.

Full error:

buildtools]$ ./build_ASAP.sh
grep: /etc/lsb-release: No such file or directory
Building ASAP with Python 3.8; building GUI = false; on Ubuntu
Skipping GUI...
CMake Error: The source directory "/work/deogun/alali/ASAP/src" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
make: *** No rule to make target 'package'.  Stop.
mv: cannot stat '*.deb': No such file or directory

I downloaded Source code (zip) from the Release page, but it doesn't contain src folder.

Any ideas?

hanspinckaers commented 3 years ago

Hi! The docker clones the repo into a folder src:

git clone https://github.com/computationalpathologygroup/ASAP src && mkdir build

You could try renaming your downloaded folder to src? However, I would advice cloning the repo directly (as shown above) since the release is a bit old.

MohammedHAlali commented 3 years ago

Hi Hans, Thanks for getting back to me. I tried: git clone https://github.com/computationalpathologygroup/ASAP src && mkdir build

It cloned ASAP folder into src folder. This is fine. Then I went to run: ./buildtools/build_ASAP.sh But got error related to cmake compatibility. My cmake version is 3.20.2

Here is the error trace:


$ ./build_ASAP.sh
grep: /etc/lsb-release: No such file or directory
Building ASAP with Python 3.8; building GUI = false; on Ubuntu
Skipping GUI...
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /util/comp/gcc/10.2/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /util/comp/gcc/10.2/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /util/opt/anaconda/deployed-conda-envs/packages/cmake/envs/cmake-3.20.2/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Boost (missing: Boost_INCLUDE_DIR date_time filesystem
  program_options regex system thread)
Call Stack (most recent call first):
  /util/opt/anaconda/deployed-conda-envs/packages/cmake/envs/cmake-3.20.2/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /util/opt/anaconda/deployed-conda-envs/packages/cmake/envs/cmake-3.20.2/share/cmake-3.20/Modules/FindBoost.cmake:2344 (find_package_handle_standard_args)
  CMakeLists.txt:45 (find_package)

-- Configuring incomplete, errors occurred!
See also "/work/deogun/alali/ASAP/buildtools/CMakeFiles/CMakeOutput.log".
See also "/work/deogun/alali/ASAP/buildtools/CMakeFiles/CMakeError.log".
make: *** No rule to make target 'package'.  Stop.
mv: cannot stat '*.deb': No such file or directory

I then downloaded ASAP-1.9-Linux-Ubuntu1604.deb file into buildtools/ folder, and ran build_ASAP.sh again and got another error:


$ ./build_ASAP.sh
grep: /etc/lsb-release: No such file or directory
Building ASAP with Python 3.8; building GUI = false; on Ubuntu
Skipping GUI...
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Error at /util/opt/anaconda/deployed-conda-envs/packages/cmake/envs/cmake-3.20.2/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Boost (missing: Boost_INCLUDE_DIR date_time filesystem
  program_options regex system thread)
Call Stack (most recent call first):
  /util/opt/anaconda/deployed-conda-envs/packages/cmake/envs/cmake-3.20.2/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /util/opt/anaconda/deployed-conda-envs/packages/cmake/envs/cmake-3.20.2/share/cmake-3.20/Modules/FindBoost.cmake:2344 (find_package_handle_standard_args)
  CMakeLists.txt:45 (find_package)

-- Configuring incomplete, errors occurred!
See also "/work/deogun/alali/ASAP/buildtools/CMakeFiles/CMakeOutput.log".
See also "/work/deogun/alali/ASAP/buildtools/CMakeFiles/CMakeError.log".
make: *** No rule to make target 'package'.  Stop.
mv: cannot move 'ASAP-1.9-Linux-Ubuntu1604.deb' to '/artifacts/ASAP-1.9-nogui-py38-Ubuntu.deb': No such file or directory

Is my process correct? or should I run the Dockerfile?

hanspinckaers commented 3 years ago

Hi Mohammed, since you don't run Ubuntu, you can't use the build_asap.sh as is. First, you need to install all the dependencies (see the README.md) and then point the cmake command to those (if cmake doesn't find them automatically).

https://github.com/computationalpathologygroup/ASAP/blob/8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a/buildtools/build_ASAP.sh#L36-L45

BTW, you can ignore the CMake Deprecation Warning. The problem in the above log is that CMake can't find the Boost library "Could NOT find Boost (missing: Boost_INCLUDE_DIR date_time filesystem" which is one of the dependencies of ASAP.

MohammedHAlali commented 3 years ago

Hi Hans, Thanks for the detailed reply. I'm trying to edit all paths in order to make them suitable to my machine. However, I don't have root access to my machine. What would be a good substitute to /root/install in -DCMAKE_INSTALL_PREFIX? as well as -DDCMTKJPEG_INCLUDE_DIR=/root

hanspinckaers commented 3 years ago

Hi @MohammedHAlali, I believe -DCMAKE_INSTALL_PREFIX is simply where the package is installed. Maybe do it in your user folder? -DDCMTKJPEG_INCLUDE_DIR is not strictly required, so maybe you can leave it out for now.

MohammedHAlali commented 3 years ago

Hi @HansPinckaers , I installed all dependencies in a separate anaconda environment. However, when I run: cmake ../src I got error that it doesn't find TIFF. Even though I have installed it using: conda install -c anaconda libtiff

Here is the error:

$ cmake ../src
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Error at /util/opt/anaconda/deployed-conda-envs/packages/cmake/envs/cmake-3.20.2/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR)
Call Stack (most recent call first):
  /util/opt/anaconda/deployed-conda-envs/packages/cmake/envs/cmake-3.20.2/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /util/opt/anaconda/deployed-conda-envs/packages/cmake/envs/cmake-3.20.2/share/cmake-3.20/Modules/FindTIFF.cmake:124 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:52 (find_package)

-- Configuring incomplete, errors occurred!
See also "/work/deogun/alali/ASAP/buildtools/CMakeFiles/CMakeOutput.log".
See also "/work/deogun/alali/ASAP/buildtools/CMakeFiles/CMakeError.log".
hanspinckaers commented 3 years ago

Hi @MohammedHAlali, that seems like a question for a cmake forum or for StackOverflow. Seems like the libtiff files are not in your $PATH.