[MacPorts] #59782: cmake @3.16.0: error: no matching constructor for initialization of 'const std::vector<ExpectedSpec>'
MacPorts
noreply at macports.org
Fri Dec 6 04:42:02 UTC 2019
#59782: cmake @3.16.0: error: no matching constructor for initialization of 'const
std::vector<ExpectedSpec>'
-----------------------+-----------------------
Reporter: lemzwerg | Owner: michaelld
Type: defect | Status: assigned
Priority: High | Milestone:
Component: ports | Version: 2.6.99
Resolution: | Keywords: lion
Port: cmake |
-----------------------+-----------------------
Comment (by kencu):
If some c++ genius comes along, perhaps we can figure out how to change
the troublesome `<vector>` code to something that `clang-3.4` can
understand -- AFAICT it is something to do with the default allocator, and
it was fixed in clang-3.7.
I did figure out how to better control the `cmake` build using the
`bootstrap` script, and you can pass in cmake arguments in the normal way
to the bootstrap cmake that is building the final cmake to be installed.
That lets you turn off the piece of code that is erroring out, and with
that, cmake does build and install with clang-3.4, so our current
bootstrapping will continue to work.
This little bit does that (and also, with a small bit of work, we could
fully control the cmake build, and pass in all kinds of different,
potentially useful, cmake defines that currently aren't able to be used).
{{{
$ diff -u Portfile `port file cmake`
--- Portfile 2019-12-05 20:34:42.000000000 -0800
+++
/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/cmake/Portfile
2019-12-05 20:33:27.000000000 -0800
@@ -122,6 +122,8 @@
# system libuv is the default as of 20160830 (g320f5)
depends_lib-append path:lib/pkgconfig/libuv.pc:libuv
+configure.cmd ./bootstrap
+
configure.env-append \
CMAKE_PREFIX_PATH=${prefix} \
CMAKE_INCLUDE_PATH=${prefix}/include/ncurses \
@@ -139,6 +141,7 @@
# Clang 3.4 works. But Clang 3.7 doesn't work.
if {${os.platform} eq "darwin" && ${os.major} == 11 &&
${configure.cxx_stdlib} eq "libc++"} {
compiler.whitelist macports-clang-3.4
+ configure.post_args -- -DBUILD_TESTING=OFF
}
platform darwin {
@@ -173,7 +176,7 @@
--no-system-librhash
configure.universal_args
-configure.post_args
+#configure.post_args
# CMake's configure script doesn't recognize `--host`.
array set merger_host {i386 {} x86_64 {} ppc {} ppc64 {}}
}}}
--
Ticket URL: <https://trac.macports.org/ticket/59782#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list