Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#4068 closed defect (fixed)

sfcgal 1.3.3 with CGAL 4.11 doesn't compile against PostGIS

Reported by: robe Owned by: robe
Priority: blocker Milestone: PostGIS 2.2.8
Component: postgis Version: 2.4.x
Keywords: Cc:

Description

I assume this is caused by patch upgrades I did recently.

My recent changes to 2.4 were just script changes for winnie so shouldn't caused this.

Lately debbie is having problems. It's showing just on 2.4, but expect it to show for 2.5 and 2.3 whenever next changes happen.

 -------------- Dependencies -------------- 
  GEOS config:          /var/lib/jenkins/workspace/geos/rel-3.7.0devw64/bin/geos-config
  GEOS version:         3.7.0dev
  GDAL config:          /var/lib/jenkins/workspace/gdal/rel-2.1w64/bin/gdal-config
  GDAL version:         2.1.4
  SFCGAL config:        /usr/bin/sfcgal-config
  SFCGAL version:       1.3.1
  PostgreSQL config:    /var/lib/jenkins/workspace/pg/rel/pg10w64/bin/pg_config
  PostgreSQL version:   PostgreSQL 10.3
  PROJ4 version:        50
  Libxml2 config:       /usr/bin/xml2-config
  Libxml2 version:      2.9.4
  JSON-C support:       yes
  protobuf-c support:   yes
  PCRE support:         yes
  Perl:                 /usr/bin/perl

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

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

/lib/libgeos_c.so -lc -lm -Wl,-rpath -Wl,/var/lib/jenkins/workspace/pg/rel/pg10w64/lib -Wl,-rpath -Wl,/var/lib/jenkins/workspace/gdal/rel-2.1w64/lib -Wl,-rpath -Wl,/var/lib/jenkins/workspace/geos/rel-3.7.0devw64/lib
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `operator>>(std::istream&, __mpz_struct*)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CORE::BigFloatRep::operator new(unsigned long)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CORE::BigFloatRep::toDouble() const'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CGAL::is_binary(std::basic_ios<char, std::char_traits<char> >&)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CGAL::Random::Random(unsigned int)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CGAL::ORIGIN'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `operator<<(std::ostream&, __mpz_struct const*)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CGAL::is_pretty(std::basic_ios<char, std::char_traits<char> >&)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CGAL::assertion_fail(char const*, char const*, int, char const*)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CORE::BigIntRep::operator delete(void*, unsigned long)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CGAL::Random::Random()'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CGAL::NULL_VECTOR'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CORE::BigFloatRep::sqrt(CORE::BigFloatRep const&, CORE::extLong const&)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CORE::BigFloatRep::operator delete(void*, unsigned long)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CGAL::File_header_OFF::File_header_OFF(bool, bool, bool, bool)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CGAL::get_mode(std::basic_ios<char, std::char_traits<char> >&)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CORE::BigIntRep::operator new(unsigned long)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CORE::defBFsqrtAbsPrec'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CORE::BigFloatRep::BigFloatRep(double)'
//usr/lib/x86_64-linux-gnu/libSFCGAL.so.1: undefined reference to `CGAL::File_writer_OFF::write_header(std::ostream&, unsigned long, unsigned long, unsigned long, bool)'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:85: raster2pgsql] Error 1
make[2]: Leaving directory '/var/lib/jenkins/workspace/postgis/branches/2.4/raster/loader'
make[1]: *** [Makefile:31: rtloader] Error 2
make[1]: Leaving directory '/var/lib/jenkins/workspace/postgis/branches/2.4/raster'
make: *** [GNUmakefile:16: all] Error 1
Build step 'Execute shell' marked build as failure
An attempt to send an e-mail to empty list of recipients, ignored.

I suspect something to do with CGAL perhaps incompatible with the SFCGAL installed.

Change History (14)

comment:1 by robe, 6 years ago

Bah evidentally there is some incompatibility on debian (with GMP on) building SFCGAL against CGAL 4.11 the 1.3.1 and 1.3.2

noted here: https://github.com/Oslandia/SFCGAL/issues/145

Looks like issue is fixed in master (upcoming 1.3.3) I'll try to compile a version for debbie from master to get around the issue and if not just disable SFCGAL until 1.3.3. comes out and update from debian sid.

comment:2 by robe, 6 years ago

In 16534:

revise debbie to build against master sfcgal
References #4068 for PostGIS 2.4

comment:3 by robe, 6 years ago

Component: buildbotspostgis
Owner: changed from robe to pramsey
Summary: Debbie chocking on sfcgal/CGALsfcgal 1.3.3 with CGAL 4.11 doesn't compile against PostGIS

okay this turns out to be a different problem debbie was using SFCGAL 1.3.3 but that doesn't compile with PostGIS.

https://github.com/Oslandia/SFCGAL/issues/158

comment:4 by robe, 6 years ago

Owner: changed from pramsey to robe

comment:5 by robe, 6 years ago

In 16535:

Disable sfcgal testing until sfcgal 1.3.3 / CGAL 4.11 issue is resolved.
References #4068 for PostGIS 2.4

comment:6 by robe, 6 years ago

In 16536:

Disable sfcgal in make dist
References #4068 for PostGIS 2.4

comment:7 by robe, 6 years ago

Milestone: PostGIS 2.4.5PostGIS 2.2.8

comment:8 by robe, 6 years ago

In 16537:

Disable sfcgal in make dist and regress testing until sfcgal compile issue

for CGAL 4.11 / SFCGAL 1.3.3 against PostGIS is fixed

References #4068 for PostGIS 2.5

comment:9 by robe, 6 years ago

In 16568:

comment out sfcgal tests for now until we resolve cgal/sfcgal dependency issue on debian
References #4068

comment:10 by robe, 6 years ago

In 16571:

comment out sfcgal tests for now until we resolve cgal/sfcgal dependency issue on debian (hopefully got syntax right this time)
References #4068

comment:11 by robe, 6 years ago

In 16606:

comment out sfcgal tests for now until we resolve cgal/sfcgal dependency issue on debian
References #4068

comment:12 by robe, 6 years ago

In 16634:

Reenable debbie's SFCGAL
References #4068

comment:13 by robe, 6 years ago

Resolution: fixed
Status: newclosed

As Bas noted in http://lists.osgeo.org/pipermail/postgis-devel/2018-June/027168.html debian SFCGAL issue is fixed.

So I went ahead and reinstalled sfcgal on debbie (got 1.3.5) and renabled the sfcgal tests on 2.5 branch at r16634. Looks to be working so I'll go ahead and do the same for 2.2, 2.3, and 2.4 branches.

comment:14 by robe, 6 years ago

In 16635:

reenable sfcgal tests for debbie.
Closes #4068 for PostGIS 2.4

Note: See TracTickets for help on using tickets.