mlpack / mlpack

mlpack: a fast, header-only C++ machine learning library
https://www.mlpack.org/
Other
5.02k stars 1.59k forks source link

boost library dependency not working #3178

Closed cifnik closed 2 years ago

cifnik commented 2 years ago

Hello, I am trying to compile on macos but this error comes: CMake Error at /usr/local/Cellar/cmake/3.20.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find Boost (missing: unit_test_framework serialization) (found suitable version "1.68.0", minimum required is "1.58") Call Stack (most recent call first): /usr/local/Cellar/cmake/3.20.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE) /usr/local/Cellar/cmake/3.20.1/share/cmake/Modules/FindBoost.cmake:2344 (find_package_handle_standard_args) CMakeLists.txt:442 (find_package)

I also tried to pass the library path for boost installation but still giving this problem. Do you have any idea of what could be? Thanks

Davidportlouis commented 2 years ago

@cifnik did you compile boost from source or installed it via any package manager ?

Davidportlouis commented 2 years ago

The error message states that suitable boost version '1.68.0' is found, but doesn't have the boost unit test library installed. Try this in case you're on debian based distro sudo apt install libboost-test-dev

rcurtin commented 2 years ago

Also note that if you use the git master branch (instead of 3.4.2 or another version), the boost dependencies are mostly removed. (We are in the process of finishing getting rid of them so we can release 4.0.0, which hopefully should be much easier to configure, build, and install!)

mlpack-bot[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had any recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions! :+1:

Ansh-Sarkar commented 2 years ago

Hi ! Have been facing this exact same issue. I am trying to build mlpack-3.4.2 on my system.

Windows : Windows 10 Home Single Language, Version : 21H2 System Type : 64-bit operating system, x64-based processor

Command Executed ( as instructed at : https://www.mlpack.org/doc/mlpack-3.4.2/doxygen/build_windows.html )

cmake -G "Visual Studio 16 2019" -A x64 -
    DBLAS_LIBRARIES:FILEPATH="C:/mlpack/mlpack/packages/OpenBLAS.0.2.14.1/lib/native/lib/x64/libopenblas.dll.a" -
    DLAPACK_LIBRARIES:FILEPATH="C:/mlpack/mlpack/packages/OpenBLAS.0.2.14.1/lib/native/lib/x64/libopenblas.dll.a" -
    DARMADILLO_INCLUDE_DIR="C:/mlpack/armadillo/include" -
    DARMADILLO_LIBRARY:FILEPATH="C:/mlpack/armadillo/build/Debug/armadillo.lib" -
    DBOOST_INCLUDEDIR:PATH="C:/boost/" -DBOOST_LIBRARYDIR:PATH="C:/boost/lib64-msvc-14.2" 
    -DDEBUG=OFF -DPROFILE=OFF ..

Complete Output

-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.19044.
-- cotire 1.7.10 loaded.
-- Could NOT find Ensmallen: Found unsuitable version "0.0.0", but required is at least "2.10.0" (found C:/mlpack/mlpack/deps/ensmallen-2.14.2/include)
-- [download 1% complete]
.....................................................................................
.....................................................................................
-- [download 100% complete]
-- Successfully downloaded ensmallen into C:/mlpack/mlpack/build/deps/ensmallen-2.14.2/
CMake Error at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:218 (message):
  Could NOT find Boost (missing: unit_test_framework serialization) (found
  suitable version "1.66.0", minimum required is "1.58")
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:577 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2193 (find_package_handle_standard_args)
  CMakeLists.txt:446 (find_package)

-- Configuring incomplete, errors occurred!
See also "C:/mlpack/mlpack/build/CMakeFiles/CMakeOutput.log".

It did find the suitable version but seems like it's not able to find the other required modules. Would be grateful if someone could kindly help me out this.

Ansh-Sarkar commented 2 years ago

Update : Tried setting it up on WSL2. It seems to be working now. But would still like to resolve the issue on windows as well.

rcurtin commented 2 years ago

Boost is no longer a dependency, so I think that this should no longer be an issue (at least for the master branch). So, if you update, in theory everything should work. :)

mlpack-bot[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had any recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions! :+1: