Visa-Research / volepsi

Efficient Private Set Intersection base on VOLE
MIT License
111 stars 32 forks source link

Illegal Instruction while trying to run the frontend executable #74

Open aswad546 opened 3 months ago

aswad546 commented 3 months ago

Hello,

I am attempting to build your code on a remote machine. I install all dependencies with their required versions and the build happens smoothly. When I attempt to run the executable ./frontend, I get the output Illegal Instruction. Upon further investigation, using gdb I discovered that the issue lies in certain instructions executed that require the AVX instruction set. This line in assembly in particular is where the issue lies (vpxor is an AVX instruction):

0x0000555555593d07 <+87>: vpxor %xmm0,%xmm0,%xmm0

The problem is my machine does not have AVX enabled and does not support the instruction set as well. Are there any compiler flags I can modify (something more generic) that let me use your code on this machine. Or must I shift to a different machine which has AVX enabled.

Thank you

ladnir commented 6 days ago

When building you need to disable sse.

python build.py -DVOLE_PSI_ENABLE_SSE=false

See the Readme for details