OPM / opm-common

Common components for OPM, in particular build system (cmake).
http://www.opm-project.org
GNU General Public License v3.0
31 stars 112 forks source link

Boost_INCLUDE_DIR not found #1741

Open hakonhagland opened 4 years ago

hakonhagland commented 4 years ago

I am trying to compile opm-common after upgrading my system from Ubuntu 19.10 to Ubuntu 20.04:

cd ~/test/boost
git clone git@github.com:OPM/opm-common.git
cd opm-common
mkdir build
cd build
cmake -DOPM_ENABLE_PYTHON=ON -DCMAKE_BUILD_TYPE=Debug ..

gives the following output:

Cloning into 'opm-common'...
remote: Enumerating objects: 62, done.
remote: Counting objects: 100% (62/62), done.
remote: Compressing objects: 100% (44/44), done.
remote: Total 87325 (delta 22), reused 27 (delta 8), pack-reused 87263
Receiving objects: 100% (87325/87325), 24.34 MiB | 13.10 MiB/s, done.
Resolving deltas: 100% (56516/56516), done.
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at cmake/Modules/OpmInit.cmake:26 (cmake_policy):
  The OLD behavior for policy CMP0026 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
  CMakeLists.txt:56 (OpmSetPolicies)

CMake Warning at cmake/Modules/Findopm-tests.cmake:26 (message):
  opm-tests not found - integration tests using opm-tests will be skipped.
Call Stack (most recent call first):
  CMakeLists.txt:60 (include)

-- Performing Test HAVE_C99
-- Performing Test HAVE_C99 - Success
-- Found C99: -std=c99  
-- Found Boost: /lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.44.0") found components: system unit_test_framework 
-- Found PythonInterp: /home/hakon/.pyenv/shims/python (found version "3.7.3") 
-- Performing Test HAVE_ATTRIBUTE_ALWAYS_INLINE
-- Performing Test HAVE_ATTRIBUTE_ALWAYS_INLINE - Success
-- Performing Test HAS_ATTRIBUTE_UNUSED
-- Performing Test HAS_ATTRIBUTE_UNUSED - Success
-- Performing Test HAS_ATTRIBUTE_DEPRECATED
-- Performing Test HAS_ATTRIBUTE_DEPRECATED - Success
-- Performing Test HAS_ATTRIBUTE_DEPRECATED_MSG
-- Performing Test HAS_ATTRIBUTE_DEPRECATED_MSG - Success
-- CMake version: 3.16.3
-- Linux distribution: Ubuntu 20.04 LTS
-- Target architecture: x86_64
-- Found Git: /bin/git (found version "2.25.1") 
-- Source code repository: git 1e77c1510
-- GNU C++ compiler version: 9.3.0
-- Linker: ld 2.34
-- Checking to see if CXX compiler accepts flag -Wl,--enable-new-dtags
-- Checking to see if CXX compiler accepts flag -Wl,--enable-new-dtags - yes
-- Precompiled headers: disabled
-- Build type: Debug
-- Checking to see if CXX compiler accepts flag -mtune=native
-- Checking to see if CXX compiler accepts flag -mtune=native - yes
-- All warnings enabled: -Wall -Wextra -Wshadow
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Checking to see if CXX compiler accepts flag -pthread
-- Checking to see if CXX compiler accepts flag -pthread - yes
-- Could NOT find CppCheck (missing: CPPCHECK_PROGRAM) 
-- Disabling clang-check as CMAKE_EXPORT_COMPILE_COMMANDS is not enabled
-- Found Boost: /usr/include (found suitable version "1.71.0", minimum required is "1.44.0") found components: system unit_test_framework 
-- Looking for strip utility
-- Looking for strip utility - found
-- Performing Test HAVE_DYNAMIC_BOOST_TEST
-- Performing Test HAVE_DYNAMIC_BOOST_TEST - Success
-- Writing config file "/home/hakon/test/boost/opm-common/build/config.h"...
-- This build defaults to installing in /usr/local
-- Checking whether the file system is case-sensitive
-- File system is case-sensitive
-- Found Doxygen: /bin/doxygen (found version "1.8.17") found components: doxygen dot 
-- Writing version information to local header project-version.h
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Boost_INCLUDE_DIR (ADVANCED)
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common
   used as include directory in directory /home/hakon/test/boost/opm-common

-- Configuring incomplete, errors occurred!
See also "/home/hakon/test/boost/opm-common/build/CMakeFiles/CMakeOutput.log".

The content of the file mentioned in the last line above is here: CMakeOutput.log

akva2 commented 4 years ago

just installed a vanilla 20.04 and everything built fine. did you clear out the build directory after upgrading?

hakonhagland commented 4 years ago

did you clear out the build directory after upgrading?

Yes, I did a "fresh" clone of opm-common just to make sure:

cd ~/test/boost
git clone git@github.com:OPM/opm-common.git
cd opm-common
mkdir build
cd build
cmake -DOPM_ENABLE_PYTHON=ON -DCMAKE_BUILD_TYPE=Debug ..
akva2 commented 4 years ago

weird, i did exactly the same.

installed a fresh 20.04 vm apt install git cmake g++ libboost-test-dev libboost-system-dev python3-dev python3-setuptools python3-pip

cmake blablabla.

hakonhagland commented 4 years ago

Interesting... Note: did not install libecl according https://opm-project.org/?page_id=231 it is not needed

hakonhagland commented 4 years ago

Did some more debugging.. Anyone knows where/how in the cmake machinery is the variable opm-common_LIBRARIES defined? By running cmake with --trace-expand I can see that its value at line 35 in GenerateKeywords.cmake is

Boost::system;Boost::unit_test_framework;/lib/x86_64-linux-gnu/libboost_system.so.1.71.0;/lib/x86_64-linux-gnu/libboost_system.so;optimized;/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.71.0;debug;/lib/x86_64-linux-gnu/libboost_unit_test_framework.so

So what can be the purpose/usage of the two first items in the variable:

?? Where/how are they defined?

hakonhagland commented 4 years ago

It seems to work if I add BOOST_ROOT=/usr to the enviroment variables:

BOOST_ROOT=/usr cmake -DOPM_ENABLE_PYTHON=ON -DCMAKE_BUILD_TYPE=Debug ..