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

Drop MIPS glibc 2.23 patches that reside in crosstool-ng now #135640

Merged
merged 1 commit into from
Jan 19, 2025

Conversation

Gelbpunkt
Copy link
Contributor

These patches were added to crosstool-ng in crosstool-ng/crosstool-ng@b88d338 and are therefore duplicate and fail to apply, breaking builds of dist-mips*-linux.

I have compile tested dist-mipsel-linux, I assume the other targets will work just as fine now.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
@rustbot
Copy link
Collaborator

rustbot commented Jan 17, 2025

r? @Kobzol

rustbot has assigned @Kobzol.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Jan 17, 2025
@workingjubilee
Copy link
Member

what version of crosstool-ng do we use, again?

@Kobzol
Copy link
Contributor

Kobzol commented Jan 17, 2025

Hmm, to be honest, since these targets are tier 3, so I wonder if we should even keep the dist Dockerfiles in the repo 🤔

@Gelbpunkt
Copy link
Contributor Author

Gelbpunkt commented Jan 17, 2025

Hmm, to be honest, since these targets are tier 3, so I wonder if we should even keep the dist Dockerfiles in the repo 🤔

My personal opinion: yes, they're immensely helpful for people like me who want to build a mipsel toolchain without any hassle, just by running a single script. The problem is that these scripts probably haven't been run or tested in a long while, seeing how I'm the first one to notice that they were broken.

@Kobzol
Copy link
Contributor

Kobzol commented Jan 17, 2025

Opened a discussion about this here. I get that they're useful to you, but I wonder if they could be just maintained out of tree? It's weird to keep code around that we don't use or test in any way, it can (and will) break arbitrarily in the future.

@workingjubilee
Copy link
Member

I think removing some patches is a strict improvement even if we later decide to remove all the rest.

@Kobzol
Copy link
Contributor

Kobzol commented Jan 17, 2025

That's a good point, we can merge this and then have the discussion async. I'll try if dist-mips-linux works locally.

@Kobzol
Copy link
Contributor

Kobzol commented Jan 17, 2025

It failed.. but I don't really feel like investigating why, since it's not tested, which is kind of why I wanted to remove these Dockerfiles 😆

