[postgis-users] problem trying to compile postgis 3.2.1 on Mac arm64

153 views
Skip to first unread message

Ben Madin

unread,
May 9, 2022, 4:22:08 AM5/9/22
to PostGIS Users Discussion
Hi all,

sorry to trouble you, but I'm trying to upgrade PostGIS 3.1.4 to 3.2.1 on Apple Silicon and getting the error: 'Undefined symbols for architecture arm64:' - the point in the build where it doesn't work is below (some of it), and it seems to relate to the "FlatGeoBuf" lib.

I'm wondering if I have missed a particular configuration issue, I have also included the output of the ./configure file



Configure output

  PostGIS is now configured for arm-apple-darwin21.4.0

 -------------- Compiler Info -------------
  C compiler:           gcc -std=gnu99 -g -O2 -fno-math-errno -fno-signed-zeros -Wall
  C++ compiler (FlatGeobuf): gcc -std=c++11 -x c++
  CPPFLAGS:              -I/usr/local/include   -I/usr/local/include/libxml2  -I/usr/local/include/json-c -I/usr/local/include -DNDEBUG
  LDFLAGS:               -lm
  SQL preprocessor:     /usr/bin/cpp -traditional-cpp -w -P

 -------------- Additional Info -------------
  Interrupt Tests:   DISABLED use: --with-interrupt-tests to enable

 -------------- Dependencies --------------
  GEOS config:          /usr/local/bin/geos-config
  GEOS version:         3.10.2
  GDAL config:          /Library/Frameworks/GDAL.framework/Programs/gdal-config
  GDAL version:         3.4.3
  PostgreSQL config:    /usr/local/pgsql14.2/bin/pg_config
  PostgreSQL version:   PostgreSQL 14.2-av
  PROJ4 version:        81
  Libxml2 config:       /usr/local/bin/xml2-config
  Libxml2 version:      2.9.10
  JSON-C support:       yes
  protobuf support:     no
  PCRE support:         Version 1
  Perl:                 /usr/bin/perl

 --------------- Extensions ---------------
  PostGIS Raster:                     enabled
  PostGIS Topology:                   enabled
  SFCGAL support:                     disabled
  Address Standardizer support:       enabled

 -------- Documentation Generation --------
  xsltproc:             /usr/local/bin/xsltproc
  xsl style sheets:    
  dblatex:              
  convert:              
  mathml2.dtd:          http://www.w3.org/Math/DTD/mathml2/mathml2.dtd
 


Output from the make script:


gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Werror=unguarded-availability-new -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -O2  -bundle -multiply_defined suppress -o postgis-3.so postgis_module.o lwgeom_accum.o lwgeom_spheroid.o lwgeom_ogc.o lwgeom_functions_analytic.o lwgeom_inout.o lwgeom_functions_basic.o lwgeom_btree.o lwgeom_box.o lwgeom_box3d.o lwgeom_geos.o lwgeom_geos_prepared.o lwgeom_geos_clean.o lwgeom_geos_relatematch.o lwgeom_generate_grid.o lwgeom_export.o lwgeom_in_gml.o lwgeom_in_kml.o lwgeom_in_geohash.o lwgeom_in_geojson.o lwgeom_in_encoded_polyline.o lwgeom_triggers.o lwgeom_dump.o lwgeom_dumppoints.o lwgeom_functions_lrs.o lwgeom_functions_temporal.o lwgeom_rectree.o long_xact.o lwgeom_sqlmm.o lwgeom_rtree.o lwgeom_transform.o lwgeom_window.o gserialized_typmod.o gserialized_gist_2d.o gserialized_gist_nd.o gserialized_supportfn.o gserialized_spgist_2d.o gserialized_spgist_3d.o gserialized_spgist_nd.o brin_2d.o brin_nd.o brin_common.o gserialized_estimate.o geography_inout.o geography_btree.o geography_centroid.o geography_measurement.o geography_measurement_trees.o geometry_inout.o postgis_libprotobuf.o  mvt.o lwgeom_out_mvt.o geobuf.o lwgeom_out_geobuf.o lwgeom_out_geojson.o flatgeobuf.o lwgeom_in_flatgeobuf.o lwgeom_out_flatgeobuf.o postgis_legacy.o -lm   ../deps/flatgeobuf/libflatgeobuf.la  ../libpgcommon/libpgcommon.a ../liblwgeom/.libs/liblwgeom.a  -L/usr/local/lib -lgeos_c -lproj -L/usr/local/lib -ljson-c  -L/usr/local/lib -lxml2 -lz -lpthread -liconv -lm    -lm -bundle_loader /usr/local/pgsql14.2/bin/postgres
ld: warning: dylib (/usr/local/lib/libjson-c.dylib) was built for newer macOS version (12.1) than being linked (12.0)
Undefined symbols for architecture arm64:
  "std::__1::__shared_weak_count::__get_deleter(std::type_info const&) const", referenced from:
      vtable for std::__1::__shared_ptr_emplace<FeatureItem, std::__1::allocator<FeatureItem> > in libflatgeobuf.la(flatgeobuf_c.o)
  "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
      std::__1::__vector_base<flatbuffers::Offset<FlatGeobuf::Column>, std::__1::allocator<flatbuffers::Offset<FlatGeobuf::Column> > >::__throw_length_error() const in libflatgeobuf.la(flatgeobuf_c.o)


cheers

Ben

--

Ausvet Logo

Dr Ben Madin
 
BVMS MVPHMgmt PhD MANZCVS GAICD
Managing Director
Skype: benmadin
Address: 
5 Shuffrey Street
Fremantle, WA 6160
Australia
Reply all
Reply to author
Forward
0 new messages