Opened 3 months ago
Last modified 3 months ago
#70522 new defect
postgis3 violates MacPorts compiler setting
Reported by: | barracuda156 | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.10.0 |
Keywords: | Cc: | Veence (Vincent), nilason (Nicklas Larsson) | |
Port: | postgis3 |
Description
We have the same issue which we had with pdal
:
---> Configuring pg16-postgis3 Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_postgis3/pg16-postgis3/work/postgis-3.4.2" && ./configure --prefix=/opt/local --without-address-standardizer --with-raster --without-sfcgal --with-topology --libdir=/opt/local/lib/postgresql16 --bindir=/opt/local/lib/postgresql16/bin --with-pgconfig=/opt/local/lib/postgresql16/bin/pg_config PROJ_CFLAGS=-I/opt/local/lib/proj9/include PROJ_LIBS="-L/opt/local/lib/proj9/lib -lproj" --with-gdalconfig=/opt/local/bin/gdal-config checking for a BSD-compatible install... /usr/bin/install -c checking build system type... powerpc-apple-darwin10.0.0d2 checking host system type... powerpc-apple-darwin10.0.0d2 checking how to print strings... printf checking for gcc... ccache /opt/local/bin/gcc-mp-14 checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether ccache /opt/local/bin/gcc-mp-14 accepts -g... yes checking for ccache /opt/local/bin/gcc-mp-14 option to accept ISO C89... none needed checking for a sed that does not truncate output... /opt/local/bin/gsed checking for grep that handles long lines and -e... /opt/local/bin/ggrep checking for egrep... /opt/local/bin/ggrep -E checking for fgrep... /opt/local/bin/ggrep -F checking for ld used by ccache /opt/local/bin/gcc-mp-14... /opt/local/bin/ld checking if the linker (/opt/local/bin/ld) is GNU ld... no checking for BSD- or MS-compatible name lister (nm)... /opt/local/bin/nm -B checking the name lister (/opt/local/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 196608 checking how to convert powerpc-apple-darwin10.0.0d2 file names to powerpc-apple-darwin10.0.0d2 format... func_convert_file_noop checking how to convert powerpc-apple-darwin10.0.0d2 file names to toolchain format... func_convert_file_noop checking for /opt/local/bin/ld option to reload object files... -r checking for objdump... no checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking whether we are using Clang... no checking whether we are using the GNU C compiler... (cached) yes checking for gcc-ar... no checking for ar... ar checking whether we are using Clang... (cached) no checking whether we are using the GNU C compiler... (cached) yes checking for gcc-ranlib... no checking for ranlib... ranlib checking for archiver @FILE support... no checking for strip... strip checking for ranlib... (cached) ranlib checking for gawk... gawk checking command to parse /opt/local/bin/nm -B output from ccache /opt/local/bin/gcc-mp-14 object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dsymutil... dsymutil checking for nmedit... nmedit checking for lipo... lipo checking for otool... otool checking for otool64... no checking for -single_module linker flag... yes checking for -exported_symbols_list linker flag... yes checking for -force_load linker flag... yes checking how to run the C preprocessor... ccache /opt/local/bin/gcc-mp-14 -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if ccache /opt/local/bin/gcc-mp-14 supports -fno-rtti -fno-exceptions... no checking for ccache /opt/local/bin/gcc-mp-14 option to produce PIC... -fno-common -DPIC checking if ccache /opt/local/bin/gcc-mp-14 PIC flag -fno-common -DPIC works... yes checking if ccache /opt/local/bin/gcc-mp-14 static flag -static works... no checking if ccache /opt/local/bin/gcc-mp-14 supports -c -o file.o... yes checking if ccache /opt/local/bin/gcc-mp-14 supports -c -o file.o... (cached) yes checking whether the ccache /opt/local/bin/gcc-mp-14 linker (/opt/local/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... darwin10.0.0d2 dyld checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for gcc... (cached) ccache /opt/local/bin/gcc-mp-14 checking whether we are using the GNU C compiler... (cached) yes checking whether ccache /opt/local/bin/gcc-mp-14 accepts -g... (cached) yes checking for ccache /opt/local/bin/gcc-mp-14 option to accept ISO C89... (cached) none needed checking how to run the C preprocessor... ccache /opt/local/bin/gcc-mp-14 -E checking for grep that handles long lines and -e... (cached) /opt/local/bin/ggrep checking whether byte ordering is bigendian... yes checking for cpp... /opt/local/bin/cpp-mp-14 checking if ccache /opt/local/bin/gcc-mp-14 supports -fno-math-errno... yes checking if ccache /opt/local/bin/gcc-mp-14 supports -fno-signed-zeros... yes checking if ccache /opt/local/bin/gcc-mp-14 supports -std=gnu99... yes checking if ccache /opt/local/bin/gcc-mp-14 supports --exclude-libs... no checking for flex... flex checking lex output file root... lex.yy checking lex library... -lfl checking whether yytext is a pointer... yes checking for bison... /opt/local/bin/bison checking ieeefp.h usability... no checking ieeefp.h presence... no checking for ieeefp.h... no checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking for vasprintf... yes checking for asprintf... yes checking for _LARGEFILE_SOURCE value needed for large files... no checking for perl... /opt/local/bin/perl checking for xsltproc... /opt/local/bin/xsltproc checking for xml2pot... no configure: WARNING: xml2pot is not installed so translations cannot be updated checking for msgmerge... /opt/local/bin/msgmerge checking for msgattrib... /opt/local/bin/msgattrib checking for msginit... /opt/local/bin/msginit checking for convert... /opt/local/bin/convert checking for dblatex... no configure: WARNING: dblatex is not installed so PDF documentation cannot be built checking for dbtoepub... no configure: WARNING: dbtoepub is not installed so EPUB documentation cannot be built checking for xmllint... /opt/local/bin/xmllint checking for html/docbook.xsl in directory /usr/share/sgml/docbook/xsl-stylesheets...... not found checking for html/docbook.xsl in directory /usr/share/xml/docbook/stylesheet/docbook-xsl...... not found checking for html/docbook.xsl in directory /usr/share/xml/docbook/stylesheet/docbook-xsl-ns...... not found checking for html/docbook.xsl in directory /usr/share/xml/docbook/stylesheet/nwalsh...... not found checking for html/docbook.xsl in directory /usr/share/sgml/docbook/stylesheet/xsl/nwalsh...... not found checking for html/docbook.xsl in directory /opt/local/share/xsl/docbook-xsl...... not found checking for html/docbook.xsl in directory /usr/local/opt/docbook-xsl/docbook-xsl...... not found checking for html/docbook.xsl in directory /usr/local/share/xsl/docbook-xsl...... not found checking for html/docbook.xsl in directory /usr/share/xsl/docbook-xsl...... not found configure: WARNING: could not locate Docbook stylesheets required to build the documentation checking for pkg-config... /opt/local/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for CUNIT... yes checking iconv.h usability... yes checking iconv.h presence... yes checking for iconv.h... yes checking for libiconv_open in -liconv... yes checking for iconvctl... no checking for libiconvctl... no Using user-specified pg_config file: /opt/local/lib/postgresql16/bin/pg_config checking PostgreSQL version... PostgreSQL 16.3 checking libpq-fe.h usability... yes checking libpq-fe.h presence... yes checking for libpq-fe.h... yes checking for PQserverVersion in -lpq... yes ------------------------------------------------------------------------ WARNING: You have set the --prefix to '/opt/local'. But we mostly ignore the --prefix. For your info, using the values determined from /opt/local/lib/postgresql16/bin/pg_config we will be installing: * postgis shared library in /opt/local/lib/postgresql16 * postgis SQL files in /opt/local/share/postgresql16/contrib/postgis-3.4 ------------------------------------------------------------------------ checking for xml2-config... /opt/local/bin/xml2-config checking for xcrun... /usr/bin/xcrun xcrun: error: unrecognized option: --show-sdk-version usage: xcrun [-verbose] [-no-cache] [-sdk <sdkroot>] [-log] [-run] <utility> [argument ...] xcrun [-verbose] [-no-cache] [-sdk <sdkroot>] -find <utility> <tool> [tool arguments ...] ./configure: line 15491: test: =: unary operator expected using OSX XCode ... yes checking libxml/tree.h usability... yes checking libxml/tree.h presence... yes checking for libxml/tree.h... yes checking libxml/parser.h usability... yes checking libxml/parser.h presence... yes checking for libxml/parser.h... yes checking libxml/xpath.h usability... yes checking libxml/xpath.h presence... yes checking for libxml/xpath.h... yes checking libxml/xpathInternals.h usability... yes checking libxml/xpathInternals.h presence... yes checking for libxml/xpathInternals.h... yes checking for xmlInitParser in -lxml2... yes checking for geos-config... /opt/local/bin/geos-config checking GEOS version... 3.12.2 checking for GEOS_RPATH under MacOS... checking geos_c.h usability... yes checking geos_c.h presence... yes checking for geos_c.h... yes checking for initGEOS in -lgeos_c... yes checking whether make sets $(MAKE)... yes checking for a thread-safe mkdir -p... /opt/local/bin/gmkdir -p checking whether NLS is requested... yes checking for msgfmt... /opt/local/bin/msgfmt checking for gmsgfmt... /opt/local/bin/msgfmt checking for xgettext... /opt/local/bin/xgettext checking for msgmerge... (cached) /opt/local/bin/msgmerge checking for ld... /opt/local/bin/ld checking if the linker (/opt/local/bin/ld) is GNU ld... no checking for shared library run path origin... done checking 32-bit host C ABI... yes checking for ELF binary format... no checking for the common suffixes of directories in the library search path... lib,lib,lib checking for CFPreferencesCopyAppValue... yes checking for CFLocaleCopyPreferredLanguages... yes checking for GNU gettext in libc... no checking for iconv... yes checking for working iconv... yes checking how to link with libiconv... -liconv checking for GNU gettext in libintl... yes checking whether to use NLS... yes checking where the gettext function comes from... external libintl checking how to link with libintl... -lintl -Wl,-framework -Wl,CoreFoundation checking for PROJ... yes Package proj was not found in the pkg-config search path. Perhaps you should add the directory containing `proj.pc' to the PKG_CONFIG_PATH environment variable No package 'proj' found checking for PROJ_RPATH under MacOS... /opt/local/lib/proj9/lib checking proj_api.h usability... no checking proj_api.h presence... no checking for proj_api.h... no checking proj.h usability... yes checking proj.h presence... yes checking for proj.h... yes checking for proj.h... (cached) yes checking for pj_get_release in -lproj... no checking for proj_info in -lproj... yes checking for JSONC... yes checking for PROTOBUFC... yes checking protobuf-c/protobuf-c.h usability... yes checking protobuf-c/protobuf-c.h presence... yes checking for protobuf-c/protobuf-c.h... yes checking for protobuf_c_message_init in -lprotobuf-c... yes checking for protobuf_c_version in -lprotobuf-c... yes checking protobuf-c version... 1004001 checking for protoc-c... /opt/local/bin/protoc-c checking if ccache /opt/local/bin/gcc-mp-14 supports -Wall... yes phony-revision: ADDRESS_STANDARDIZER support: disabled TOPOLOGY: Topology support requested RASTER: Raster support requested checking GDAL version... 3.9.1 checking for OGR enabled... yes checking gdal.h usability... yes checking gdal.h presence... yes checking for gdal.h... yes checking ogr_api.h usability... yes checking ogr_api.h presence... yes checking for ogr_api.h... yes checking cpl_conv.h usability... yes checking cpl_conv.h presence... yes checking for cpl_conv.h... yes checking for library containing GDALAllRegister... none required checking for library containing OGRRegisterAll... none required checking whether we are using the GNU C++ compiler... yes checking whether /usr/bin/gcc-4.2 -std=gnu99 accepts -g... yes checking how to run the C++ preprocessor... /usr/bin/gcc-4.2 -std=gnu99 -E checking for ld used by /usr/bin/gcc-4.2 -std=gnu99... /opt/local/bin/ld checking if the linker (/opt/local/bin/ld) is GNU ld... no checking whether the /usr/bin/gcc-4.2 -std=gnu99 linker (/opt/local/bin/ld) supports shared libraries... yes checking for /usr/bin/gcc-4.2 -std=gnu99 option to produce PIC... -fno-common -DPIC checking if /usr/bin/gcc-4.2 -std=gnu99 PIC flag -fno-common -DPIC works... yes checking if /usr/bin/gcc-4.2 -std=gnu99 static flag -static works... no checking if /usr/bin/gcc-4.2 -std=gnu99 supports -c -o file.o... yes checking if /usr/bin/gcc-4.2 -std=gnu99 supports -c -o file.o... (cached) yes checking whether the /usr/bin/gcc-4.2 -std=gnu99 linker (/opt/local/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... darwin10.0.0d2 dyld checking how to hardcode library paths into programs... immediate checking whether /usr/bin/gcc-4.2 -std=gnu99 supports C++11 features with -std=c++11... no checking whether /usr/bin/gcc-4.2 -std=gnu99 supports C++11 features with +std=c++11... no checking whether /usr/bin/gcc-4.2 -std=gnu99 supports C++11 features with -h std=c++11... no checking whether /usr/bin/gcc-4.2 -std=gnu99 supports C++11 features with -std=c++0x... no checking whether /usr/bin/gcc-4.2 -std=gnu99 supports C++11 features with +std=c++0x... no checking whether /usr/bin/gcc-4.2 -std=gnu99 supports C++11 features with -h std=c++0x... no configure: error: *** A compiler with support for C++11 language features is required. Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_postgis3/pg16-postgis3/work/postgis-3.4.2" && ./configure --prefix=/opt/local --without-address-standardizer --with-raster --without-sfcgal --with-topology --libdir=/opt/local/lib/postgresql16 --bindir=/opt/local/lib/postgresql16/bin --with-pgconfig=/opt/local/lib/postgresql16/bin/pg_config PROJ_CFLAGS=-I/opt/local/lib/proj9/include PROJ_LIBS="-L/opt/local/lib/proj9/lib -lproj" --with-gdalconfig=/opt/local/bin/gdal-config Exit code: 1
compiler.thread_local_storage yes
should ensure Xcode gcc is avoided, but it is not.
Also, C++11 must explicitly be set, otherwise needed flags are not added.
Note: See
TracTickets for help on using
tickets.
Replying to barracuda156:
Which issue was that?
compiler.thread_local_storage yes
has successfully caused MacPorts to select the newer gcc14 compiler.Here it wasn't expecting a version of
xcrun
as old as you have. Not sure what effect that will have on the build though I expect it only to affect SDK selection, not compiler selection.Here something has gone wrong and it is not using the compiler MacPorts is telling it to use.
According to #67476 it needs C++14.