In a mess with libc++ libstdc++ and OSX 10.7.5 Lion
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
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!
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-184.108.40.20641210/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