Opened 11 years ago
Closed 10 years ago
#43654 closed defect (fixed)
tripwire @2.4.2.2: error: calling a private constructor of class 'std::__1::__wrap_iter<const char *>'
Reported by: | khawk13@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.1 |
Keywords: | Cc: | MacPorts.ORG@… | |
Port: | tripwire |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
Build fails with relevant information. Command to build is:
/opt/local/bin/port install tripwire
If I use the recommended build option "configure.compiler=llvm-gcc-4.2
" then build fails in the config stage.
Relevant output from build is as follows:
:info:build displayencoder.cpp:831:27: error: calling a private constructor of class 'std::__1::__wrap_iter<const char *>' :info:build TSTRING::const_iterator first(&ach[0]), last(&ach[1]); :info:build ^ :info:build /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iterator:1220:31: note: declared private here :info:build _LIBCPP_INLINE_VISIBILITY __wrap_iter(iterator_type __x) _NOEXCEPT : __i(__x) {} :info:build ^ :info:build displayencoder.cpp:831:43: error: calling a private constructor of class 'std::__1::__wrap_iter<const char *>' :info:build TSTRING::const_iterator first(&ach[0]), last(&ach[1] ); :info:build ^ :info:build /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iterator:1220:31: note: declared private here :info:build _LIBCPP_INLINE_VISIBILITY __wrap_iter(iterator_type __x) _NOEXCEPT : __i(__x) {} :info:build ^ :info:build 2 errors generated. :info:build make[3]: *** [displayencoder.o] Error 1 :info:build make[3]: *** Waiting for unfinished jobs.... :info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_tripwire/tripwire/work/tripwire-2.4.2.2-src/src/core' :info:build make[2]: *** [all-recursive] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_tripwire/tripwire/work/tripwire-2.4.2.2-src/src'
Attachments (1)
Change History (5)
Changed 11 years ago by khawk13@…
comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Port: | tripwire added |
Summary: | Tripwire 2.4.2.2 fails to build on Mavricks, error in build (build failure) → tripwire @2.4.2.2: error: calling a private constructor of class 'std::__1::__wrap_iter<const char *>' |
comment:2 follow-up: 4 Changed 10 years ago by MacPorts.ORG@…
Still having this problem with MacPorts 2.3.1, Mavericks 10.9.4
[...] :info:build /usr/bin/clang++ -DHAVE_CONFIG_H -I. -I. -I../.. -I.. - I/opt/local/include -I/opt/local/include -pipe -Os -arch x86_64 -c -o timebomb. o timebomb.cpp:info:build displayencoder.cpp:831:27: error: calling a private constructor of c lass 'std::__1::__wrap_iter<const char *>':info:build TSTRING::const_iterator first(&ach[0]), last(&ach[1] ); :info:build ^:info:build /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.x ctoolchain/usr/bin/../lib/c++/v1/iterator:1220:31: note: declared private here:info:build _LIBCPP_INLINE_VISIBILITY __wrap_iter(iterator_type __x) _NOEXCE PT : __i(__x) {} :info:build ^ :info:build displayencoder.cpp:831:43: error: calling a private constructor of c lass 'std::__1::__wrap_iter<const char *>' :info:build TSTRING::const_iterator first(&ach[0]), last(&ach[1]); :info:build ^ :info:build /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.x ctoolchain/usr/bin/../lib/c++/v1/iterator:1220:31: note: declared private here :info:build _LIBCPP_INLINE_VISIBILITY __wrap_iter(iterator_type __x) _NOEXCE PT : __i(__x) {}:info:build ^:info:build 2 errors generated. :info:build make[3]: *** [displayencoder.o] Error 1 :info:build make[3]: *** Waiting for unfinished jobs.... % /usr/bin/clang++ --version Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn) Target: x86_64-apple-darwin13.3.0 Thread model: posix
According to https://github.com/steakknife/tripwire/issues/1 this should fix it - adding
CXXFLAGS='-stdlib=libstdc++'
to "configure".
I thought adding "configure.cxxflags" to the Portfile would fix it, but somewhere along the line, something is sneaking an extra "-arch x86_64 -stdlib=libc++" in at the end of $CXXFLAGS - even if I explicitly specify the contents of "configure.cxxflags" in Portfile.
comment:3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | MacPorts.ORG@… added |
---|---|
Owner: | changed from macports-tickets@… to ryandesign@… |
Status: | new → assigned |
comment:4 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Replying to MacPorts.ORG@…:
According to https://github.com/steakknife/tripwire/issues/1 this should fix it - adding
CXXFLAGS='-stdlib=libstdc++'to "configure".
Thanks. Added in r128249, though this is just a band-aid over the real problem that this code needs to be made compatible with libc++. I've asked the developer to do so.
Output log