Problems cross-compiling with clang 3.7 & 3.9 on 10.6

Mojca Miklavec mojca at macports.org
Wed Mar 29 06:41:21 UTC 2017


On 28 March 2017 at 17:37, Ken Cunningham wrote:
> On 2017-03-28, at 2:18 AM, Mojca Miklavec wrote:
>
> It had always been a design goal for llvm to produce workable PPC code, but
> although close (lots of things do work) they never quite got there (Jeremy
> has most of the bugs outlined on the llvm bug reporter), and only quite
> recently announced (past few months) they were officially dropping the
> effort  (which unsurprisingly has reduced my enthusiasm for trying to get it
> to work).
>
> While there are some tools that require C++11 (just two out of
> hundreds this year), building against libc++ doesn't bring any added
> value to start with.
>
> When I started tinkering with it, as you know libc++ was the only way to get
> clang to support  c++11 --  until the recent changes in 3.9 allowed linking
> against  the newer libstdc++. But now it offers nothing.

Has PPC support already been removed from LLVM sources?

> For reliable c++11 cross-compiling to PPC at present the only thing I could
> point you towards was an effort to add -arch support to newer versions of
> gcc that I came across one evening on the web.

Thanks. I actually knew that gcc was able to compile C++11 code. I
never thought about cross-compiling with gcc, even though I guess that
I might even be able to install a gcc cross-compiler on the latest OS?
:)

What worries me though is how to properly distribute stdlibc++ along
with binaries. If there's just one file that I need to copy, that
might even be doable. But if it gets too annoying, I might not be
willing to spend too much effort.

> Or, if you want, I can make one of my PPC machines available to you via ssh
> to compile and test your PPC code on. Dave already has access for some gtk
> stuff he was working on.
>
> Sounds like you're not too interested in putting too much more time into
> this, so let me know if you actually would be interested in that.

I do have a super slow PPC notebook with G4 and hardly enough disk
space to actually install anything reasonable on it (60 GB). That's
enough for testing once in a long while.

The thing is: I want to set up a buildbot job to do the compiling for
me (it's pretty heavy for a PPC box though, it needs several hours to
complete on an old box). I know I need to check whether the binaries
work at some point, but I don't see any added benefit of actually
compiling natively as compered to compiling on a 10.6 VM. There will
be an increasing number of C++11 software over the years, but I don't
believe that compiling natively would really help here. If I'm wrong,
please correct me.

But to be fair, the other developers actually decided to drop support
for anything but the officially supported macOS versions. What I'm
working on is a fallback options for those who cannot (or don't want
to :) upgrade. And dropping support for PPC has kind of been on the
table for quite a while now. After all, the same software is also
provided by MacPorts anyway (only updated much less frequently) and
the few PPC users can even compile it themselves, so it's not so
horribly important to keep providing the binaries upstream.

As far as motivation goes: I would be more interested in making
MacPorts better for PPC users than in compiling a single piece of
software for PPC. I will support PPC just because it doesn't really
cost that much extra effort if I build for one or three architectures
at the same time.

Mojca


More information about the macports-dev mailing list