Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build error on Arch Linux - 'Could not find a package configuration file provided by "boost_signals"' #1

Open
mxmilkiib opened this issue Feb 7, 2020 · 9 comments

Comments

@mxmilkiib
Copy link

CMake Error at /usr/lib64/cmake/Boost-1.72.0/BoostConfig.cmake:120 (find_package):
  Could not find a package configuration file provided by "boost_signals"
  (requested version 1.72.0) with any of the following names:

    boost_signalsConfig.cmake
    boost_signals-config.cmake

  Add the installation prefix of "boost_signals" to CMAKE_PREFIX_PATH or set
  "boost_signals_DIR" to a directory containing one of the above files.  If
  "boost_signals" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  /usr/lib64/cmake/Boost-1.72.0/BoostConfig.cmake:185 (boost_find_component)
  /usr/share/cmake-3.16/Modules/FindBoost.cmake:443 (find_package)
  src/CMakeLists.txt:11 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/CMakeOutput.log".
The system is: Linux - 5.5.2-arch1-1 - x86_64
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /usr/bin/c++ 
Build flags: 
Id flags:  

The output was:
0


Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"

The CXX compiler identification is GNU, found in "/home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/3.16.4/CompilerIdCXX/a.out"

Determining if the CXX compiler works passed with the following output:
Change Dir: /home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/make cmTC_140df/fast && /usr/bin/make -f CMakeFiles/cmTC_140df.dir/build.make CMakeFiles/cmTC_140df.dir/build
make[1]: Entering directory '/home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_140df.dir/testCXXCompiler.cxx.o
/usr/bin/c++     -o CMakeFiles/cmTC_140df.dir/testCXXCompiler.cxx.o -c /home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
Linking CXX executable cmTC_140df
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_140df.dir/link.txt --verbose=1
/usr/bin/c++       CMakeFiles/cmTC_140df.dir/testCXXCompiler.cxx.o  -o cmTC_140df 
make[1]: Leaving directory '/home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/CMakeTmp'



Detecting CXX compiler ABI info compiled with the following output:
Change Dir: /home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/make cmTC_6d61d/fast && /usr/bin/make -f CMakeFiles/cmTC_6d61d.dir/build.make CMakeFiles/cmTC_6d61d.dir/build
make[1]: Entering directory '/home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o
/usr/bin/c++    -v -o CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc
Thread model: posix
gcc version 9.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o -version -o /var/tmp/cceEc8mm.s
GNU C++14 (GCC) version 9.2.0 (x86_64-pc-linux-gnu)
	compiled by GNU C version 9.2.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.21-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0
 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu
 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward
 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include
 /usr/local/include
 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed
 /usr/include
End of search list.
GNU C++14 (GCC) version 9.2.0 (x86_64-pc-linux-gnu)
	compiled by GNU C version 9.2.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.21-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: e70628160ff7c7e477f7d9570e6637cb
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 as -v --64 -o CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o /var/tmp/cceEc8mm.s
GNU assembler version 2.33.1 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.33.1
COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
Linking CXX executable cmTC_6d61d
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6d61d.dir/link.txt --verbose=1
/usr/bin/c++      -v CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_6d61d 
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc
Thread model: posix
gcc version 9.2.0 (GCC) 
COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6d61d' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper -plugin-opt=-fresolution=/var/tmp/ccqOIxsJ.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_6d61d /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../.. CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crtn.o
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6d61d' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
make[1]: Leaving directory '/home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/CMakeTmp'



Parsed CXX implicit include dir info from above output: rv=done
  found start of include info
  found start of implicit include info
    add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0]
    add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu]
    add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward]
    add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include]
    add: [/usr/local/include]
    add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed]
    add: [/usr/include]
  end of search list found
  collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0] ==> [/usr/include/c++/9.2.0]
  collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu] ==> [/usr/include/c++/9.2.0/x86_64-pc-linux-gnu]
  collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward] ==> [/usr/include/c++/9.2.0/backward]
  collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include]
  collapse include dir [/usr/local/include] ==> [/usr/local/include]
  collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed]
  collapse include dir [/usr/include] ==> [/usr/include]
  implicit include dirs: [/usr/include/c++/9.2.0;/usr/include/c++/9.2.0/x86_64-pc-linux-gnu;/usr/include/c++/9.2.0/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed;/usr/include]


