Skip to content
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

Change gcc-multilib to use i686 gcc compiler. #983

Merged
merged 1 commit into from
Jul 29, 2022

Conversation

Alexhuszagh
Copy link
Contributor

No description provided.

@Alexhuszagh Alexhuszagh added container-images no changelog A valid PR without changelog (no-changelog) A-aarch64-host Area: ARMv8 hosts labels Jul 28, 2022
@Alexhuszagh Alexhuszagh requested a review from a team as a code owner July 28, 2022 18:25
@Alexhuszagh
Copy link
Contributor Author

Alexhuszagh commented Jul 28, 2022

This is necessary to allow these toolchains to be built for a non linux/amd64 Docker image, and the specifics internally are the same, as we can see from the package details:

g++-multilib needs gcc-multilib (both not supported on aarch64), which uses libc6-dev-i386 for the i686 glibc. In short, this should produce identical code. Both of these packages are supported on the architectures our other non-x86_64 images support (arm64, ppc64el), and with #982, would allow us to also build these images natively (well, besides i586 on linux/386, which is part of #982).

@Alexhuszagh
Copy link
Contributor Author

bors try --target i686-unknown-linux-gnu

bors bot added a commit that referenced this pull request Jul 28, 2022
@bors
Copy link
Contributor

bors bot commented Jul 28, 2022

try

Build succeeded:

@@ -11,12 +11,24 @@ COPY xargo.sh /
RUN /xargo.sh

RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
g++-multilib
g++-i686-linux-gnu \
Copy link
Contributor Author

@Alexhuszagh Alexhuszagh Jul 28, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i586 should actually continue to use multilib, since there is no native Linux image for it, nor support for this architecture anymore in Debian stable (it isn't even supported in oldoldstable, since it was no longer supported in stretch).

On second thought, it's probably better to support cross-compilation to i586 from aarch64, ppc64le, and x86_64 images, and just not support this single target on i686.

@Alexhuszagh
Copy link
Contributor Author

bors r=Emilgardis

@bors
Copy link
Contributor

bors bot commented Jul 29, 2022

Build succeeded:

@bors bors bot merged commit f5b4671 into cross-rs:main Jul 29, 2022
@Alexhuszagh Alexhuszagh deleted the i386_multilib branch July 29, 2022 19:23
@Emilgardis Emilgardis added this to the v0.3.0 milestone Aug 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-aarch64-host Area: ARMv8 hosts container-images no changelog A valid PR without changelog (no-changelog)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants