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

x86_64-unknown-linux-gnu Ubuntu version #417

Closed
lucasfernog opened this issue May 2, 2020 · 6 comments · Fixed by #591
Closed

x86_64-unknown-linux-gnu Ubuntu version #417

lucasfernog opened this issue May 2, 2020 · 6 comments · Fixed by #591

Comments

@lucasfernog
Copy link

Can we use ubuntu 18.04 here? https://github.com/rust-embedded/cross/blob/master/docker/Dockerfile.x86_64-unknown-linux-gnu#L1

The reason is that i'm trying to install the webkit2gtk-4.0 package, but it doesn't exist on 16.04.

@Alexhuszagh
Copy link
Contributor

This is addressed by #591, but this is a breaking change. Feel free to use the Dockerfile to build your own image and use the Cross.toml config to enable cross with more recent Ubuntu versions.

The relevant Dockerfile is here.

To build the image, do:

git clone https://github.com/Alexhuszagh/cross ahuszagh_cross
cd ahuszagh_cross
git checkout increment_versions
./build-docker-image.sh x86_64-unknown-linux-gnu

Then, add the following in your Cross.toml, so you use a local, custom built version of the dependency.

[target.x86_64-unknown-linux-gnu]
image = "ghcr.io/cross-rs/x86_64-unknown-linux-gnu:local"

@Emilgardis
Copy link
Member

Emilgardis commented May 27, 2022

No it doesn't, x86_64-unknown-linux-gnu is not ubuntu, it's centos 7 now.

See #680

@Emilgardis
Copy link
Member

I should amend, it does in a way solve it, since you could copy the binaries from the first stage runner and hope that everything links up, but I think a more solid solution is the linked issue

@Alexhuszagh
Copy link
Contributor

Alexhuszagh commented May 27, 2022

Oh I believed they meant the first image, since the Dockerfile they use also uses CentOS 7.

@Emilgardis
Copy link
Member

Oh yeah, you're right. My bad!

https://github.com/cross-rs/cross/blob/95739b6d178d437d8fb7e908eb50e3a56ad0725c/docker/Dockerfile.x86_64-unknown-linux-gnu

perhaps a misunderstanding, or wanting to copy it

@Alexhuszagh
Copy link
Contributor

Duplicate of #517.

bors bot added a commit that referenced this issue Jul 10, 2022
591: Update all GNU docker images to latest LTS version on Docker. r=Emilgardis a=Alexhuszagh

Increment Ubuntu base image versions to 20.04.

Update linux-image script to latest kernel and debian versions.

Update by default to kernel version 5.10.0-8. This means updating our debian source to bullseye from buster. 32-bit big-endian mips was discontinued in bullseye, so we revert to buster. For some images, due to constantly updating linux kernel versions, we need to use wildcards otherwise the build step breaks. Since there may be more than one relevant package, we've added a function to manually expand wildcards and select the best kernel version, `max_kernel_version`. Likewise, on 32-bit big-endian mips, we need to specify the ncurses version.

Created temporary symlinks for autconf and autom4te due to the build expecting a hard-coded version (2.69) of these binaries. Fixed the patch for `debian/rules` due to changed line numbers. Updated the patch to use dwarf rather than sjlj exceptions to patch the template file (`debian/gcc-mingw-w64-i686.install.in`) since `debian/gcc-mingw-w64-i686.install` is overwritten during the build.

For `x86_64-unknown-linux-gnu`, building the linux image fails unless we download specific versions of `libgcc-s1` and `libstdc++6`, since the pre-installed Ubuntu versions are higher than the Debian versions. We therefore extract the specific versions. However, while building the linux image, it prefers these system versions, so we must uninstall them or else while running `qemu-system` it cannot find `libgcc_s1.so.1`. Since `apt` and basically every other package besides `dpkg` relies on `libgcc-s1`, we have to temporarily delete it and reinstall it.

