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

Ken Cunningham ken.cunningham.webuse at gmail.com
Thu Sep 14 04:43:58 UTC 2017


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).

Best of luck!

Ken




On 2017-09-13, at 9:30 PM, Ian Wadham wrote:

> I am in a right royal mess with some KDE 4 applications and libraries from MacPorts
> on which I depend.  After a failed "sudo port upgrade outdated" run all my KDE 4 apps
> give OSX popup messages like "kmymoney cannot be opened because of a problem"
> and they wil not start.  The most serious (for me) is KMyMoney, which holds all my
> finances and investments, and it is time for me to do annual accounting and tax.
> 
> I am using OSX 10.7.5 Lion and MacPorts 2.4.1.
> 
> It was some time since I had done a port upgrade outdated, maybe a year or more.
> However a "sudo port selfupdate" showed that I was already at macports 2.4.1.  I then
> ran and saved lists of requested and outdated ports and uninstalled a few ports I no
> longer need.  Then I started "sudo port upgrade outdated".
> 
> The terminal output ended with multiple repetititions of:
> Warning: reinplace /include/s@\(utils\.h\)@src/\1 at g didn't change anything in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_akonadi/akonadi/work/akonadi-1.13.1.20141210/server/tests/unittest/searchtest.cpp
> 
> Followed by:
> --->  Configuring akonadi
> Error: akonadi does not support your selected MacPorts C++ runtime. libc++ must be selected and C++-based ports built against it.
> Error: Please follow the instructions on https://trac.macports.org/wiki/LibcxxOnOlderSystems.
> Error: After adding the required options to macports.conf, reinstall all ports like you would when switching macOS versions.
> Error: Follow step 3 on https://trac.macports.org/wiki/Migration in order to do this.
> Error: Failed to configure akonadi: libstdc++ unsupported.
> Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_akonadi/akonadi/main.log for details.
> Error: Follow https://guide.macports.org/#project.tickets to report a bug.
> 
> I understand what these messages mean and I have read the Macports Wiki pages
> referred to, but I am uncertain what to do next.
> 
> 1. Do I need to do any cleanup of the failed run before doing anything else?  If so,
>     what command(s) should I use?
> 
> 2. I had a local ports tree that I no longer use.  I have commented out the reference
>    to it in sources.conf but do I need to re-run portindex?  Or would that have been
>    taken care of when I ran "sudo port selfupdate"?  I have not found any way to
>    re-index and include just the standard ports.
> 
> 3. Can I revert to earlier versions of apps and libraries (which could at least be used
>    to keep my accountant happy)?  If so, what commands should I use?  There are
>    scores, maybe hundreds, of ports to be reactivated and there are probably lots
>    that are old but still active, because the upgrade run never got to them.
> 
> 4. If I stay with Lion, I understand that I have to uninstall everything, make some
>    adjustments to macports.conf and then re-build from source and continue to
>    do so into the future.
> 
>    OTOH I could go down to the Apple shop and get them to upgrade me to Sierra
>    and then I could re-install MacPorts apps from binaries but I would also have to
>    upgrade other non-Apple software I depend on a lot every day, mainly Firefox
>    and LibreOffice.
> 
>    Either approach could take days (elapsed) and many hours of computer time.
>    Which way would be best for me to go?
> 
> I used to be a KDE developer until about 2 years ago, so I am happy working with
> commands and scripts, and I have saved lists of requested ports and of the new and
> old versions of outdated ports.
> 
> Hope you can help,
> Ian W.
> 



More information about the macports-users mailing list