CentOS7.6源码安装CGAL-5.0(PostGis依赖包)报错
[root@pggis build]# cmake -DCGAL_HEADER_ONLY=OFF -DCMAKE_BUILD_TYPE=Release ..== Setting paths ==
-- Build CGAL from release in directory CGAL-5.0
-- Packagenames: CGAL-5.0
== Setting paths (DONE) ==
== Generate version files ==
-- CGAL_MAJOR_VERSION=5
-- CGAL_MINOR_VERSION=0
-- CGAL_BUGFIX_VERSION=0
-- CGAL_SONAME_VERSION=13
-- CGAL_SOVERSION =13.0.3
-- CGAL_REFERENCE_CACHE_DIR=
-- Building shared libraries
-- Targetting Unix Makefiles
-- Using /usr/bin/c++ compiler.
-- USING CMake version: 3.15.5
-- System: Linux
-- USING GCC_VERSION = '4.8.5 20150623 (Red Hat 4.8.5-39)'
-- Using gcc version 4 or later. Adding -frounding-math
== Generate version files (DONE) ==
-- Build type: Release
-- USING CXXFLAGS = ' -O3 -DNDEBUG'
-- USING LDFLAGS = ' '
== Detect external libraries ==
-- External libraries supported: GMP;GMPXX;MPFR;ZLIB;OpenGL;LEDA;MPFI;RS;RS3;OpenNL;Eigen3;ESBTL;Coin3D;NTL;IPE
-- Preconfiguring library: GMP ...
-- GMP has been preconfigured:
-- UseGMP-file:
-- GMP include: /usr/local/include
-- GMP libraries: /usr/local/lib/libgmp.so
-- GMP definitions:
-- USING GMP_VERSION = '6.1.2'
-- Preconfiguring library: MPFR ...
-- MPFR has been preconfigured:
-- UseMPFR-file:
-- MPFR include: /usr/local/include
-- MPFR libraries: /usr/local/lib/libmpfr.so
-- MPFR definitions:
-- USING MPFR_VERSION = '4.0.2'
-- Found Boost: /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.48")
-- Boost include dirs: /usr/local/include
-- Boost libraries:
== Detect external libraries (DONE) ==
== Write compiler_config.h ==
-- Performing Test CGAL_CFG_DENORMALS_COMPILE_BUG - Success
-- Performing Test CGAL_CFG_FPU_ROUNDING_MODE_UNWINDING_VC_BUG - Success
-- Performing Test CGAL_CFG_IEEE_754_BUG - Success
-- Performing Test CGAL_CFG_ISTREAM_INT_BUG - Success
-- Performing Test CGAL_CFG_MATCHING_BUG_5 - Success
-- Performing Test CGAL_CFG_MATCHING_BUG_6 - Success
-- Performing Test CGAL_CFG_MATCHING_BUG_7 - Success
-- Performing Test CGAL_CFG_MATCHING_BUG_8 - Success
-- Performing Test CGAL_CFG_NO_LIMITS - Success
-- Performing Test CGAL_CFG_NO_NEXTAFTER - Success
-- Performing Test CGAL_CFG_NO_STL - Success
-- Performing Test CGAL_CFG_NUMERIC_LIMITS_BUG - Success
-- Performing Test CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG - Success
-- Performing Test CGAL_CFG_TEMPLATE_IN_DEFAULT_PARAMETER_BUG - Success
-- Performing Test CGAL_CFG_TYPENAME_BEFORE_DEFAULT_ARGUMENT_BUG - Success
-- Performing Test CGAL_CFG_USING_BASE_MEMBER_BUG_2 - Success
== Write compiler_config.h (DONE) ==
== Generating build files ==
Configuring libCGAL
CMake Error at cmake/modules/CGAL_SetupCGALDependencies.cmake:108 (target_compile_features):
target_compile_features The compiler feature "cxx_decltype_auto" is not
known to CXX compiler
"GNU"
version 4.8.5.
Call Stack (most recent call first):
src/CGAL/CMakeLists.txt:11 (CGAL_setup_CGAL_dependencies)
-- USING GMP_VERSION = '6.1.2'
-- USING MPFR_VERSION = '4.0.2'
-- USING BOOST_VERSION = '1.71.0'
libCGAL is configured
-- Sources for CGAL component library 'CGAL_Core' detected
-- Found Boost: /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.48") found components: thread system
Configuring libCGAL_Core
libCGAL_Core is configured
-- Sources for CGAL component library 'CGAL_ImageIO' detected
Configuring libCGAL_ImageIO
-- USING ZLIB_VERSION = '1.2.7'
libCGAL_ImageIO is configured
-- Sources for CGAL component library 'CGAL_Qt5' detected
Configuring libCGAL_Qt5
CMake Error at /opt/Qt5.13.2/5.13.2/gcc_64/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:9 (message):
Failed to find "GL/gl.h" in "/usr/include/libdrm".
Call Stack (most recent call first):
/opt/Qt5.13.2/5.13.2/gcc_64/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:187 (include)
/opt/Qt5.13.2/5.13.2/gcc_64/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:100 (find_package)
/opt/Qt5.13.2/5.13.2/gcc_64/lib/cmake/Qt5OpenGL/Qt5OpenGLConfig.cmake:100 (find_package)
/opt/Qt5.13.2/5.13.2/gcc_64/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package)
cmake/modules/CGAL_SetupCGAL_Qt5Dependencies.cmake:27 (find_package)
src/CGAL_Qt5/CMakeLists.txt:8 (include)
-- Configuring incomplete, errors occurred!
See also "/usr/local/src/software/CGAL-5.0/build/CMakeFiles/CMakeOutput.log".
See also "/usr/local/src/software/CGAL-5.0/build/CMakeFiles/CMakeError.log".
-------------------------------------------------------------------------------------------------------------------------------------------
/usr/local/src/software/CGAL-5.0/build/CMakeFiles/CMakeError.log文件内容如下:
Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
Change Dir: /usr/local/src/software/CGAL-5.0/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/gmake cmTC_13d39/fast && /usr/bin/gmake -f CMakeFiles/cmTC_13d39.dir/build.make CMakeFiles/cmTC_13d39.dir/build
gmake[1]: Entering directory `/usr/local/src/software/CGAL-5.0/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_13d39.dir/src.c.o
/usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_13d39.dir/src.c.o -c /usr/local/src/software/CGAL-5.0/build/CMakeFiles/CMakeTmp/src.c
Linking C executable cmTC_13d39
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_13d39.dir/link.txt --verbose=1
/usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD CMakeFiles/cmTC_13d39.dir/src.c.o -o cmTC_13d39
CMakeFiles/cmTC_13d39.dir/src.c.o: In function `main':
src.c:(.text+0x2d): undefined reference to `pthread_create'
src.c:(.text+0x39): undefined reference to `pthread_detach'
src.c:(.text+0x4a): undefined reference to `pthread_join'
src.c:(.text+0x5e): undefined reference to `pthread_atfork'
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTC_13d39] Error 1
gmake[1]: Leaving directory `/usr/local/src/software/CGAL-5.0/build/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_13d39/fast] Error 2
Source file was:
#include <pthread.h>
void* test_func(void* data)
{
return data;
}
int main(void)
{
pthread_t thread;
pthread_create(&thread, NULL, test_func, NULL);
pthread_detach(thread);
pthread_join(thread, NULL);
pthread_atfork(NULL, NULL, NULL);
pthread_exit(NULL);
return 0;
}
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /usr/local/src/software/CGAL-5.0/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/gmake cmTC_f3273/fast && /usr/bin/gmake -f CMakeFiles/cmTC_f3273.dir/build.make CMakeFiles/cmTC_f3273.dir/build
gmake[1]: Entering directory `/usr/local/src/software/CGAL-5.0/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_f3273.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_f3273.dir/CheckFunctionExists.c.o -c /usr/local/share/cmake-3.15/Modules/CheckFunctionExists.c
Linking C executable cmTC_f3273
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f3273.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_f3273.dir/CheckFunctionExists.c.o -o cmTC_f3273 -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTC_f3273] Error 1
gmake[1]: Leaving directory `/usr/local/src/software/CGAL-5.0/build/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_f3273/fast] Error 2