Closes #616.
Closes #557. We've already addressed the Qemu fixes, which will be applied automatically.
Closes #517.
Closes #417.

Replaces #481.

Co-authored-by: Alex Huszagh <ahuszagh@gmail.com>
bors bot added a commit that referenced this issue Jul 16, 2022
591: Update all GNU docker images to latest LTS version on Docker. r=Emilgardis a=Alexhuszagh

Increment Ubuntu base image versions to 20.04.

Update linux-image script to latest kernel and debian versions.

Update by default to kernel version 5.10.0-8. This means updating our debian source to bullseye from buster. 32-bit big-endian mips was discontinued in bullseye, so we revert to buster. For some images, due to constantly updating linux kernel versions, we need to use wildcards otherwise the build step breaks. Since there may be more than one relevant package, we've added a function to manually expand wildcards and select the best kernel version, `max_kernel_version`. Likewise, on 32-bit big-endian mips, we need to specify the ncurses version.

Created temporary symlinks for autconf and autom4te due to the build expecting a hard-coded version (2.69) of these binaries. Fixed the patch for `debian/rules` due to changed line numbers. Updated the patch to use dwarf rather than sjlj exceptions to patch the template file (`debian/gcc-mingw-w64-i686.install.in`) since `debian/gcc-mingw-w64-i686.install` is overwritten during the build.

For `x86_64-unknown-linux-gnu`, building the linux image fails unless we download specific versions of `libgcc-s1` and `libstdc++6`, since the pre-installed Ubuntu versions are higher than the Debian versions. We therefore extract the specific versions. However, while building the linux image, it prefers these system versions, so we must uninstall them or else while running `qemu-system` it cannot find `libgcc_s1.so.1`. Since `apt` and basically every other package besides `dpkg` relies on `libgcc-s1`, we have to temporarily delete it and reinstall it.

Closes #616.
Closes #557. We've already addressed the Qemu fixes, which will be applied automatically.
Closes #517.
Closes #417.

Replaces #481.

Co-authored-by: Alex Huszagh <ahuszagh@gmail.com>
bors bot added a commit that referenced this issue Jul 16, 2022
591: Update all GNU docker images to latest LTS version on Docker. r=Emilgardis a=Alexhuszagh

Increment Ubuntu base image versions to 20.04.

Update linux-image script to latest kernel and debian versions.

Update by default to kernel version 5.10.0-8. This means updating our debian source to bullseye from buster. 32-bit big-endian mips was discontinued in bullseye, so we revert to buster. For some images, due to constantly updating linux kernel versions, we need to use wildcards otherwise the build step breaks. Since there may be more than one relevant package, we've added a function to manually expand wildcards and select the best kernel version, `max_kernel_version`. Likewise, on 32-bit big-endian mips, we need to specify the ncurses version.

Created temporary symlinks for autconf and autom4te due to the build expecting a hard-coded version (2.69) of these binaries. Fixed the patch for `debian/rules` due to changed line numbers. Updated the patch to use dwarf rather than sjlj exceptions to patch the template file (`debian/gcc-mingw-w64-i686.install.in`) since `debian/gcc-mingw-w64-i686.install` is overwritten during the build.

For `x86_64-unknown-linux-gnu`, building the linux image fails unless we download specific versions of `libgcc-s1` and `libstdc++6`, since the pre-installed Ubuntu versions are higher than the Debian versions. We therefore extract the specific versions. However, while building the linux image, it prefers these system versions, so we must uninstall them or else while running `qemu-system` it cannot find `libgcc_s1.so.1`. Since `apt` and basically every other package besides `dpkg` relies on `libgcc-s1`, we have to temporarily delete it and reinstall it.

Closes #616.
Closes #557. We've already addressed the Qemu fixes, which will be applied automatically.
Closes #517.
Closes #417.

Replaces #481.

Co-authored-by: Alex Huszagh <ahuszagh@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants