In a mess with libc++ libstdc++ and OSX 10.7.5 Lion

Ken Cunningham ken.cunningham.webuse at gmail.com
Sun Sep 17 03:59:08 UTC 2017


Ah, the unlucky 2%. 

C'est la vie.

Such problems are generally always fixable, the equation being time vs benefit...

K



On 2017-09-16, at 8:38 PM, Ian Wadham wrote:

> Hi Ken,
> 
> On 14/09/2017, at 2:43 PM, Ken Cunningham wrote:
>> Keeping a 10.7 machine going is always going to be more of a project than a new machine, but not necessarily hopeless. Upgrading to a Sierra machine is always the path of least resistance, if that is in your horizon. Nonetheless, there is _usually_ a way to keep your 10.7 machine running with _most_ open source software. No guarantees, though.
>> 
>> For the simplest fix that requires the least amount of locally-built software and the least amount of time, do this:
>> 
>> when you see a port that tells you something like:
>> 
>> Error: akonadi does not support your selected MacPorts C++ runtime. libc++ must be selected and C++-based ports built against it.
>> 
>> you can try the following:
>> 
>> edit `port file akonadi` in your favourite editor, like vi or bbedit. You might need sudo.
>> 
>> change the following line, usually near the top:
>> 
>> PortGroup           cxx11   1.0 
>> 
>> to 
>> 
>> PortGroup           cxx11   1.1
>> 
>> and then hope the Gods are smiling on you. I would say there is about a 98% chance it will "just work". If it does not work, then the next option is a wholesale change to libc++, which I did in the end, and I think that works the best. But there is currently no libc++ buildbot, so you'll have to build *everything*. That will take several days (and is also not guaranteed to work).
> 
> FWIW, that did not work for me.  It caused some new tools to be installed,
> such as gcc6, after I had done "port clean akonadi" and "port install akonadi",
> then this time the error message was:
> 
> :info:build Undefined symbols for architecture x86_64:
> :info:build   "std::runtime_error::runtime_error(char const*)", referenced from:
> :info:build       boost::function1<void, std::string const&>::operator()(std::string const&) const in libakonadi_shared.a(akapplication.cpp.o)
> :info:build ld: symbol(s) not found for architecture x86_64
> :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
> :info:build make[2]: *** [bin/akonadi_agent_server] Error 1
> 
> but I do not understand it, not being familiar with boost etc.
> 
> As you can see from another email, I am trying Sierra on a new machine,
> and that has a problem, but I still have my old machine on 10.7 Lion.
> 
> Cheers, Ian W.
> 



More information about the macports-users mailing list