PySlurm / pyslurm

Python Interface to Slurm
https://pyslurm.github.io
GNU General Public License v2.0
474 stars 116 forks source link

An error when build pyslurm #276

Closed Gift-OYS closed 1 year ago

Gift-OYS commented 1 year ago

Details

Issue

When I tried to build the pyslurm by executing python setup.py build, an error occured as following, any help on this appreciated

INFO: INFO: Building PySlurm (20.02.0.0) INFO: ------------------------------ INFO: INFO: Cython version 0.29.33 installed INFO: INFO: Clean - checking for objects to clean INFO: Clean - completed INFO: Build - Found Slurm header in /usr/include INFO: Build - Detected Slurm version - 0x140202 (20.02.02) INFO: Build - Found Slurm shared library in /usr/lib64 INFO: Build - Generating pyslurm/bluegene.pxi file /home/xxx/.conda/envs/xxx/lib/python3.6/site-packages/setuptools/dist.py:472: UserWarning: Normalizing '20.02.0.0' to '20.2.0.0' normalized_version, running build running build_py creating build creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/pyslurm copying pyslurm/version.py -> build/lib.linux-x86_64-3.6/pyslurm copying pyslurm/init.py -> build/lib.linux-x86_64-3.6/pyslurm running build_ext cythoning pyslurm/pyslurm.pyx to pyslurm/pyslurm.c building 'pyslurm.pyslurm' extension creating build/temp.linux-x86_64-3.6 creating build/temp.linux-x86_64-3.6/pyslurm gcc -pthread -B /home/xxx/.conda/envs/xxx/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include -I. -I/home/xxx/.conda/envs/xxx/include/python3.6m -c pyslurm/pyslurm.c -o build/temp.linux-x86_64-3.6/pyslurm/pyslurm.o pyslurm/pyslurm.c: In function ‘pyx_pymod_exec_pyslurm’: pyslurm/pyslurm.c:86530:36: error: ‘ESLURM_ACTIVE_FEATURE_NOT_SUBSET’ undeclared (first use in this function) 86530 | pyx_t_7 = Pyx_PyInt_From_int(ESLURM_ACTIVE_FEATURE_NOT_SUBSET); if (unlikely(!pyx_t_7)) PYX_ERR(7, 50, pyx_L1_error) | ^~~~~~~~ pyslurm/pyslurm.c:86530:36: note: each undeclared identifier is reported only once for each function it appears in pyslurm/pyslurm.c:88603:41: error: ‘NO_CONSUME_VAL64’ undeclared (first use in this function) 88603 | pyx_t_7 = Pyx_PyInt_From_uint64_t(NO_CONSUME_VAL64); if (unlikely(!pyx_t_7)) __PYX_ERR(8, 15, pyx_L1_error) | ^~~~ error: command 'gcc' failed with exit status 1

tazend commented 1 year ago

Hi @Gift-OYS

please try again with this branch that I just created for pyslurm 20.02.x - it should work now.

The problem was that NO_CONSUME_VAL64 and ESLURM_ACTIVE_FEATURE_NOT_SUBSET were unfortunately just added later in 20.02.5, which is basically the version pyslurm was expecting. I have just removed the ESLURM_ACTIVE_FEATURE_NOT_SUBSET flag from being exported to python-space (this flag isn't needed anyway) and hardcoded NO_CONSUME_VAL64 with its actual value.

tazend commented 1 year ago

Hi @Gift-OYS

any news on this? Were you able to test it?