(sudden) failure linking kleopatra (from KDE4 KDE PIM)

René J.V. Bertin rjvbertin at gmail.com
Sun Oct 11 13:28:31 PDT 2015


Hi,

I'm rebuilding a recent git checkout of KDE PIM 4.14, one I already had running since a couple of weeks (sept. 24th, partial rebuild on Oct 8th). I'm getting a build failure on kleopatra:

Undefined symbols for architecture x86_64:
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::c_str() const", referenced from:
      Kleo::KeyCache::findByFingerprint(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) const in keycache.cpp.o
      Kleo::KeyCache::findByKeyIDOrFingerprint(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) const in keycache.cpp.o
      Kleo::KeyCache::findSubkeysByKeyID(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) const in keycache.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
kleopatra/CMakeFiles/kleopatra_bin.dir/build.make:4428: recipe for target 'kleopatra/kleopatra.app/Contents/MacOS/kleopatra' failed
make[2]: *** [kleopatra/kleopatra.app/Contents/MacOS/kleopatra] Error 1

This looks like a missing -std=c++11 options, but I already added it explicitly in kleopatra's CMake file.

All other kdepim4 components build fine.

Google came up with the suggestion that my libc++ might be corrupt, but I presume (hope, kind of) that that would make the system very unstable; lots of things should no longer work when this kind of basic symbols from libc++ can no longer be found, no?
On the contrary, the kleopatra executable from that previous build, and the md5sums of my installed versions vs. a backup are equal.

Anyway, any ideas what this could be about? 

NB: I notice that the /usr/lib/libc++ files aren't identical to (larger than) those in /Applications/Xcode.app//Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/*/usr/lib/libc++* , but I presume that's normal.

Thanks...
René


More information about the macports-users mailing list