ValeevGroup / tiledarray

A massively-parallel, block-sparse tensor framework written in C++
GNU General Public License v3.0
255 stars 52 forks source link

Boost doesn't download if also missing BTAS #229

Open awild82 opened 3 years ago

awild82 commented 3 years ago

Details

I am trying to build TiledArray in an environment that does not have Boost or BTAS. Based on INSTALL.md, I figured that both will be downloaded and installed, but instead, I get an error from the configuration of BTAS:

-- Could NOT find Boost (missing: Boost_DIR)
CMake Error at /home/software/cmake/3/19/1/install/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:218 (message):
  Could NOT find Boost (missing: Boost_INCLUDE_DIR)
Call Stack (most recent call first):
  /home/software/cmake/3/19/1/install/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:577 (_FPHSA_FAILURE_MESSAGE)
  /home/software/cmake/3/19/1/install/share/cmake-3.19/Modules/FindBoost.cmake:2193 (find_package_handle_standard_args)
  build/_deps/btas-src/external/boost.cmake:16 (find_package)
  build/_deps/btas-src/CMakeLists.txt:141 (include)

Looking at the boost.cmake from BTAS, it looks like it is a required package, and BTAS doesn't download boost, so since TiledArray finds or fetches BTAS before Boost, TiledArray doesn't get a chance to download Boost. I see that the ordering was changed from finding Boost then BTAS to the other way around so that BTAS can find Boost itself, so I am not sure if the fix is to change the ordering back, to get BTAS to download Boost, or to update the documentation to note this conflict.

Steps to reproduce

Build TiledArray from scratch on a system that does not have Boost or BTAS already installed.

Configuration

kmp5VT commented 3 years ago

Are you using the master branch?

awild82 commented 3 years ago

Yes, I am.