Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[GDAL] switch build to CMake (#5423)
* switch build over to CMake The GCC version is increased to 8 since the Windows build hit an internal compiler error: ``` [20:26:11] In function ‘CPLErr GDALResampleChunk32R_ConvolutionT(double, double, double, double, const T*, int, const GByte*, int, int, int, int, int, int, int, int, GDALRasterBand*, void*, int, float, FilterFuncType, FilterFunc4ValuesType, int, bool, float) [with T = unsigned char]’: [20:26:11] cc1plus: internal compiler error: in gimplify_modify_expr, at gimplify.c:5636 [20:26:11] [ 34%] Building CXX object ogr/ogrsf_frmts/mssqlspatial/CMakeFiles/ogr_MSSQLSpatial.dir/ogrmssqlgeometryparser.cpp.obj [20:26:11] cd /workspace/srcdir/gdal-3.5.1/build/ogr/ogrsf_frmts/mssqlspatial && /opt/bin/x86_64-w64-mingw32-libgfortran4-cxx11/x86_64-w64-mingw32-g++ --sysroot=/opt/x86_64-w64-mingw32/x86_64-w64-mingw32/sys-root/ -DDEBUG -DDONT_DEPRECATE_SPRINTF -DGDAL_CMAKE_BUILD -DGDAL_COMPILATION -DHAVE_AVX_AT_COMPILE_TIME -DHAVE_SSE_AT_COMPILE_TIME -DHAVE_SSSE3_AT_COMPILE_TIME @CMakeFiles/ogr_MSSQLSpatial.dir/includes_CXX.rsp -fvisibility=hidden -g -Os -Wall -Wextra -Winit-self -Wunused-parameter -Wmissing-declarations -Wlogical-op -Wshadow -Wmissing-include-dirs -Wformat -Werror=format-security -Wno-format-nonliteral -Werror=vla -Wno-clobbered -Wdate-time -Wnull-dereference -Wfloat-conversion -Wnon-virtual-dtor -Woverloaded-virtual -Wsuggest-override -fno-operator-names -Wzero-as-null-pointer-constant -ftrapv -std=gnu++11 -MD -MT ogr/ogrsf_frmts/mssqlspatial/CMakeFiles/ogr_MSSQLSpatial.dir/ogrmssqlgeometryparser.cpp.obj -MF CMakeFiles/ogr_MSSQLSpatial.dir/ogrmssqlgeometryparser.cpp.obj.d -o CMakeFiles/ogr_MSSQLSpatial.dir/ogrmssqlgeometryparser.cpp.obj -c /workspace/srcdir/gdal-3.5.1/ogr/ogrsf_frmts/mssqlspatial/ogrmssqlgeometryparser.cpp [20:26:12] 0x78493a gimplify_modify_expr [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify.c:5636 [20:26:12] 0x77c18e gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify.c:11237 [20:26:12] 0x77f148 gimplify_stmt(tree_node**, gimple**) [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify.c:6496 [20:26:12] 0x7823e3 gimplify_cond_expr [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify.c:3973 [20:26:12] 0x77c836 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify.c:11194 [20:26:12] 0x77f148 gimplify_stmt(tree_node**, gimple**) [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify.c:6496 [20:26:12] 0x78203e gimplify_cond_expr [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify.c:3866 [20:26:12] 0x77c836 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify.c:11194 [20:26:12] 0x77bbc1 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify.c:11966 [20:26:12] 0x77c4ae gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify.c:11339 [20:26:12] 0x7879a9 force_gimple_operand_1(tree_node*, gimple**, bool (*)(tree_node*), tree_node*) [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify-me.c:78 [20:26:12] 0x787a7d force_gimple_operand_gsi_1(gimple_stmt_iterator*, tree_node*, bool (*)(tree_node*), tree_node*, bool, gsi_iterator_update) [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/gimplify-me.c:115 [20:26:12] 0xaa991d rewrite_use_nonlinear_expr [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/tree-ssa-loop-ivopts.c:7242 [20:26:12] 0xaa991d rewrite_groups [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/tree-ssa-loop-ivopts.c:7466 [20:26:12] 0xaa991d tree_ssa_iv_optimize_loop [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/tree-ssa-loop-ivopts.c:7827 [20:26:12] [ 34%] Building CXX object gcore/CMakeFiles/gcore.dir/gdalmultidim.cpp.obj [20:26:12] 0xaa991d tree_ssa_iv_optimize() [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/tree-ssa-loop-ivopts.c:7859 [20:26:12] cd /workspace/srcdir/gdal-3.5.1/build/gcore && /opt/bin/x86_64-w64-mingw32-libgfortran4-cxx11/x86_64-w64-mingw32-g++ --sysroot=/opt/x86_64-w64-mingw32/x86_64-w64-mingw32/sys-root/ -DDEBUG -DDONT_DEPRECATE_SPRINTF -DGDAL_CMAKE_BUILD -DGDAL_COMPILATION -DHAVE_AVX_AT_COMPILE_TIME -DHAVE_GEOS -DHAVE_SSE_AT_COMPILE_TIME -DHAVE_SSSE3_AT_COMPILE_TIME -DPAM_ENABLED -DSQLITE_ENABLED @CMakeFiles/gcore.dir/includes_CXX.rsp -fvisibility=hidden -g -Os -Wall -Wextra -Winit-self -Wunused-parameter -Wmissing-declarations -Wlogical-op -Wshadow -Wmissing-include-dirs -Wformat -Werror=format-security -Wno-format-nonliteral -Werror=vla -Wno-clobbered -Wdate-time -Wnull-dereference -Wfloat-conversion -Wnon-virtual-dtor -Woverloaded-virtual -Wsuggest-override -fno-operator-names -Wzero-as-null-pointer-constant -ftrapv -Wold-style-cast -Weffc++ -std=gnu++11 -MD -MT gcore/CMakeFiles/gcore.dir/gdalmultidim.cpp.obj -MF CMakeFiles/gcore.dir/gdalmultidim.cpp.obj.d -o CMakeFiles/gcore.dir/gdalmultidim.cpp.obj -c /workspace/srcdir/gdal-3.5.1/gcore/gdalmultidim.cpp [20:26:12] 0xac2900 execute [20:26:12] /workspace/srcdir/gcc-7.1.0/gcc/tree-ssa-loop.c:549 [20:26:12] Please submit a full bug report, [20:26:12] with preprocessed source if appropriate. [20:26:12] Please include the complete backtrace with any bug report. [20:26:12] See <https://gcc.gnu.org/bugs/> for instructions. [20:26:12] make[2]: *** [gcore/CMakeFiles/gcore.dir/build.make:617: gcore/CMakeFiles/gcore.dir/overview.cpp.obj] Error 1 [20:26:12] make[2]: *** Waiting for unfinished jobs.... ``` * stop cmake from looking in the wrong place without this it would pick up dependencies like ``` -- Could NOT find ZSTD (missing: ZSTD_DIR) -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0") -- Found ZSTD: /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/lib/libzstd.so (found version "1.5.2") ``` * Add postgres support Fixes #5349 * Revert "Add postgres support" It seems to find the wrong postgres: ``` [07:34:13] In file included from /workspace/srcdir/gdal-3.5.1/ogr/ogrsf_frmts/pg/ogr_pg.h:35, [07:34:13] from /workspace/srcdir/gdal-3.5.1/ogr/ogrsf_frmts/pg/ogrpgdatasource.cpp:31: [07:34:13] /opt/aarch64-linux-gnu/aarch64-linux-gnu/sys-root/usr/local/include/libpq-fe.h:29:10: fatal error: postgres_ext.h: No such file or directory [07:34:13] #include "postgres_ext.h" [07:34:13] ^~~~~~~~~~~~~~~~ ``` This reverts commit da9909d. * allow undefined symbols on FreeBSD This patch is based on a similar patch for the Glib build. The error this fixes is: ``` [08:24:11] /opt/bin/x86_64-unknown-freebsd12.2-libgfortran5-cxx11/x86_64-unknown-freebsd12.2-clang++ --sysroot=/opt/x86_64-unknown-freebsd12.2/x86_64-unknown-freebsd12.2/sys-root/ -fPIC -fno-finite-math-only -fvisibility=hidden -O3 -DNDEBUG -Wl,--no-undefined -shared -Wl,-soname,libgdal.so.31 -o libgdal.so.31.0.1 @CMakeFiles/GDAL.dir/objects1.rsp -Wl,-rpath,/workspace/destdir/lib: -lm /workspace/destdir/lib/libz.so /workspace/destdir/lib/libcurl.so /opt/x86_64-unknown-freebsd12.2/x86_64-unknown-freebsd12.2/sys-root/usr/lib/libcrypto.so /opt/x86_64-unknown-freebsd12.2/x86_64-unknown-freebsd12.2/sys-root/usr/lib/libssl.so /workspace/destdir/lib/libzstd.so /opt/x86_64-unknown-freebsd12.2/x86_64-unknown-freebsd12.2/sys-root/usr/lib/liblzma.so /workspace/destdir/lib/libz.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libjpeg.so /workspace/destdir/lib/libz.so /workspace/destdir/lib/libtiff.so /workspace/destdir/lib/libjpeg.so /workspace/destdir/lib/libtiff.so /workspace/destdir/lib/libjpeg.so /workspace/destdir/lib/libgeotiff.so.5.2.0 /workspace/destdir/lib/libtiff.so /workspace/destdir/lib/libjpeg.so /workspace/destdir/lib/libpng.so /workspace/destdir/lib/libz.so /workspace/destdir/lib/libLerc.so /workspace/destdir/lib/libzstd.so /workspace/destdir/lib/libpng.so /workspace/destdir/lib/libz.so /workspace/destdir/lib/libz.so /workspace/destdir/lib/libjpeg.so /workspace/destdir/lib/libz.so /workspace/destdir/lib/libpng.so /workspace/destdir/lib/libz.so /workspace/destdir/lib/libcurl.so /workspace/destdir/lib/libsqlite3.so /workspace/destdir/lib/libz.so /workspace/destdir/lib/libopenjp2.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libsqlite3.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libsqlite3.so /workspace/destdir/lib/libsqlite3.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libsqlite3.so /workspace/destdir/lib/libsqlite3.so /workspace/destdir/lib/libsqlite3.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libexpat.so /workspace/destdir/lib/libgeos_c.so.1.17.0 /workspace/destdir/lib/libproj.so.25.9.1.0 -lpthread /opt/x86_64-unknown-freebsd12.2/x86_64-unknown-freebsd12.2/sys-root/usr/lib/libcrypto.so -Wl,-rpath-link,/workspace/destdir/lib [08:24:12] /opt/x86_64-unknown-freebsd12.2/bin/x86_64-unknown-freebsd12.2-ld: port/CMakeFiles/cpl.dir/cpl_spawn.cpp.o: in function `CPLSpawnAsync': [08:24:12] cpl_spawn.cpp:(.text+0x822): undefined reference to `environ' [08:24:12] clang-13: error: linker command failed with exit code 1 (use -v to see invocation) ``` * retry adding PostresQL, specify PostgreSQL_LIBRARY * add PostgreSQL_INCLUDE_DIR * leave out PostgreSQL for now current error is: ``` [11:32:50] In file included from /workspace/srcdir/gdal-3.5.1/ogr/ogrsf_frmts/pg/ogr_pg.h:35, [11:32:50] from /workspace/srcdir/gdal-3.5.1/ogr/ogrsf_frmts/pg/ogrpgtablelayer.cpp:31: [11:32:50] /opt/aarch64-linux-gnu/aarch64-linux-gnu/sys-root/usr/local/include/libpq-fe.h:29:10: fatal error: postgres_ext.h: No such file or directory [11:32:50] #include "postgres_ext.h" [11:32:50] ^~~~~~~~~~~~~~~~ [11:32:50] compilation terminated. ```
- Loading branch information