Parsed CXX implicit link information from above output:
  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
  ignore line: [Change Dir: /home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/CMakeTmp]
  ignore line: []
  ignore line: [Run Build Command(s):/usr/bin/make cmTC_6d61d/fast && /usr/bin/make -f CMakeFiles/cmTC_6d61d.dir/build.make CMakeFiles/cmTC_6d61d.dir/build]
  ignore line: [make[1]: Entering directory '/home/milk/state/pkgs/mine/0_testing/harmonyseq-git/src/harmonySEQ/build/CMakeFiles/CMakeTmp']
  ignore line: [Building CXX object CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o]
  ignore line: [/usr/bin/c++    -v -o CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/c++]
  ignore line: [Target: x86_64-pc-linux-gnu]
  ignore line: [Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c c++ ada fortran go lto objc obj-c++ d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 9.2.0 (GCC) ]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o -version -o /var/tmp/cceEc8mm.s]
  ignore line: [GNU C++14 (GCC) version 9.2.0 (x86_64-pc-linux-gnu)]
  ignore line: [	compiled by GNU C version 9.2.0  GMP version 6.1.2  MPFR version 4.0.2  MPC version 1.1.0  isl version isl-0.21-GMP]
  ignore line: []
  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/include"]
  ignore line: [#include "..." search starts here:]
  ignore line: [#include <...> search starts here:]
  ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0]
  ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu]
  ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward]
  ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include]
  ignore line: [ /usr/local/include]
  ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed]
  ignore line: [ /usr/include]
  ignore line: [End of search list.]
  ignore line: [GNU C++14 (GCC) version 9.2.0 (x86_64-pc-linux-gnu)]
  ignore line: [	compiled by GNU C version 9.2.0  GMP version 6.1.2  MPFR version 4.0.2  MPC version 1.1.0  isl version isl-0.21-GMP]
  ignore line: []
  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
  ignore line: [Compiler executable checksum: e70628160ff7c7e477f7d9570e6637cb]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  ignore line: [ as -v --64 -o CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o /var/tmp/cceEc8mm.s]
  ignore line: [GNU assembler version 2.33.1 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.33.1]
  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/]
  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  ignore line: [Linking CXX executable cmTC_6d61d]
  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6d61d.dir/link.txt --verbose=1]
  ignore line: [/usr/bin/c++      -v CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_6d61d ]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/c++]
  ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper]
  ignore line: [Target: x86_64-pc-linux-gnu]
  ignore line: [Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c c++ ada fortran go lto objc obj-c++ d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 9.2.0 (GCC) ]
  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/]
  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6d61d' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper -plugin-opt=-fresolution=/var/tmp/ccqOIxsJ.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_6d61d /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../.. CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crtn.o]
    arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/collect2] ==> ignore
    arg [-plugin] ==> ignore
    arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/liblto_plugin.so] ==> ignore
    arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper] ==> ignore
    arg [-plugin-opt=-fresolution=/var/tmp/ccqOIxsJ.res] ==> ignore
    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
    arg [-plugin-opt=-pass-through=-lc] ==> ignore
    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
    arg [--build-id] ==> ignore
    arg [--eh-frame-hdr] ==> ignore
    arg [--hash-style=gnu] ==> ignore
    arg [-m] ==> ignore
    arg [elf_x86_64] ==> ignore
    arg [-dynamic-linker] ==> ignore
    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
    arg [-pie] ==> ignore
    arg [-o] ==> ignore
    arg [cmTC_6d61d] ==> ignore
    arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crti.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtbeginS.o] ==> ignore
    arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0]
    arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib]
    arg [-L/lib/../lib] ==> dir [/lib/../lib]
    arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
    arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../..]
    arg [CMakeFiles/cmTC_6d61d.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
    arg [-lstdc++] ==> lib [stdc++]
    arg [-lm] ==> lib [m]
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [-lgcc] ==> lib [gcc]
    arg [-lc] ==> lib [c]
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [-lgcc] ==> lib [gcc]
    arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtendS.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crtn.o] ==> ignore
  collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0]
  collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib] ==> [/usr/lib]
  collapse library dir [/lib/../lib] ==> [/lib]
  collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
  collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../..] ==> [/usr/lib]
  implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
  implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0;/usr/lib;/lib]
  implicit fwks: []
