-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
binutils update to 2.31.1; enable cross ada #4312
Conversation
To avoid triggering CI [ci skip] needs to be in every commit |
Signed-off-by: Jürgen Buchmüller <[email protected]>
Manual steps required to build
Once the cross compilers are done:
Someone with access to the x86_64-musl builder will have to do this. In case someone wants to bootstrap w/o a working gcc-ada in the host (e.g. void before gcc-8.2.0_5), you can still use |
On Wed, Oct 31, 2018 at 10:05:37AM -0700, Jürgen Buchmüller wrote:
Manual steps required to build `gcc` for `x86_64-musl` with gnat:
1) pick `binutils-2.31.1`, `cross-vpkg-dummy-0.29_1`, and `cross-x86_64-linux-musl-0.29_1`
2) set up an `x86_64` environment on the `x86_64-musl` builder, i.e. `./xbps-src binary-bootstrap`
3) build `binutils`, `cross-vpkg-dummy` and `cross-x86_64-linux-musl` on `x86_64`
4) cross build (forced) `gcc-8.2.0_5` for `x86_64-musl`, i.e. `./xbps-src -a x86_64-musl -f pkg gcc`
5) merge this PR and let the builders work
Someone with access to the x86_64-musl builder will have to do this.
In case someone wants to bootstrap w/o a working gcc-ada in the host (e.g. void before gcc-8.2.0_5), you can still use `-o ~ada,gnatboot` when building gcc for x86_64 in the void bootstrap.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#4312 (comment)
@void-linux/pkg-committers
|
Uhm, just now, when trying to rebuild gcc for i686, it strikes me that our build system can not use a previous version of gcc-ada and libada-devel when building gcc native. If I add Thinking about it we could probably use the cross compiler's gnat similar to how gnatboot does it, but we have no Or do we have to make gcc-ada and libada-devel part of the base-chroot{,-musl} to always have it available? Edit2: Last not least we could perhaps integrate gcc-ada and libada* with gcc like we did once with g++. |
Sadly xbps-src doesn't know how to do this. |
patches for binutils 2.31.1? |
@protonesso what patches? |
No problem here inside a chroot with x86_64-musl:
|
oh okay |
Updated to Is anyone of @void-linux/void-ops around to help go through the steps listed above? |
ping @void-linux/void-ops |
Afaics this breaks the build of new packages, but there's no point where we run time is broken. Do I understand this correctly? If so, we can schedule the rebuild and let the maintainers know not to push to master in that time frame. |
Is Wednesday evening CET okay? |
Please give a time range with timezone
…On Sat, Nov 10, 2018, 16:33 Enno Boland ***@***.*** wrote:
Is wednesday evening CET okay?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4312 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AdUHTdmeF_u3n9YOrveQS0r_IMDudTdWks5utxvfgaJpZM4YEGGq>
.
|
I don't believe it will break anything. In fact you can even just cross compile FWIW Wednesday evening is ok for me. I'll join the xbps channel just in case. |
Once the cross compilers are done:
|
cross-x86_64-linux-musl
|
fixed by rebasing against master. |
[ci skip]
Rebased my branch before going to bed :) |
Thanks a lot :) Yet another one on
|
This is strange because it builds just fine here. Verified just now. |
I'm currently building on |
Oh, yes, of course on |
Having a freshly bootstrapped masterdir fixed the issue. something in the build progress taints the masterdir. |
Darn. The main gcc is not aware of GNAT because it has not been rebuilt. |
My guess that a build without -f should be sufficient was wrong :P |
Might be my mistake, I haven't cleaned up the masterdir. |
Hope and wait. |
https://bugzilla.redhat.com/show_bug.cgi?id=1552529#c1 okay, something went wront with binutils. |
Is the builder itself bootstrapped? binutils is in base-chroot-musl. |
Ah, I see, I think I've got the error. |
The old binutils got installed again. |
Looks promising 👍 |
Yes, thank you. I think the gcc revbump needs to happen before the base-chroot{,-musl} update because the latter requires gcc-ada, libada{,-devel} having been built for each architecture. |
I.e. step 7) before 6) |
👍 wilco |
OTOH gcc-ada is required w/o hostmakedpends for the native builds of gcc. |
Great, will update once the build has finished. Thanks! |
I'm away from keyboard for some time now. Hope you can manage the remaining steps. 🍺 |
@chneukirchen If |
Why add ada to base-chroot at all? - The only compiler it has included is gcc. |
Because gcc needs gcc-ada in the host to build ada. |
[ci skip]
Supersedes: #2813
Also see: #4154
We will have a chicken-egg problem with
gcc
forx86_64-musl
:Once
cross-x86_64-linux-musl
is built forx86_64
, we need to (force) cross buildgcc
forx86_64-musl
from ax86_64
environment with./xbps-src -a x86_64-musl -f pkg gcc
to get Ada going.Only afterwards the cross builders using an
x86_64-musl
environment can also compile thecross-*musl*
packages.Got cross build for
i686-musl
andx86_64-musl
working.Now this needs review and we need to coordinate the steps required to get things done.