Ensure you have llvm-symbolizer in your PATH

Hello, I’m new to concrete and trying to run an example from the documentation where I can compile multiple functions using module. However I get the following error when I try to compile the code

Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var LLVM_SYMBOLIZER_PATH to point to it):
0 libLLVM-17git-0add3cf5.so 0x00007a276e552b51 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 225
1 libLLVM-17git-0add3cf5.so 0x00007a276e550564
2 libc.so.6 0x00007a2785245320
3 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d5c6af1
4 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d5759ec
5 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d56a552
6 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d56596a
7 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d2c5b26
8 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d2a24fb
9 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d2a56fd
10 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d2a6573
11 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d2aa6d7
12 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d2aab94
13 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d18bced
14 _concretelang.cpython-312-x86_64-linux-gnu.so 0x00007a276d12bfe1
15 python3 0x000000000058238f
16 python3 0x0000000000549225 _PyObject_MakeTpCall + 117
17 python3 0x00000000005d7909 _PyEval_EvalFrameDefault + 2697
18 python3 0x000000000054aa72 _PyObject_Call_Prepend + 194
19 python3 0x000000000059e54f
20 python3 0x0000000000599f93
21 python3 0x0000000000549225 _PyObject_MakeTpCall + 117
22 python3 0x00000000005d7909 _PyEval_EvalFrameDefault + 2697
23 python3 0x00000000005d5e4b PyEval_EvalCode + 347
24 python3 0x0000000000608fd2
25 python3 0x00000000006b55e3
26 python3 0x00000000006b534a _PyRun_SimpleFileObject + 426
27 python3 0x00000000006b517f _PyRun_AnyFileObject + 79
28 python3 0x00000000006bd1e5 Py_RunMain + 949
29 python3 0x00000000006bcccd Py_BytesMain + 45
30 libc.so.6 0x00007a278522a1ca
31 libc.so.6 0x00007a278522a28b __libc_start_main + 139
32 python3 0x0000000000658425 _start + 37
PLEASE submit a bug report to GitHub · Where software is built and include the crash backtrace.
Illegal instruction (core dumped)

I’m using virtual box 7.1.4 and Ubuntu OS 24.04.1. I’d appreciate any help. thanks

Hello @rraj , the error you got is an Illegal instruction. Concrete x86_64 releases are compiled for modern CPU so else the virtual box environment doesn’t support the instruction and/or your CPU.

Hi @yundsi, thanks for your response. Does that mean it’s not possible to use concrete in a virtual box environment?

Also, I installed concrete in a virtual environment (venv) as I was unable to install it globally. Could that affect the execution ?

That’s hard to answer exactly why you have an illegal instruction here, maybe is the host that doesn’t provide some CPU instruction used by concrete release. I guess the avx/avx2 set is required but not sure if the missing instruction is in this set. What is the instructions set you have?
You can still recompile the frontend and create a custom wheel for your environment.

Installing concrete in a python venv is totally fine.

I’m basically trying to run the quick start code mentioned in the documentation. A simple add operation.

The error is thrown at

circuit = compiler.compile(inputset)

I tried sudo apt-get update, sudo apt-get upgrade, also increased the cpu in virtual box settings to 4 but that didn’t work either.

Hi @rraj!

As @yundsi mentioned, the error you posted initially is caused by an illegal instruction executed by the code running within the VM. This is probably an instruction from a SIMD extension, probably AVX2. It is very likely that your host system supports this instruction, but that the extension is not enabled for the VM. Can you make sure in the VirtualBox settings for the VM that all SIMD-related instruction set extensions are enabled, in particular AVX2?

Once that is done please restart the VM and check if the error persists. If so, can you then please post the output of cat /proc/cpuinfo from within the VM?

Thanks!

Hi @andi

The only setting that I can enable is “Enable PAE/NX” and “Enable I/O APIC” and that did not resolve the issue. Following is the output of cat /proc/cpuinfo

However, I have been able to run the code through a docker container so I’ll continue working with that. Thank you for your help.