Hi all, I have a supposed linking problem with compiling a basic pyx file. Below I list the sequence of steps. I'm not sure where the problem lies, but I assume it is configurational somehow.
Interestingly, this only occurs using a conda environment. The same compilation using the system python interpreter succeeds without issue. System is linux with Python 3.10.6 and the most recent Miniconda running Python 3.9.13.
Any ideas where I may have gone wrong? Thanks
Create new environment and activate:
conda create -n cython_test python=3.9 cython
conda activate cython_test
Make a basic pyx file containing some trivial function such as:
cdef int lowest(int val1, int val2) nogil:
if val1 > val2:
return val2
else:
return val1
Compiling as:
cythonize -i test_file.pyx
Produces the following output:
running build_ext
building 'impl2' extension
creating /home/zoot/PycharmProjects/cython_testing/tmpefnvrp00/home
creating /home/zoot/PycharmProjects/cython_testing/tmpefnvrp00/home/zoot
creating /home/zoot/PycharmProjects/cython_testing/tmpefnvrp00/home/zoot/PycharmProjects
creating /home/zoot/PycharmProjects/cython_testing/tmpefnvrp00/home/zoot/PycharmProjects/cython_testing
gcc -pthread -B /home/zoot/miniconda3/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /home/zoot/miniconda3/include -fPIC -O2 -isystem /home/zoot/miniconda3/include -fPIC -I/home/zoot/miniconda3/include/python3.9 -c /home/zoot/PycharmProjects/cython_testing/impl2.c -o /home/zoot/PycharmProjects/cython_testing/tmpefnvrp00/home/zoot/PycharmProjects/cython_testing/impl2.o
gcc -pthread -B /home/zoot/miniconda3/compiler_compat -shared -Wl,--allow-shlib-undefined -Wl,-rpath,/home/zoot/miniconda3/lib -Wl,-rpath-link,/home/zoot/miniconda3/lib -L/home/zoot/miniconda3/lib -Wl,--allow-shlib-undefined -Wl,-rpath,/home/zoot/miniconda3/lib -Wl,-rpath-link,/home/zoot/miniconda3/lib -L/home/zoot/miniconda3/lib /home/zoot/PycharmProjects/cython_testing/tmpefnvrp00/home/zoot/PycharmProjects/cython_testing/impl2.o -o build/lib.linux-x86_64-cpython-39/
impl2.cpython-39-x86_64-linux-gnu.so
With the following errors:
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: /usr/lib/libc.so.6: unknown type [0x13] section `.relr.dyn'
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: skipping incompatible /usr/lib/libc.so.6 when searching for /usr/lib/libc.so.6
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: /usr/lib/libc.so.6: unknown type [0x13] section `.relr.dyn'
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: skipping incompatible /usr/lib/libc.so.6 when searching for /usr/lib/libc.so.6
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: cannot find /usr/lib/libc.so.6
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: /usr/lib/libc.so.6: unknown type [0x13] section `.relr.dyn'
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: skipping incompatible /usr/lib/libc.so.6 when searching for /usr/lib/libc.so.6
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: /usr/lib/libc.so.6: unknown type [0x13] section `.relr.dyn'
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: skipping incompatible /usr/lib/libc.so.6 when searching for /usr/lib/libc.so.6
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: /usr/lib/ld-linux-x86-64.so.2: unknown type [0x13] section `.relr.dyn'
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: skipping incompatible /usr/lib/ld-linux-x86-64.so.2 when searching for /usr/lib/ld-linux-x86-64.so.2
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: /usr/lib/ld-linux-x86-64.so.2: unknown type [0x13] section `.relr.dyn'
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: skipping incompatible /usr/lib/ld-linux-x86-64.so.2 when searching for /usr/lib/ld-linux-x86-64.so.2
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: cannot find /usr/lib/ld-linux-x86-64.so.2
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: /usr/lib/ld-linux-x86-64.so.2: unknown type [0x13] section `.relr.dyn'
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: skipping incompatible /usr/lib/ld-linux-x86-64.so.2 when searching for /usr/lib/ld-linux-x86-64.so.2
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: /usr/lib/ld-linux-x86-64.so.2: unknown type [0x13] section `.relr.dyn'
/home/zoot/miniconda3/envs/cython_test/compiler_compat/ld: skipping incompatible /usr/lib/ld-linux-x86-64.so.2 when searching for /usr/lib/ld-linux-x86-64.so.2
collect2: error: ld returned 1 exit status
error: command '/usr/bin/gcc' failed with exit code 1