Mail archive

Re: [alpine-devel] Porting Alpine scripts

From: Timo Teras <>
Date: Tue, 5 Jul 2016 17:26:56 +0300

On Mon, 04 Jul 2016 03:57:45 +0700
"Tuan M. Hoang" <> wrote:

> ---- On Mon, 04 Jul 2016 02:53:18 +0700 Timo Teras
> <> wrote ----
> > Sounds like your aports is from edge, but you are running 3.3 or
> > 3.2 stable alpine. Then the gcc versions do not match, and you get
> > this.
> I am on v3.4 with gcc5.3-r0. Tried gcc5.3-r0 APKBUILD file but the
> same problem.
> From what I understand your gcc-pass-2 and gcc-final are actually
> gcc-pass-1 and gcc-pass-2 in traditional way :
> 1. build gcc-pass-1 and binutils using host (x86_64) 's gcc+libc
> targeting new target (x86).
> 2. use that gcc-pass-1 to build new target's libc.
> 3. build gcc-pass-2 using new libc (please correct me if I am wrong)

Well, upon in the beginning it was 3 pass. You need pass 1 to build gcc
without libc. Then you could build glibc headers. Then you build gcc
pass 2 with glibc headers so it targets right c-library, and you can
build full glibc. Finally you can build the final gcc as pass 3. Maybe
this was simplified too.

> So, after building gcc-pass-2 (step 1 above) in the script, we
> install it in the host system then use it to build musl targeting new
> target (step 2 above). But if you install gcc-pass-2 in the host
> system at /usr/, it will produce my conflicts problem. In the
> traditional way, we just pass something like
> CROSS_COMPILE=i486-linux-musl- when running musl's configure script.
> This is why I suggested install gcc-pass-2 into different prefix so
> it won't conflict with the host's gcc. Just wonder how did you do
> last time.
> I did try to delete host's gcc to install only gcc-pass-2 but
> building musl requires build-base package and in turn requires host's
> gcc).

Seems there was bitrot in the cross building support. abuild was
improved, and upstream packaged changed.

I made same fixes to various places now. And will push all aports
changes today/tomorrow. After gcc 6.1 is done.

I'm playing with armv7 target, and got:
 - full cross complier done ( runs)
 - cross building boot image works up to building openssl; seems
   something changed upstream and needs fixing

I hope to get the scripts / aports' minimal cross-building support to
the point that bootstrapping works again.


Received on Tue Jul 05 2016 - 17:26:56 UTC