92.72 ERROR: An error was encountered with the build.
[INFO ]  Performing some trivial sanity checks
[WARN ]  Number of open files 1024 may not be sufficient to build the toolchain; increasing to 2048
[INFO ]  Build started 20250117.204520
[INFO ]  Building environment variables
[WARN ]  Directory '/home/rustbuild/src' does not exist.
[WARN ]  Will not save downloaded tarballs to local storage.
[EXTRA]  Preparing working directories
[EXTRA]  Installing user-supplied crosstool-NG configuration
[EXTRA]  =================================================================
[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = x86_64-pc-linux-gnu
[EXTRA]      host   = x86_64-pc-linux-gnu
[EXTRA]      target = mips-unknown-linux-gnu
[EXTRA]  Dumping internal crosstool-NG configuration: done in 0.09s (at 00:03)
[INFO ]  =================================================================
[INFO ]  Retrieving needed toolchain components' tarballs
[EXTRA]    Retrieving 'linux-4.4.302'
[EXTRA]    Verifying SHA512 checksum for 'linux-4.4.302.tar.xz'
[EXTRA]    Retrieving 'zlib-1.2.13'
[EXTRA]    Verifying SHA512 checksum for 'zlib-1.2.13.tar.xz'
[EXTRA]    Retrieving 'gmp-6.2.1'
[EXTRA]    Verifying SHA512 checksum for 'gmp-6.2.1.tar.xz'
[EXTRA]    Retrieving 'mpfr-4.2.1'
[EXTRA]    Verifying SHA512 checksum for 'mpfr-4.2.1.tar.xz'
[EXTRA]    Retrieving 'isl-0.26'
[EXTRA]    Verifying SHA512 checksum for 'isl-0.26.tar.xz'
[EXTRA]    Retrieving 'mpc-1.2.1'
[EXTRA]    Verifying SHA512 checksum for 'mpc-1.2.1.tar.gz'
[EXTRA]    Retrieving 'ncurses-6.4'
[EXTRA]    Verifying SHA512 checksum for 'ncurses-6.4.tar.gz'
[EXTRA]    Retrieving 'libiconv-1.16'
[EXTRA]    Verifying SHA512 checksum for 'libiconv-1.16.tar.gz'
[EXTRA]    Retrieving 'gettext-0.21'
[EXTRA]    Verifying SHA512 checksum for 'gettext-0.21.tar.xz'
[EXTRA]    Retrieving 'binutils-2.32'
[EXTRA]    Verifying SHA512 checksum for 'binutils-2.32.tar.xz'
[EXTRA]    Retrieving 'gcc-8.5.0'
[EXTRA]    Verifying SHA512 checksum for 'gcc-8.5.0.tar.xz'
[EXTRA]    Retrieving 'glibc-2.23'
[EXTRA]    Verifying SHA512 checksum for 'glibc-2.23.tar.xz'
[INFO ]  Retrieving needed toolchain components' tarballs: done in 59.98s (at 01:03)
[INFO ]  =================================================================
[INFO ]  Extracting and patching toolchain components
[EXTRA]    Extracting linux-4.4.302
[EXTRA]    Patching linux-4.4.302
[EXTRA]    Extracting zlib-1.2.13
[EXTRA]    Patching zlib-1.2.13
[EXTRA]    Extracting gmp-6.2.1
[EXTRA]    Patching gmp-6.2.1
[EXTRA]    Extracting mpfr-4.2.1
[EXTRA]    Patching mpfr-4.2.1
[EXTRA]    Extracting isl-0.26
[EXTRA]    Patching isl-0.26
[EXTRA]    Extracting mpc-1.2.1
[EXTRA]    Patching mpc-1.2.1
[EXTRA]    Extracting ncurses-6.4
[EXTRA]    Patching ncurses-6.4
[EXTRA]    Extracting libiconv-1.16
[EXTRA]    Patching libiconv-1.16
[EXTRA]    Extracting gettext-0.21
[EXTRA]    Patching gettext-0.21
[EXTRA]    Extracting binutils-2.32
[EXTRA]    Patching binutils-2.32
[EXTRA]    Extracting gcc-8.5.0
[EXTRA]    Patching gcc-8.5.0
[EXTRA]    Extracting glibc-2.23
[01:32] \ 
92.72 [output clipped, log limit 2MiB reached]
[EXTRA]    Patching glibc-2.23
[ERROR]   
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Extracting and patching toolchain components'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@377]
[ERROR]  >>        called from: CT_DoExtractPatch[scripts/functions@2341]
[ERROR]  >>        called from: CT_PackageRun[scripts/functions@2090]
[ERROR]  >>        called from: CT_ExtractPatch[scripts/functions@2436]
[ERROR]  >>        called from: glibc_extract[scripts/build/libc/glibc.sh@16]
[ERROR]  >>        called from: do_libc_extract[scripts/build/libc.sh@23]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@669]
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      https://crosstool-ng.github.io/docs/known-issues/
[ERROR]  >>
[ERROR]  >> NOTE: You configuration uses non-default patch sets. Please
[ERROR]  >> select 'bundled' as the set of patches applied and attempt
[ERROR]  >> to reproduce this issue. Issues reported with other patch
[ERROR]  >> set selections (none, local, bundled+local,
[ERROR]  >> bundled+bundled_exp bundled+bundled_exp+local) are going to
[ERROR]  >> be closed without explanation.
[ERROR]  >>
[ERROR]  >>  If you feel this is a bug in crosstool-NG, report it at:
[ERROR]  >>      https://github.com/crosstool-ng/crosstool-ng/issues/
[ERROR]  >>
[ERROR]  >>  Make sure your report includes all the information pertinent to this issue.
[ERROR]  >>  Read the bug reporting guidelines here:
[ERROR]  >>      http://crosstool-ng.github.io/support/
[ERROR]   
[ERROR]  (elapsed: 1:31.39)
[01:32] / gmake: *** [/usr/local/bin/ct-ng:261: build] Error 1
------

 2 warnings found (use docker --debug to expand):
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 31)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 30)
Dockerfile:16
--------------------
  14 |     COPY host-x86_64/dist-mips-linux/patches/ /tmp/patches/
  15 |     COPY host-x86_64/dist-mips-linux/mips-linux-gnu.defconfig /tmp/crosstool.defconfig
  16 | >>> RUN /scripts/crosstool-ng-build.sh
  17 |     
  18 |     COPY scripts/sccache.sh /scripts/