@rafalcieslak
Copy link
Owner

Looks like you're trying to build the master branch - I don't recommend using it as there is a lot of development happening there at the moment, so it may be unstable. It's best to stick to releases, the most recent one (0.16.1) will not trigger this specific error you've encountered.

But if you really want to compile master branch, then you'll need the boost::signal2 library headers. I'm in progress of refactoring a lot of code to use this library instead of libsigc++, and didn't yet reflect that in the README. On Debian and derivatives you'd need to install libboost-signals-dev package, I'm not sure what's the equivalent on Arch, but I think it's this.

@mxmilkiib
Copy link
Author

Thanks for the feedback. I indeed have boost (and boost-libs) 1.72.0 installed, it's a commonly used library. I was wondering if the project was being developed on a non-rolling release distro that only has available an earlier version of boost. Arch official repos have a binary boost1.69 package I can try, though it conflicts with 1.72. (I can also build boost-65-compat and boost-63-compat from source via the AUR.)

I just did a bit more googling and found a similar error on another Arch package, which has a reply comment noting it means it "Tries to use Boost.Signals, which was removed in Boost 1.69.0". (FWIW, if I do locate boost_signal, I get /usr/share/aclocal/ax_boost_signals.m4.)

I use a lot of -git packages so I'm used to living on the bleeding edge. I'll be mindful that master head might not be in a buildable state at times.

@rafalcieslak
Copy link
Owner

I use boost 1.67 here, but the signals component is very stable and has had pretty much no changes in the past few years, so the exact boost version shouldn't matter much to be honest. Your output doesn't suggest there is a compatibility mismatch between your boost and harmonySEQ - the core of the issue is that while your CMake does have the FindBoost module, it is unable to locate boost in your system, or more specifically, the signals subcomponent.

I generally keep master in buildable state, it's mostly the documentation that may be out of date there.

Once I get to setting up a CI config, I think I should be able to ensure master can be built on Arch; though obviously my testing recipe will not account for whatever customizations a user might have in their system.

@mxmilkiib
Copy link
Author

https://www.boost.org/users/history confirms "Discontinued Libraries: Signals." in 1.69.0 in Dec '18.

@rafalcieslak
Copy link
Owner

Correct, that's because signals was deprecated in favour of signals2 - and that's the one I'm actually using. However, on my system - where both libraries are still available - CMake only supports searching for signals (and it finds both), so I assumed it considers the two as the same thing. But maybe on your system we need to explicitly search for signals2.

I have prepared a temporary branch cmake_signal2 which does exactly that. Would you mind whether using it solves the issue on your system? If it does, I can implement a conditional check that searches for either signal or signal2 and uses whatever result is available, as long as it actually provides signal2.

@mxmilkiib
Copy link
Author

A-ha, thanks!

Trying it but it errors out with;

CMake Error at /usr/lib64/cmake/Boost-1.72.0/BoostConfig.cmake:120 (find_package):
  Could not find a package configuration file provided by "boost_signals2"
  (requested version 1.72.0) with any of the following names:

    boost_signals2Config.cmake
    boost_signals2-config.cmake

  Add the installation prefix of "boost_signals2" to CMAKE_PREFIX_PATH or set
  "boost_signals2_DIR" to a directory containing one of the above files.  If
  "boost_signals2" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  /usr/lib64/cmake/Boost-1.72.0/BoostConfig.cmake:185 (boost_find_component)
  /usr/share/cmake-3.16/Modules/FindBoost.cmake:443 (find_package)
  src/CMakeLists.txt:11 (find_package)


-- Configuring incomplete, errors occurred!

