Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 17 Jun 2019 22:47:55 -0400
From: Rich Felker <dalias@...c.org>
To: Reinoud Koornstra <reinoudkoornstra@...il.com>
Cc: musl@...ts.openwall.com
Subject: Re: where to find musl-gcc wrapper script

On Mon, Jun 17, 2019 at 07:30:00PM -0700, Reinoud Koornstra wrote:
> Ok the wrapper is included in the musl library itself in the obj directory.

Yes, or installed in $prefix/bin if you install. If you don't install
it won't be able to find its spec file.

> c++ isn't supported yet?

Right. Nobody I'm aware of understands the details of this, but
apparently either GCC's actual C++ headers or its "precompiled header"
versions of them pull in a bunch of stuff from glibc, and then it
breaks when you try to reuse them with musl. It's probably not that
hard to figure out the root cause and maybe even make it work, but
nobody has done it and interest is low because it's still a big hack
compared to just building a proper cross toolchain.

> Currently I configure with CC=musl-gcc
> CFLAGS="-I/home/me/MUSL/include" LDFLAGS="-L/home/me/lib" ./configure
> the final g++ comand also add -lrt, need more changes for this to work?

If you do that you're compiling against musl's headers but then
linking against glibc, which is going to make a huge broken mess.

If you need C++, you really should just build a cross toolchain with
musl-cross-make. It's as simple as clining the mcm repo and running
"make TARGET=x86_64-linux-musl OUTPUT=/some/dir install" -- it will
download, check hashes on, and patch all the components you need and
give you a clean self-contained cross toolchain in the OUTPUT dir.

Rich


> On Mon, Jun 17, 2019 at 5:54 PM Reinoud Koornstra
> <reinoudkoornstra@...il.com> wrote:
> >
> > In this case, my application is simple, I need to compile and
> > application against musl, instead of glibc.
> > I do not need to musl compiled gcc for this?
> > Thanks,
> > Reinoud.
> >
> > On Mon, Jun 17, 2019 at 4:30 PM Rich Felker <dalias@...c.org> wrote:
> > >
> > > On Mon, Jun 17, 2019 at 03:49:19PM -0700, Reinoud Koornstra wrote:
> > > > Hello Everyone,
> > > > I did get the sources and build from musl-cross-gcc at github.com.
> > > > Building works fine, however, I cannot find the musl-gcc script to compile.
> > >
> > > The musl-gcc wrapper script is for repurposing an existing host
> > > toolchain for a different libc (glibc) to use it with musl. You don't
> > > use it with a proper cross compiler toolchain or on a musl-native
> > > system. The output of musl-cross-make will be a set of utilities
> > > prefixed with the target tuple, e.g. x86_64-linux-musl-gcc, etc., in
> > > the bin directory under wherever you installed the cross toolchain.
> > >
> > > Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.