Opened 11 months ago
Closed 5 months ago
#68867 closed defect (fixed)
pointcloud does not respect Macports compiler setting, which breaks the build
Reported by: | barracuda156 | Owned by: | nilason (Nicklas Larsson) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | powerpc, leopard, snowleopard | Cc: | |
Port: | pg15-pgpointcloud |
Description
Firstly, it needs C++11 standard set, otherwise build fails straightaway with cc1plus: error: unrecognized command line option "-std=c++11"
.
However, with compiler.cxx_standard
set, it still picks a wrong compiler in a middle of the build:
---> Configuring pg15-pgpointcloud Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_databases_pgpointcloud/pg15-pgpointcloud/work/pointcloud-1.2.5" && autoupdate && ./autogen.sh && ./configure --prefix=/opt/local --with-xml2config=/opt/local/bin/xml2-config --without-lazperf --without-cunit --with-pgconfig=/opt/local/lib/postgresql15/bin/pg_config * Running /opt/local/bin/aclocal (1.16.5) * Running /opt/local/bin/autoconf (2.71) ====================================== Now you are ready to run './configure' ====================================== checking for gcc... /opt/local/bin/gcc-mp-13 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 the compiler supports GNU C... yes checking whether /opt/local/bin/gcc-mp-13 accepts -g... yes checking for /opt/local/bin/gcc-mp-13 option to enable C11 features... none needed checking for cpp... /usr/bin/cpp checking for git... yes checking for .git... no checking whether the compiler supports GNU C++... yes checking whether /opt/local/bin/g++-mp-13 accepts -g... yes checking for /opt/local/bin/g++-mp-13 option to enable C++11 features... none needed checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for zlib.h... yes checking for inflate in -lz... yes checking for CUnit/CUnit.h... yes checking for CU_initialize_registry in -lcunit... yes Using user-specified pg_config file: /opt/local/lib/postgresql15/bin/pg_config checking PostgreSQL version... PostgreSQL 15.5 checking for libpq-fe.h... yes checking for PQserverVersion in -lpq... yes Using user-specified xml2-config file: /opt/local/bin/xml2-config checking for libxml/tree.h... yes checking for libxml/parser.h... yes checking for libxml/xpath.h... yes checking for libxml/xpathInternals.h... yes checking for xmlInitParser in -lxml2... yes configure: creating ./config.status config.status: creating config.mk config.status: creating pgsql/Makefile config.status: creating lib/pc_config.h config.status: creating pgsql/sqldefines.h PointCloud is now configured for -------------- Compiler Info ------------- C compiler: /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc CXX compiler: /opt/local/bin/g++-mp-13 -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc SQL preprocessor: /usr/bin/cpp -traditional-cpp -w -P -------------- Dependencies -------------- PostgreSQL config: /opt/local/lib/postgresql15/bin/pg_config PostgreSQL version: PostgreSQL 15.5 (150) Libxml2 config: /opt/local/bin/xml2-config Libxml2 version: 2.11.5 LazPerf status: disabled CUnit status: disabled ---> Building pg15-pgpointcloud Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_databases_pgpointcloud/pg15-pgpointcloud/work/pointcloud-1.2.5" && /usr/bin/make -j6 -w all make: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_databases_pgpointcloud/pg15-pgpointcloud/work/pointcloud-1.2.5' /usr/bin/make -C lib all make[1]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_databases_pgpointcloud/pg15-pgpointcloud/work/pointcloud-1.2.5/lib' /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_bytes.o pc_bytes.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_dimstats.o pc_dimstats.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_filter.o pc_filter.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_mem.o pc_mem.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_patch.o pc_patch.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_patch_dimensional.o pc_patch_dimensional.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_patch_uncompressed.o pc_patch_uncompressed.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_point.o pc_point.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_pointlist.o pc_pointlist.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_schema.o pc_schema.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_sort.o pc_sort.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_stats.o pc_stats.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_util.o pc_util.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_val.o pc_val.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o stringbuffer.o stringbuffer.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o hashtable.o hashtable.c /opt/local/bin/gcc-mp-13 -pipe -Os -arch ppc -fPIC -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_patch_lazperf.o pc_patch_lazperf.c /opt/local/bin/g++-mp-13 -fPIC -std=c++11 -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -I/opt/local/include/libxml2 -I/opt/local/include -c -o lazperf_adapter.o lazperf_adapter.cpp ar rs liblazperf.a lazperf_adapter.o ar: creating archive liblazperf.a /opt/local/bin/ranlib: file: liblazperf.a(lazperf_adapter.o) has no symbols warning: /opt/local/bin/ranlib: warning for library: liblazperf.a the table of contents is empty (no object file members in the library define global symbols) ar rs libpc.a pc_bytes.o pc_dimstats.o pc_filter.o pc_mem.o pc_patch.o pc_patch_dimensional.o pc_patch_uncompressed.o pc_point.o pc_pointlist.o pc_schema.o pc_sort.o pc_stats.o pc_util.o pc_val.o stringbuffer.o hashtable.o pc_patch_lazperf.o ar: creating archive libpc.a /usr/bin/make -C cunit all make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_databases_pgpointcloud/pg15-pgpointcloud/work/pointcloud-1.2.5/lib/cunit' CUnit not found, skipping build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_databases_pgpointcloud/pg15-pgpointcloud/work/pointcloud-1.2.5/lib/cunit' make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_databases_pgpointcloud/pg15-pgpointcloud/work/pointcloud-1.2.5/lib' /usr/bin/make -C pgsql all make[1]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_databases_pgpointcloud/pg15-pgpointcloud/work/pointcloud-1.2.5/pgsql' /usr/bin/gcc-4.2 -std=gnu99 -pipe -Os -arch ppc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -pipe -Os -I../lib -I. -I./ -I/opt/local/include/postgresql15/server -I/opt/local/include/postgresql15/internal -I/opt/local/include -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_inout.o pc_inout.c /usr/bin/gcc-4.2 -std=gnu99 -pipe -Os -arch ppc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -pipe -Os -I../lib -I. -I./ -I/opt/local/include/postgresql15/server -I/opt/local/include/postgresql15/internal -I/opt/local/include -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_access.o pc_access.c /usr/bin/gcc-4.2 -std=gnu99 -pipe -Os -arch ppc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -pipe -Os -I../lib -I. -I./ -I/opt/local/include/postgresql15/server -I/opt/local/include/postgresql15/internal -I/opt/local/include -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_editor.o pc_editor.c /usr/bin/gcc-4.2 -std=gnu99 -pipe -Os -arch ppc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -pipe -Os -I../lib -I. -I./ -I/opt/local/include/postgresql15/server -I/opt/local/include/postgresql15/internal -I/opt/local/include -I/opt/local/include/libxml2 -I/opt/local/include -c -o pc_pgsql.o pc_pgsql.c sed -e 's/#POINTCLOUD_VERSION#/1.2.5/' \ -e 's/#POINTCLOUD_VERSION_MAJOR#/1.2/' pointcloud.control.in > pointcloud.control /usr/bin/cpp -traditional-cpp -w -P -I. pointcloud.sql.in | sed -e 's/#POINTCLOUD_VERSION#/1.2.5/' > pointcloud--1.2.5.sql cat pointcloud--1.2.5.sql | ../util/proc_upgrade.pl > pointcloud--1.1.0--1.2.5.sql cat pointcloud--1.2.5.sql | ../util/proc_upgrade.pl > pointcloud--1.1.1--1.2.5.sql cat pointcloud--1.2.5.sql | ../util/proc_upgrade.pl > pointcloud--1.2.0--1.2.5.sql cat pointcloud--1.2.5.sql | ../util/proc_upgrade.pl > pointcloud--1.2.1--1.2.5.sql cat pointcloud--1.2.5.sql | ../util/proc_upgrade.pl > pointcloud--1.2.2--1.2.5.sql cat pointcloud--1.2.5.sql | ../util/proc_upgrade.pl > pointcloud--1.2.3--1.2.5.sql cat pointcloud--1.2.5.sql | ../util/proc_upgrade.pl > pointcloud--1.2.4--1.2.5.sql cat pointcloud--1.2.5.sql | ../util/proc_upgrade.pl > pointcloud--1.2.5next--1.2.5.sql ln -f pointcloud--1.2.5next--1.2.5.sql pointcloud--1.2.5--1.2.5next.sql /usr/bin/gcc-4.2 -std=gnu99 -pipe -Os -arch ppc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -pipe -Os -bundle -o pointcloud-1.2.so pc_inout.o pc_access.o pc_editor.o pc_pgsql.o -L/opt/local/lib/postgresql15 -L/opt/local/lib -Wl,-headerpad_max_install_names -headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -L/opt/local/lib -L/opt/local/lib -Wl,-dead_strip_dylibs ../lib/libpc.a ../lib/liblazperf.a -lstdc++ -lm -L/opt/local/lib -lxml2 -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -lz -bundle_loader /opt/local/lib/postgresql15/bin/postgres Undefined symbols: "restGPRx", referenced from: _pc_point_make in libpc.a(pc_point.o) _pc_point_from_data in libpc.a(pc_point.o) _pc_point_get_double in libpc.a(pc_point.o) _pc_point_set_double in libpc.a(pc_point.o) _pc_point_to_string in libpc.a(pc_point.o) _pc_point_from_double_array in libpc.a(pc_point.o) _pc_point_from_wkb in libpc.a(pc_point.o) _pc_point_to_wkb in libpc.a(pc_point.o) _pc_point_to_geometry_wkb in libpc.a(pc_point.o) _pc_point_to_double_array in libpc.a(pc_point.o) _pc_schema_new in libpc.a(pc_schema.o) _pc_schema_calculate_byteoffsets in libpc.a(pc_schema.o) _pc_schema_clone in libpc.a(pc_schema.o) _pc_schema_to_json in libpc.a(pc_schema.o) _pc_schema_check_xyzm in libpc.a(pc_schema.o) _pc_schema_from_xml in libpc.a(pc_schema.o) _pc_schema_same_dimensions in libpc.a(pc_schema.o) _pc_schema_same_interpretations in libpc.a(pc_schema.o) _pc_bytes_from_hexbytes in libpc.a(pc_util.o) _pc_hexbytes_from_bytes in libpc.a(pc_util.o) _uncompressed_bytes_flip_endian in libpc.a(pc_util.o) _pc_bounding_diagonal_wkb_from_bounds in libpc.a(pc_util.o) _pc_bounding_diagonal_wkb_from_stats in libpc.a(pc_util.o) _pc_patch_point_set in libpc.a(pc_patch.o) _pc_patch_compute_stats in libpc.a(pc_patch.o) _pc_patch_compress in libpc.a(pc_patch.o) _pc_patch_from_wkb in libpc.a(pc_patch.o) _pc_patch_from_patchlist in libpc.a(pc_patch.o) _pc_patch_range in libpc.a(pc_patch.o) _pc_patch_uncompressed_filter in libpc.a(pc_filter.o) _pc_bitmap_new in libpc.a(pc_filter.o) _pc_bytes_clone in libpc.a(pc_bytes.o) _pc_bytes_uncompressed_filter in libpc.a(pc_bytes.o) _pc_bytes_make in libpc.a(pc_bytes.o) _pc_bytes_run_count in libpc.a(pc_bytes.o) _pc_bytes_run_length_encode in libpc.a(pc_bytes.o) _pc_bytes_run_length_decode in libpc.a(pc_bytes.o) _pc_bytes_sigbits_count_64 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_encode_8 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_encode_16 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_encode_32 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_encode_64 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_encode in libpc.a(pc_bytes.o) _pc_bytes_sigbits_decode_8 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_decode_16 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_decode_32 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_decode_64 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_decode in libpc.a(pc_bytes.o) _pc_bytes_zlib_encode in libpc.a(pc_bytes.o) _pc_bytes_zlib_decode in libpc.a(pc_bytes.o) _pc_bytes_flip_endian in libpc.a(pc_bytes.o) _pc_bytes_serialize in libpc.a(pc_bytes.o) _pc_bytes_deserialize in libpc.a(pc_bytes.o) _pc_bytes_filter in libpc.a(pc_bytes.o) _pc_bytes_sigbits_to_ptr_8 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_to_ptr_16 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_to_ptr_32 in libpc.a(pc_bytes.o) _pc_bytes_sigbits_to_ptr_64 in libpc.a(pc_bytes.o) _pc_bytes_zlib_to_ptr in libpc.a(pc_bytes.o) _pc_patch_dimensional_clone in libpc.a(pc_patch_dimensional.o) _pc_patch_dimensional_serialized_size in libpc.a(pc_patch_dimensional.o) _pc_patch_dimensional_to_string in libpc.a(pc_patch_dimensional.o) _pc_patch_dimensional_from_uncompressed in libpc.a(pc_patch_dimensional.o) _pc_patch_dimensional_compress in libpc.a(pc_patch_dimensional.o) _pc_patch_dimensional_decompress in libpc.a(pc_patch_dimensional.o) _pc_patch_dimensional_to_wkb in libpc.a(pc_patch_dimensional.o) _pc_patch_dimensional_from_wkb in libpc.a(pc_patch_dimensional.o) _pc_patch_dimensional_from_pointlist in libpc.a(pc_patch_dimensional.o) _pc_patch_dimensional_pointn in libpc.a(pc_patch_dimensional.o) _default_msg_handler in libpc.a(pc_mem.o) _pcalloc in libpc.a(pc_mem.o) _pcstrdup in libpc.a(pc_mem.o) _pc_patch_uncompressed_sort in libpc.a(pc_sort.o) _pc_schema_get_dimensions_by_name in libpc.a(pc_sort.o) _pc_patch_sort in libpc.a(pc_sort.o) _pc_patch_uncompressed_is_sorted in libpc.a(pc_sort.o) _pc_bytes_uncompressed_is_sorted in libpc.a(pc_sort.o) _pc_bytes_sigbits_is_sorted in libpc.a(pc_sort.o) _pc_bytes_zlib_is_sorted in libpc.a(pc_sort.o) _pc_bytes_run_length_is_sorted in libpc.a(pc_sort.o) _pc_patch_dimensional_is_sorted in libpc.a(pc_sort.o) _pc_patch_lazperf_is_sorted in libpc.a(pc_sort.o) _pc_patch_is_sorted in libpc.a(pc_sort.o) _pc_pointlist_make in libpc.a(pc_pointlist.o) _pc_pointlist_add_point in libpc.a(pc_pointlist.o) _pc_pointlist_from_dimensional in libpc.a(pc_pointlist.o) _pc_pointlist_from_uncompressed in libpc.a(pc_pointlist.o) _pc_dimstats_make in libpc.a(pc_dimstats.o) _pc_dimstats_to_string in libpc.a(pc_dimstats.o) _pc_dimstats_update in libpc.a(pc_dimstats.o) _pc_stats_new_from_data in libpc.a(pc_stats.o) _pc_stats_new in libpc.a(pc_stats.o) _pc_stats_clone in libpc.a(pc_stats.o) _pc_patch_uncompressed_compute_stats in libpc.a(pc_stats.o) _pc_patch_uncompressed_to_string in libpc.a(pc_patch_uncompressed.o) _pc_patch_uncompressed_to_wkb in libpc.a(pc_patch_uncompressed.o) _pc_patch_uncompressed_from_wkb in libpc.a(pc_patch_uncompressed.o) _pc_patch_uncompressed_make in libpc.a(pc_patch_uncompressed.o) _pc_patch_uncompressed_compute_extent in libpc.a(pc_patch_uncompressed.o) _pc_patch_uncompressed_from_pointlist in libpc.a(pc_patch_uncompressed.o) _pc_patch_uncompressed_from_dimensional in libpc.a(pc_patch_uncompressed.o) _pc_patch_uncompressed_add_point in libpc.a(pc_patch_uncompressed.o) _hash_str in libpc.a(hashtable.o) _create_hashtable in libpc.a(hashtable.o) _hashtable_insert in libpc.a(hashtable.o) _hashtable_search in libpc.a(hashtable.o) _hashtable_remove in libpc.a(hashtable.o) _stringbuffer_makeroom in libpc.a(stringbuffer.o) _stringbuffer_avprintf in libpc.a(stringbuffer.o) _stringbuffer_create_with_size in libpc.a(stringbuffer.o) _stringbuffer_append in libpc.a(stringbuffer.o) _stringbuffer_getstringcopy in libpc.a(stringbuffer.o) ld: symbol(s) not found collect2: ld returned 1 exit status make[1]: *** [pointcloud-1.2.so] Error 1
Unsurprisingly, this fails.
Change History (4)
comment:1 follow-ups: 2 3 Changed 11 months ago by nilason (Nicklas Larsson)
comment:2 Changed 11 months ago by barracuda156
Replying to nilason:
pointcloud
uses for parts of its build, configuration from PostgreSQL, derived by includingpg_config --pgxs
(the configurations of interest is ultimately read from${prefix}/lib/postgresql15/pgxs/src/Makefile.global
). According to Port health at https://ports.macports.org/port/pg15-pgpointcloud/details/, this is working out fine for all OS with results. The C++ standard part is surely easily implementable, but I have no idea of how to address the second part of the ticket.
Well, postgresql15
does not require C++11, AFAIK, so it builds fine with gcc-4.2
. We can probably switch it to use modern GCC, if that is the only way.
- S. Port health is useless for old systems, since no buildbots for 10.5, no buildbots for powerpc and no buildbots using libstdc++.
comment:3 Changed 11 months ago by barracuda156
Replying to nilason:
pointcloud
uses for parts of its build, configuration from PostgreSQL, derived by includingpg_config --pgxs
(the configurations of interest is ultimately read from${prefix}/lib/postgresql15/pgxs/src/Makefile.global
). According to Port health at https://ports.macports.org/port/pg15-pgpointcloud/details/, this is working out fine for all OS with results. The C++ standard part is surely easily implementable, but I have no idea of how to address the second part of the ticket.
This gonna fix it: https://github.com/macports/macports-ports/pull/21907
comment:4 Changed 5 months ago by barracuda156
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
pointcloud
uses for parts of its build, configuration from PostgreSQL, derived by includingpg_config --pgxs
(the configurations of interest is ultimately read from${prefix}/lib/postgresql15/pgxs/src/Makefile.global
). According to Port health at https://ports.macports.org/port/pg15-pgpointcloud/details/, this is working out fine for all OS with results. The C++ standard part is surely easily implementable, but I have no idea of how to address the second part of the ticket.