I see now, ta, that signals2 is part of the boost package and availably. From a locate signals2

...
/usr/include/boost/signals2
/usr/include/boost/signals2.hpp
/usr/include/boost/signals2/connection.hpp
/usr/include/boost/signals2/deconstruct.hpp
/usr/include/boost/signals2/deconstruct_ptr.hpp
/usr/include/boost/signals2/detail
/usr/include/boost/signals2/dummy_mutex.hpp
/usr/include/boost/signals2/expired_slot.hpp
/usr/include/boost/signals2/last_value.hpp
/usr/include/boost/signals2/mutex.hpp
/usr/include/boost/signals2/optional_last_value.hpp
/usr/include/boost/signals2/postconstructible.hpp
/usr/include/boost/signals2/predestructible.hpp
/usr/include/boost/signals2/preprocessed_signal.hpp
/usr/include/boost/signals2/preprocessed_slot.hpp
/usr/include/boost/signals2/shared_connection_block.hpp
/usr/include/boost/signals2/signal.hpp
/usr/include/boost/signals2/signal_base.hpp
/usr/include/boost/signals2/signal_type.hpp
/usr/include/boost/signals2/slot.hpp
/usr/include/boost/signals2/slot_base.hpp
/usr/include/boost/signals2/trackable.hpp
/usr/include/boost/signals2/variadic_signal.hpp
/usr/include/boost/signals2/variadic_slot.hpp
/usr/include/boost/signals2/detail/auto_buffer.hpp
/usr/include/boost/signals2/detail/foreign_ptr.hpp
/usr/include/boost/signals2/detail/lwm_nop.hpp
/usr/include/boost/signals2/detail/lwm_pthreads.hpp
/usr/include/boost/signals2/detail/lwm_win32_cs.hpp
/usr/include/boost/signals2/detail/null_output_iterator.hpp
/usr/include/boost/signals2/detail/preprocessed_arg_type.hpp
/usr/include/boost/signals2/detail/preprocessed_arg_type_template.hpp
/usr/include/boost/signals2/detail/replace_slot_function.hpp
/usr/include/boost/signals2/detail/result_type_wrapper.hpp
/usr/include/boost/signals2/detail/scope_guard.hpp
/usr/include/boost/signals2/detail/signal_template.hpp
/usr/include/boost/signals2/detail/signals_common.hpp
/usr/include/boost/signals2/detail/signals_common_macros.hpp
/usr/include/boost/signals2/detail/slot_call_iterator.hpp
/usr/include/boost/signals2/detail/slot_groups.hpp
/usr/include/boost/signals2/detail/slot_template.hpp
/usr/include/boost/signals2/detail/tracked_objects_visitor.hpp
/usr/include/boost/signals2/detail/unique_lock.hpp
/usr/include/boost/signals2/detail/variadic_arg_type.hpp
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp

@rafalcieslak
Copy link
Owner

I was able to reproduce this issue in a docker container from archlinux:latest 👍

Interestingly, some components (e.g. system, filesystem, fiber, log) get found correctly. Others (like signals2, hana, heap, uuid, algorithm) do not get detected. I'll try tracing the CMake module for Boost to see how exactly does it search for these components.

@rafalcieslak
Copy link
Owner

Right, so CMake detects that boost on Arch was built with CMake config support, and therefore it does not search for these libraries directly, but looks for pre-build configurations in /usr/lib/cmake/. The boost package installs numerous CMake modules into that directory, but clearly a lot is missing, including signals2 - even though the library itself and its header files are present in the boost package. Looks like a bug in the boost package. I can experiment with possible workarounds, though.

@rafalcieslak
Copy link
Owner

Alright - this is simply because signals2 is a header-only library (I was fooled by Debian's package, because it also contains an .a archive), and this CMake's behaviour matches documentation - FindBoost does not support rich discovery for such components. The officially recommended way to detect header-only libraries is to only detect Boost in general, and pray that it was installed with all header-only Boost libraries. So that's how I've reconfigured my CMake script, both in master and cmake_signal2 branches. I've successfully compiled the sources on Arch - let me know if it works for you too now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants