Mail archive
alpine-devel

Re: [alpine-devel] Porting Alpine scripts

From: Timo Teras <timo.teras_at_iki.fi>
Date: Sun, 3 Jul 2016 22:53:18 +0300

On Sat, 02 Jul 2016 06:57:40 +0700
"Tuan M. Hoang" <tmhoang_at_flatglobe.org> wrote:

> I am trying to create a Docker image of Alpine targeting s390x
> architecture.
>
> Natanael suggested me Timo's previous work at :
> http://dev.alpinelinux.org/~tteras/bootstrap/ to bootstrap Alpine on
> new arch.
>
> I have 2 questions related to this, hope you could shed some light.
>
> Q1:
> Running createcross-toolchain.sh, at step 5, building gcc pass 2 :
> (experimenting with targeting x86)
>
> $ ABUILD_CONF=$ABUILD_CREATECROSS_CONF BOOTSTRAP=nolibc
> CTARGET_LIBC=musl abuild -r || return 1 (this makes sure
> --disable-shared is passed to configure script)
>
> Then at step 6, it introduces a conflict between host's gcc and newly
> installed/built gcc-pass2-$CTARGET
>
> ERROR: unsatisfiable constraints:
> gcc-5.3.0-r0:
> conflicts:
> gcc-pass2-i486-alpine-linux-musl-5.2.0-r0[so:libcc1.so.0=0.0.0]
> satisfies: g++-5.3.0-r0[gcc=5.3.0-r0] build-base-0.4-r1[gcc]
> gcc-pass2-i486-alpine-linux-musl-5.2.0-r0: conflicts:
> gcc-5.3.0-r0[so:libcc1.so.0=0.0.0] satisfies:
> world[gcc-pass2-i486-alpine-linux-musl]
>
> How could I solve this? Should I build gcc-pass-2 with different
> prefix than /usr/ to avoid conflict dynamic libs? If I do so, will it
> be any different than a manually/traditionally built
> cross-toolchain ? (mentioned below)

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.

> Q2:
> I have built a cross toolchains targeting s390x (gcc, musl, binutils,
> busybox, apk-tools), based on Gregor Richards's musl-cross with some
> patches. If I specifies this cross toolchains in the
> crossbuild-alpine-bootstrap.sh , rather than doing ${SUDO_APK}
> --repository $REPODEST_HOST/main add gcc-$CTARGET g++-$CTARGET
> gcc-gnat-$CTARGET || return 1
>
> then will there be any differences ? I have not try this (havent have
> cross-built gnat yet) and just want to know what you think about it.

It's probably ok for gcc/g++ part, but you are right, Ada might be
problem for full bootstrap.

As heads up: I'm currently looking at gcc 6.1; and also bootstrapping
armv7. I have already some changes coming up for gcc/musl and some
other packages for fixing bootstrapping. But seems there's been some
bitrot since last bootstrap (for armhf some years ago) and the scripts
need fixing.

Cheers,
Timo


---
Unsubscribe:  alpine-devel+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-devel+help_at_lists.alpinelinux.org
---
Received on Sun Jul 03 2016 - 22:53:18 UTC