Closed rickardomc closed 6 months ago
UPDATE It works with another computer. env:
OS: Fedora Linux 39 (Workstation Edition)
processor: Intel® Core™ i7-8550U × 8
gcc: 13.2.1
json-devel (nlohmann-json3-dev):3.11.2-3.fc39.x86_64
gmp-devel: 6.2.1-5.fc39.x86_64
nasm: 2.16.01-4.fc39.x86_64
These dependencies, compared to the ones I used on Ubuntu, are more recent. I did not further analyze it, but I think this is the reason. I'd suggest you to specify the right versions in the docs here https://github.com/iden3/circom/blob/12c92e060c0daeca982e787c120d73b507602225/mkdocs/docs/getting-started/computing-the-witness.md?plain=1#L51
I got exactly the same problem. The witness generation fails on Intel based CPU but succeeds on AMD (both using Ubuntu 22). Not sure if this has a link with CPU architecture.
Extra libs that I installed on: build-essential libgmp-dev libsodium-dev nasm nlohmann-json3-dev libssl-dev zlib1g-dev
. I think these are libs needed for either compiling c++ or snarkjs.
Error:
Program received signal SIGILL, Illegal instruction.
0x000055555555d94b in Fr_rawMMul ()
In my case, all the main dependency libs between 2 machines are exactly the same.
Did you use the same version as mine with Fedora (the most recent, the working ones)? @visopsys
@rickardomc Both of my machines are using Ubuntu 22.
I am trying to install different OS version on the machine that fails. Will let you know the result.
Sorry, I forgot the subject... I was referring to the dependencies' version.
gcc: 13.2.1
json-devel (nlohmann-json3-dev):3.11.2-3.fc39.x86_64
gmp-devel: 6.2.1-5.fc39.x86_64
nasm: 2.16.01-4.fc39.x86_64
Hello @rickardomc @visopsys! You need processor with the support of ADX instructions (Intel Broadwell from 2014 or newer). i5-4440 is older Haswell microarchitecture, which doesn't have it.
Thanks @OBrezhniev . This makes sense. The server that fails uses intel xeon e5-1650v3 chip which is based on Haswell architecture.
I think this issue can be closed
multiplier2.circom (I also tried with another example proposed on the circom documentation):
commands:
gdb error:
env: