-
-
Notifications
You must be signed in to change notification settings - Fork 12.4k
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
octave: bump revision (gcc) #84245
octave: bump revision (gcc) #84245
Conversation
Probably should see if there is a way for current Otherwise, at minimum, there needs to be a test case added to detect this. When |
This should replace the versioned path Like mentioned in the discussion, could you add a test that fails if GCC gets updated to a version that octave doesn't have baked in? |
Thank you @cho-m and @SMillerDev for the comments. I will work on a small example and extend this PR. |
One alternative here is to force GCC to stop encoding its full version in its subdirectories. I vaguely recall a This will break any existing users that rely on those paths, but they get broken with each version bump anyway. |
Regardless of the fix, it would still be good to have a check for it. |
From `./configure --help`: --with-gcc-major-version-only use only GCC major number in filesystem paths Some formulae rely on paths that encode GCC's full version [1] (e.g. `octave`, see Homebrew#84245), so we should stop trying to create these paths so that these formulae don't get broken on GCC version bumps. [1] e.g. `include/c++/11.2.0`, `lib/gcc/11/gcc/x86_64-apple-darwin20/11.2.0`
The previous commit reconfigures GCC to stop using its full version in file system paths. We need to bump this revision to pull in the fix. Closes Homebrew#84245.
Thank you @carlocab for the quick help and input 🙂 With 55cad12 I added two minimal compilations tests. The second is the most minimal version of the problem I could think of. Please tell me if my "rusty" ruby syntax knowledge for long strings is adequate and I will polish the PR if necessary 😉 |
Thanks for the suggestions @carlocab , your ruby syntax looks indeed cleaner 😉 |
@carlocab Are further changes necessary here? The test failure seems to be related to a general compilation problem of Octave on macOS 11 arm64, the remaining tests were cancelled 😓 |
I think we want to wait for #84248 to run this test again |
Actually, I think it's the reverse. We want to merge this first so that we can check that the test here fails after the revision bump to GCC in #84248. If the test doesn't catch the change in paths from the GCC change then it's not the test we need. |
@SMillerDev @carlocab is there anything I can help on this item? |
Fix the failing test, as merging this as is will lead to all the bottles going away. |
My basic wish to bump the revision had already been done b74de19 and my original problem is resolved with a fresh bottle. However I do not know if #84248 will be a problem with the next gcc update again. Is the test I wrote still of any interest? Maybe running the test suite again might succeed now 😇 Otherwise feel free to close this report. Thank you all very much for your time and effort to resolve this issue 🙂 |
@siko1056 I think the test might still be of interest. It depends on how much work it is do make it run. Do you need any help to get a green CI here? |
Thanks for your reply @iMichka . The last test run is quite some time ago. If it was run again, I think it should pass now. Can you trigger the test suit run again? The more interesting question is, does it fail if GCC links are stale again, i.e. the purpose of the test 😉 |
@iMichka I made some updates and only the first time the test suite was run. Can you trigger another run? Many thanks in advance 🙂 |
You have a syntax error:
|
Thanks @iMichka, I fixed the problem and some tests pass now. However, some tests timed out and on "ubuntu-latest" the "mkoctfile" configuration seems not to be setup correctly. If the workers are less busy, can the check be re-run? 😓 |
Thank you @carlocab for the extra attempt. All checks except unbuntu are working, enough to merge? 😇 |
Not quite:
We can probably fix the first one by adding appropriate You can fix the second one by rebasing your branch against origin/master. Please squash all your commits too when you do so. |
Thanks for the constructive comments @carlocab .
|
This is because we run the tests in a docker container on Linux. Can we try to run all the |
Thanks for checking @iMichka . In general Octave does not really care if there is no display available and just turns of GUI related features as the output suggests
The problem for the Linux compilation check is this error:
resulting from
I try to find out the contents of those |
You don't need to do
For example:
|
@carlocab Thank you again for this enlightning comment 🙂 Homebrew's build system is much better than I expected, great work you do 👏 Now I (hopefully) understand your previous comment regarding the And sorry for wasting build time with the |
It seems to have worked 🎉 Thank you for all your helpful comments. Ready to merge? 😇 |
Also, bump the revision for GCC.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working on this!
Nice, thanks! |
🤖 A scheduled task has triggered a merge. |
brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingbrew install --build-from-source <formula>
)? If this is a new formula, does it passbrew audit --new <formula>
?The gcc of the "octave" bottle is outdated. gcc version 11.1.0 is hard coded inside, while an updated system uses gcc version 11.2.0 already. This issue is fixed by rebuilding the bottle with bumping the revision.
The stale gcc link causes very frequently used Octave packages to not install correctly. Entering the first line in the Octave command-line results in the following error messages, clearly indicating the problem of a stale gcc compiler.
A better approach would probably be to automatically rebuild this bottle if gcc is updated. However, this seems to be not desired and I do not understand the following logic, which tried to solve this issue:
homebrew-core/Formula/octave.rb
Lines 125 to 129 in 250d6e6
Detailed discussion: Homebrew/discussions#1986