Opened 7 years ago

Closed 6 years ago

#53413 closed defect (fixed)

rsgislib 2.1.20140825_1 +python27 build failure

Reported by: ForTozs Owned by: Veence (Vincent)
Priority: Normal Milestone:
Component: ports Version: 2.4.0
Keywords: Cc:
Port: rsgislib

Description

I am unable to build rsgislib with MacPorts. I am getting the following error:

:info:build #define BOOST_DO_JOIN2( X, Y ) X##Y
:info:build                                ^
:info:build <scratch space>:108:1: note: expanded from here
:info:build boost_static_assert_typedef_128
:info:build ^
:info:build 22 warnings generated.
:info:build 22 warnings generated.
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_rsgislib/rsgislib/work/9135d61'
:info:build make[1]: *** [src/CMakeFiles/rsgis_utils.dir/all] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_rsgislib/rsgislib/work/9135d61'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_rsgislib/rsgislib/work/9135d61'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_rsgislib/rsgislib/work/9135d61" && /usr/bin/make -j4 -w all VERBOSE=ON 
:info:build Exit code: 2
:error:build Failed to build rsgislib: command execution failed
:debug:build Error code: CHILDSTATUS 58588 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_rsgislib/rsgislib/main.log for details.

Attachments (1)

main.log (735.7 KB) - added by ForTozs 7 years ago.
main.log

Download all attachments as: .zip

Change History (6)

Changed 7 years ago by ForTozs

Attachment: main.log added

main.log

comment:1 Changed 7 years ago by jmroot (Joshua Root)

Cc: vince@… removed
Owner: set to Veence
Status: newassigned

comment:2 Changed 7 years ago by ForTozs

I'm not sure if it's related. But I've been told that the default rsgislib branch is compatible with gdal 2.x now. I tried updating the portfile but I still get a similar error.

comment:3 Changed 7 years ago by kencu (Ken)

I'll start by saying I know nothing about rsgislib or GEOS, but I do know how to often build things on MacPorts that won't initially build.

The error in your build file seems to be this:

info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_rsgislib/rsgislib/work/9135d61/src/utils/RSGISGEOSFactoryGenerator.cpp:34:27: error: calling a protected constructor of class 'geos::geom::GeometryFactory'
6656	:info:build                 this->geomFactory = new geos::geom::GeometryFactory(this->pm);
6657	:info:build                                         ^
6658	:info:build /opt/local/include/geos/geom/GeometryFactory.h:453:2: note: declared protected here
6659	:info:build         GeometryFactory(const PrecisionModel *pm);
6660	:info:build         ^
6661	:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_rsgislib/rsgislib/work/9135d61/src/utils/RSGISGEOSFactoryGenerator.cpp:59:10: error: calling a protected destructor of class 'geos::geom::GeometryFactory'
6662	:info:build                 delete geomFactory;
6663	:info:build                        ^
6664	:info:build /opt/local/include/geos/geom/GeometryFactory.h:474:10: note: declared protected here
6665	:info:build         virtual ~GeometryFactory();
6666	:info:build                 ^
6667	:info:build 2 errors generated.
6668	:info:build make[2]: *** [src/CMakeFiles/rsgis_utils.dir/utils/RSGISGEOSFactoryGenerator.cpp.o] Error 1

And this issue <https://github.com/osmcode/libosmium/issues/168> suggests that GeometryFactory changed in GEOS version 3.6.0 in a way that broke some other things with what looks like a similar error, and warns there may not be a fix coming for this.

So one thing that would be fairly easy to try and would not take much time would be to roll back to a version of GEOS < 3.6.0, and if that installs for you without issue, perhaps rsgislib will build against that older GEOS for you, while you wait to see if rsgislib gets fixed or updated someday.

If you already have older versions of GEOS installed on your system, you can sudo port activate the version you want.

If not, you would have to install and then roll back a MacPorts git repo to that commit, which looks to be a commit somewhere around this one:

summary geos: bump to 3.6.0
previous 4fa361776dbbd53e1d275e4cf0a7625fb0ba1bca science/geos/Portfile

I hope this is helpful.

comment:4 Changed 7 years ago by ForTozs

This is helpful indeed. Thanks.

comment:5 Changed 6 years ago by Veence (Vincent)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.