Opened 18 months ago
Last modified 3 months ago
#67476 assigned defect
postgis3 @3.2.0_5+postgresql14+proj8+raster+topology: Dependency requires c++14 instead of 11 now.
Reported by: | beporter (Brian Porter) | Owned by: | Veence (Vincent) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | judaew (Vadym-Valdis Yudaiev), blair (Blair Zajac) | |
Port: | postgis3 protobuf-c |
Description (last modified by beporter (Brian Porter))
- Cleaned and ran
sudo port install postgis3
again: Failed again. - Checked the problem hotlist: Not listed.
- Searched for existing tickets: #67339 is similar but looks to be a missing directory, not
CXX_STANDARD
related. - Problem is specific to compilation.
- Problem is not related to
port upgrade
.
This seems to be the relevant bit from the log file:
:info:build In file included from flatgeobuf_c.cpp:26: :info:build In file included from ./feature_generated.h:7: :info:build In file included from include/flatbuffers/flatbuffers.h:20: :info:build In file included from include/flatbuffers/base.h:241: :info:build In file included from /opt/local/include/absl/strings/string_view.h:39: :info:build In file included from /opt/local/include/absl/base/attributes.h:37: :info:build In file included from /opt/local/include/absl/base/config.h:86: :info:build /opt/local/include/absl/base/policy_checks.h:79:2: error: "C++ versions less than C++14 are not supported." :info:build #error "C++ versions less than C++14 are not supported."
Assuming absl
is actually abseil, then there's a recent release note indicating it now requires c++14.
This must be a second-level dependency though, because the Postgis3 Portfile doesn't contain any reference to c++11
. Possibly protobuf-c, which is a dependency of postgis3 and has compiler.cxx_standard 2011
in its Portfile?
Change History (8)
comment:1 Changed 18 months ago by beporter (Brian Porter)
Description: | modified (diff) |
---|
comment:2 Changed 18 months ago by beporter (Brian Porter)
comment:3 Changed 18 months ago by jmroot (Joshua Root)
Cc: | judaew added |
---|---|
Owner: | set to Veence |
Status: | new → assigned |
comment:4 Changed 18 months ago by beporter (Brian Porter)
Created a quick pull request, if that helps: https://github.com/macports/macports-ports/pull/18979
comment:5 Changed 18 months ago by beporter (Brian Porter)
comment:6 Changed 13 months ago by blair (Blair Zajac)
Has the issue been addressed with the [3b926192b429b0cdba25ddaebbc20041a04830c4/macports-ports] fix? Can this bug be closed?
comment:7 Changed 13 months ago by blair (Blair Zajac)
Cc: | blair added |
---|
comment:8 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)
The above mentioned commit simply uses compiler.cxx_standard 2014
in the protobuf-c port. This tells MacPorts to pick a C++14-capable compiler when compiling protobuf-c. This ticket is about a build failure of the postgis3 port so no, a change to the protobuf-c port won't fix that.
Adding compiler.cxx_standard 2014
to the postgis3 port may not be sufficient. It may also be necessary to add configure.cxxflags-append -std=c++14
.
I was able to work around this by:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_postgis3/postgis3/main.log
cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_postgis3/postgis3/work/postgis-3.2.0"
command from the log,/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_postgis3/postgis3/work/postgis-3.2.0/deps/flatgeobuf/Makefile
:sudo /usr/bin/make -j10 -w all ICONV_LDFLAGS='-L/opt/local/lib -liconv' PGSQL_DOCDIR=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_postgis3/postgis3/work/destroot/opt/local/share/doc/postgresql14 PGSQL_MANDIR=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_postgis3/postgis3/work/destroot/opt/local/share/man
sudo make install
sudo port -f activate postgis3