--------------------
ERROR: failed to solve: process "/bin/sh -c /scripts/crosstool-ng-build.sh" did not complete successfully: exit code: 1
The command has failed after 5 attempts.

@Gelbpunkt
Copy link
Contributor Author

Judging by your output, you are not using the fixes in my PR (see the patches being copied, that is deleted in my patch). With the fixes, it should work. If it doesn't, let me know and I'll fix mips as well.

@Kobzol
Copy link
Contributor

Kobzol commented Jan 17, 2025

That was an embarrassing PEBKAC :) It seems to work with the fix indeed, thanks. Well, let's merge it, no harm in that.

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Jan 17, 2025

📌 Commit dfb8162 has been approved by Kobzol

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 17, 2025
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 18, 2025
… r=Kobzol

Drop MIPS glibc 2.23 patches that reside in crosstool-ng now

These patches were added to crosstool-ng in crosstool-ng/crosstool-ng@b88d338 and are therefore duplicate and fail to apply, breaking builds of `dist-mips*-linux`.

I have compile tested `dist-mipsel-linux`, I assume the other targets will work just as fine now.
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 19, 2025
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#135616 (CI: split i686-msvc job to two free runners)
 - rust-lang#135623 (ci: use ghcr ubuntu image for mingw-check-tidy)
 - rust-lang#135640 (Drop MIPS glibc 2.23 patches that reside in crosstool-ng now)
 - rust-lang#135663 (Fix ICE in resolving associated items as non-bindings)
 - rust-lang#135677 (Small `rustc_resolve` cleanups)
 - rust-lang#135680 (coverage: Clean up a few things after the counters overhaul)
 - rust-lang#135697 (Get rid of `ToPolyTraitRef`)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 19, 2025
…iaskrgr

Rollup of 6 pull requests

Successful merges:

 - rust-lang#135616 (CI: split i686-msvc job to two free runners)
 - rust-lang#135623 (ci: use ghcr ubuntu image for mingw-check-tidy)
 - rust-lang#135640 (Drop MIPS glibc 2.23 patches that reside in crosstool-ng now)
 - rust-lang#135663 (Fix ICE in resolving associated items as non-bindings)
 - rust-lang#135680 (coverage: Clean up a few things after the counters overhaul)
 - rust-lang#135697 (Get rid of `ToPolyTraitRef`)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 03c4462 into rust-lang:master Jan 19, 2025
6 checks passed
@rustbot rustbot added this to the 1.86.0 milestone Jan 19, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jan 19, 2025
Rollup merge of rust-lang#135640 - Gelbpunkt:drop-mips-glibc-patches, r=Kobzol

Drop MIPS glibc 2.23 patches that reside in crosstool-ng now

These patches were added to crosstool-ng in crosstool-ng/crosstool-ng@b88d338 and are therefore duplicate and fail to apply, breaking builds of `dist-mips*-linux`.

I have compile tested `dist-mipsel-linux`, I assume the other targets will work just as fine now.
@Gelbpunkt Gelbpunkt deleted the drop-mips-glibc-patches branch January 19, 2025 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants