Comments (2)
It seems like the MacOS CI is now using ARM CPUs:
and the make_headers
task assumes it is running on x86
Executing task make_lib in /Users/runner/work/constantine/constantine/constantine/constantine.nimble
Compiling static library: lib/libconstantine.a.arm
Compiling static library: lib/libconstantine.a.x64
Compiling dynamic library: lib/libconstantine.dylib.arm
ld: warning: ignoring duplicate libraries: '-lm'
Compiling dynamic library: lib/libconstantine.dylib.x64
ld: warning: ignoring duplicate libraries: '-lm'
Executing task make_headers in /Users/runner/work/constantine/constantine/constantine/constantine.nimble
/Users/runner/work/constantine/constantine/constantine/nimcache/libcurves_headers/@m..@sconstantine@splatforms@sisa@scpudetect_x86.nim.c:80:8: error: invalid output constraint '=a' in asm
:"=a"(result.eax), "=b"(result.ebx), "=c"(result.ecx), "=d"(result.edx)
^
However building a fat binary for both x86 and ARM works well.
from constantine.
Cross-compiling for Linux ARM64 on Linux x86 host works with Clang.
However looking at the error message we can see Nim Compiler version 1.6.21 [MacOSX: amd64]
but the host is actually arm64-apple-darwin23.4.0
So I suspect Nim is actually running through Rosetta and "thinks" it is on a x86 platform, which leads to this const X86
check being mistakenly true:
constantine/constantine/platforms/config.nim
Lines 12 to 13 in 976c8bb
from constantine.
Related Issues (20)
- EIP-7594: Data Availability Sampling HOT 1
- Tests for Scalar Deserialize by Ignacio
- wrong result with `scalarMul` in G2 curve HOT 3
- Refine scalar decomposition for GLV/GLS endomorphism acceleration HOT 2
- IPAProof and Multiproof Ser/De
- Enhancement of `generateChallengeScalar()` in Verkle Cryptography API
- Implement SAFE (Sponge API for Field Elements)
- Tracking compiler inefficiencies
- precomp square root in constant time HOT 2
- Sage script for dlog precomp constants calculation HOT 2
- Polynomial refactoring
- Another G2 MSM wrong result HOT 5
- IPA / Verkle tree cleanups
- Nim 2.0.x devel: static generic typeclass type mismatch HOT 3
- Banderwagon: clearing cofactors
- Bandersnatch/wagon Curve25519: fast subgroup checks
- EIP-2537: Potential memory leak in G1 and G2 MSM
- Followup: Go API for BLS signatures HOT 2
- MSM - optimized MSM wrong result in IPA verifier.
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 constantine.