Cannot compile basic pyx from conda due to linking problems

218 views
Skip to first unread message

Jesse Smith

unread,
Aug 22, 2022, 1:26:15 PM8/22/22
to cython-users
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




Reply all
Reply to author
Forward
0 new messages