-
Notifications
You must be signed in to change notification settings - Fork 228
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
Added macos build on arm64, bumped ubuntu to 24.04 #3288
base: development
Are you sure you want to change the base?
Conversation
3fc60e2
to
b80941d
Compare
Not sure what to do about the |
I think the following should fix the autotools-ubuntu build: --- a/.github/workflows/test_build.yml
+++ b/.github/workflows/test_build.yml
@@ -198,7 +198,8 @@ jobs:
- name: Validate HTML documentation
if: matrix.build-system == 'autotools' && runner.os == 'Linux'
run: |
- python3 -m pip install html5validator
+ sudo apt install pipx
+ pipx install html5validator
if test ${{ github.event_name }} = pull_request
then
git fetch --depth=1 origin development |
@mikestillman if you have an M1 machine, could you investigate why this is happening? -- capturing example results for "Lex" /bin/sh: line 1: 18364 Trace/BPT trap: 5 /Users/runner/work/M2/M2/M2/BUILD/build/usr-dist/arm64-Darwin-macOS-14.5/bin/M2 -q --stop --silent --no-preload --no-threads -e errorDepth=3 -e debugLevel=0 -e "installPackage(\"Macaulay2Doc\", Verbose => false, RerunExamples => false, CheckDocumentation => true, IgnoreExampleErrors => false, RemakeAllDocumentation => false, InstallPrefix => \"/Users/runner/work/M2/M2/M2/BUILD/build/usr-dist/\", UserMode => false, SeparateExec => true, DebuggingMode => true)" -e "\"info-\"|\"Macaulay2Doc\" << Macaulay2Doc#\"test number\" << close" -e "exit 0" Googling |
Without |
cc37c56
to
db9463d
Compare
@mikestillman could you try running the "Lex" example on arm64 with macos-14? There's no error file saved other than: -- capturing example results for "Lex" /bin/sh: line 1: 18412 Trace/BPT trap: 5 |
On CMake (macos-14 arm64), we're getting a core dump on this line: i5 : C = QQ[a..d,MonomialOrder=>Lex,MonomialSize=>8];
i6 : try a^(2^15-1) else "failed" (GRevLex is also causing the same crash) Meanwhile, autotools (macos-13 x86_64) is failing on several ForeignFunctions examples: i1 : mpfr = openSharedLibrary "mpfr"
stdio:1:8:(3): error: dlopen(libmpfr.dylib, 0x0001): tried: '/Users/runner/work/M2/M2/M2/BUILD/build/usr-dist/x86_64-Darwin-macOS-13.6.7/bin/../lib/Macaulay2/lib/libmpfr.dylib' (no such file), '/libmpfr.dylib' (no such file), 'libmpfr.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibmpfr.dylib' (no such file), '/Users/runner/work/M2/M2/M2/BUILD/build/usr-dist/x86_64-Darwin-macOS-13.6.7/lib/Macaulay2/lib/libmpfr.dylib' (no such file), '/Users/runner/work/M2/M2/M2/BUILD/build/usr-dist/x86_64-Darwin-macOS-13.6.7/lib/libmpfr.dylib' (no such file), '/usr/local/opt/flint/lib/libmpfr.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/flint/lib/libmpfr.dylib' (no such file), '/usr/local/opt/gmp/lib/libmpfr.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/gmp/lib/libmpfr.dylib' (no such file), '/Users/runner/work/M2/M2/M2/BUILD/build/usr-dist/x86_64-Darwin-macOS-13.6.7/lib/Macaulay2/lib/libmpfr.dylib' (no such file), '/Users/runner/work/M2/M2/M2/BUILD/build/usr-dist/x86_64-Darwin-macOS-13.6.7/lib/libmpfr.dylib' (no such file), '/usr/local/opt/flint/lib/libmpfr.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/flint/lib/libmpfr.dylib' (no such file), '/usr/local/opt/gmp/lib/libmpfr.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/gmp/lib/libmpfr.dylib' (no such file), '/usr/lib/libmpfr.dylib' (no such file, not in dyld cache), 'libmpfr.dylib' (no such file) |
Why isn't |
I ran a little experiment, and in macos-12, |
Oops, that messed up some |
722815d
to
db9463d
Compare
Just pushed a commit with a slightly different approach, adding |
Wait, there are still some |
Yeah, sorry that's not you. I thought adding Also, I'm against hardcoding paths in the wrapper (which is kinda useless these days anyway since we don't distribute other libraries). We could use the value of |
Fair point -- the wrapper that doesn't really do anything on most installations has always bugged me too. I'll go back to the previous solution. |
To be clear, I'm against hardcoding paths anywhere :) I'm wondering why the section of ForeignFunctions that deals with macOS didn't add the brew path correctly. Can you do an experiment to see if macos-13 has a different value for any of the parameters? |
The macOS hack in ForeignFunctions currently only fires on arm machines, since |
d518b51
to
d976f4f
Compare
There was definitely a build were the linking issues didn't happen: https://github.com/Macaulay2/M2/actions/runs/9569457804/job/26382031099 |
@mikestillman have you had a chance to build M2 with clang on macos-14? I noticed the linked libraries of the binary built on github are strange:
For instance, there are two different |
8832deb
to
90d978b
Compare
Starting macOS 13 (Ventura), install-info is missing from the system, which causes the autotools build to fail.
It was previously only a problem on ARM machines, since dlopen never checked in /opt/homebrew/lib. But it's apparently a problem on Intel Ventura machines as well, since after to switching to macos-13 for the GitHub builds, dlopen doesn't check in /usr/local/lib either.
@mahrud What is e-antic used for in M2? |
Normaliz is linked with it on some systems, same as nauty. (Also, you don't need to always use @ to tag people if they're already in the conversation, like here) |
Have you taken a look at this PR yet? The build on arm64 macos-14 is still failing on this: i5 : C = QQ[a..d,MonomialOrder=>Lex,MonomialSize=>8];
i6 : try a^(2^15-1) else "failed" |
Ooops, yes. I will try this weekend, or possibly later today. |
I am now, on my new mac, trying to compile M2 under development. I have an executable now. Most examples run, except M2 cannot seem to find csdp... Any suggestions? It appears to be on the system. I wonder if the findProgram for it is failing. Perhaps, I'll check. I'm not quite at the point where I see the error above. I am using development, should I be compiling with this branch instead? |
if I run |
No description provided.