Comments (14)
Thanks for the report. This is rather odd since I am mostly testing / working on a M1 Max also with 64 GB and this works fine (I am usually using -j 6) . There shouldn't be differences between an M1 and M2 observable by coqc. I will re-test on my machine.
A few questions:
- what library manager do you use? Homebrew or MacPorts?
- what MacOS version do you use?
- what shell do you use (things like stack size limits might be shell specific, since e.g. ulimit is a shell built in)?
from platform.
Homebrew, macOS 14.3.1, zsh
from platform.
@andrew-appel : can you please post the output of
ulimit -S -a
ulimit -H -a
from platform.
% ulimit -S -a
-t: cpu time (seconds) unlimited
-f: file size (blocks) unlimited
-d: data seg size (kbytes) unlimited
-s: stack size (kbytes) 8176
-c: core file size (blocks) 0
-v: address space (kbytes) unlimited
-l: locked-in-memory size (kbytes) unlimited
-u: processes 10666
-n: file descriptors 2560
% ulimit -H -a
-t: cpu time (seconds) unlimited
-f: file size (blocks) unlimited
-d: data seg size (kbytes) unlimited
-s: stack size (kbytes) 65520
-c: core file size (blocks) unlimited
-v: address space (kbytes) unlimited
-l: locked-in-memory size (kbytes) unlimited
-u: processes 16000
-n: file descriptors unlimited
from platform.
Thanks - all as it should be. I am out of ideas here (still works for me on M1 Max). The only difference is that I am using MacPorts instead of Homebrew, but I am testing Homebrew regularly on my old Intel Mac. If it is a Homebrew issue, it must be ARM silicon specific.
I see a few options:
1.) You try with MacPorts, but this might be tricky. Unlike MacPorts (which lives under /opt/local) Homebrew is distributed in a few places and not trivial to remove or hide temporarily.
2.) We ask the Unicoq team if they have a M2 Mac to try
3.) You send me a coredump and I see what I can get out of this. Creating coredumps on Mac is said to be tricky, though. At the minimum you need to set the ulimit
for core files (see above) to unlimited, but I have heard that more is required (I never tried).
It did btw. work in CI last time it did run (https://github.com/coq/platform/actions/runs/7982114209/job/21795066633#step:7:518) - the Mac CI got broken after a Github update 3 weeks back and I didn't manage to fix it as yet (but I think I know how to do it meanwhile - just no time to test it as yet). CI uses (or used) Homebrew + Intel.
from platform.
I btw. don't see how Homebrew / MacPorts supplied libraries could have the effect that coqc crashes just for UniCoq.
from platform.
Perhaps we can just make the installation of those 3 packages optional in the Coq platform script.
from platform.
This also fails on me with MacPorts:
...
∗ installed coq-paramcoq.1.1.3+coq8.18
∗ installed coq-itauto.8.18.0
∗ installed coq-gappa.1.5.4
∗ installed coq-mathcomp-finmap.1.5.2
∗ installed coq-coquelicot.3.4.0
∗ installed coq-simple-io.1.8.0
∗ installed coq-reglang.1.1.3
[ERROR] The compilation of coq-relation-algebra.1.7.10 failed at "make -j8".
∗ installed coq-mathcomp-fingroup.1.18.0
[ERROR] The compilation of coq-unicoq.1.6+8.18 failed at "make -j8".
...
from platform.
@rongcuid : thanks for the additional data point!
from platform.
Weird, this seems to work for me on my M2 with Homebrew, macOS 13.4.1, zsh... Maybe it is macOS version specific ? I could update and try again afterwards ? Won't have time today though :-/
from platform.
@andrew-appel : after a day of testing I found that this is not an issue with MacOS but with Xcode. Installing Xcode 14.3.1 at /Applications/Xcode_14.3.1.app and activating it for command line use via:
sudo xcode-select --switch /Applications/Xcode_14.3.1.app
hash -r
and recreating the switch (I also recompiled all MacPorts packages to be sure, but I don't think this is the issue) fixes the issue. The next published version of XCode, 15.0.1 and all newer versions don't work for me.
It likely also works to not use Xcode command lines tools (that is do sudo xcode-select --reset
) and instead use a MacPorts / Homebrew supplied clang / gcc (still testing).
from platform.
An update: using MacPorts supplied gcc and/or clang did not work. The only working configuration seems to be Xcode 14.3.1. MacPorts in general does not work well if no Xcode is supplied.
from platform.
Apparently this needs a bit more work if one wants CoqIDE - some of the dependency packages of CoqIDE fail to compile via MacPorts with Xcode 14.3.1, but I believe this is just a sanity check of MacPorts rather than an actual issue. I see what I can do.
from platform.
Related Issues (20)
- snap-installed Coq Platform does not work in emacs/ProofGeneral HOT 3
- coq-platform snap: missing icons in coqide HOT 2
- changed code signature in macOS release 8.17.1~2023.08? HOT 2
- coq_makefile broken
- Tracker issue for 8.18 pick creation
- Scripts: opam update is done to late - it must be done before switch creation
- Add coq-tools / coq-bug-minimizer to the platform? HOT 2
- Add coinduction to the Coq Platform
- Add the libraries for undecidability and first-order logic to the Platform HOT 4
- Coq Platform & OCaml 5 HOT 1
- CI: auto cancel workflow runs on new push to PR branch
- Snap release 8.18 / 2023.11.0 HOT 1
- Missing Windows 32bit binaries in 2023.11.0 release HOT 3
- README incorrectly says there's no binary release for Apple Silicon HOT 1
- Tracker issue for 8.19 package tag creation
- Please avoid Dune 3.13-3.15 HOT 1
- Unable to run Coq-Platform after following instructions for disk image installation on MacBook Air M1 16GB Sonoma 14.4.1 HOT 19
- Add a check if any COQxxx environment variables are set
- install Coq through opam fails on Arch Linux if ocaml-findlib package is installed HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from platform.