Hi Kenneth, Kenneth Hoste <kenneth.ho...@ugent.be> writes:
> Hi Loris, > > On 20/08/2020 15:10, Loris Bennett wrote: >> Hi, >> >> I am trying to write an EC for an updated version of PyCUDA. Here is >> the diff to the and existing EC: >> >> [build@admin easyconfigs]$ diff >> /trinity/shared/easybuild/software/EasyBuild/4.2.2/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2018.1-intel-2018a-Python-3.6.4-CUDA-9.1.85.eb >> PyCUDA-2019.1.2-fosscuda-2019b-Python-3.7.4.eb >> 4,5c4,5 >> < version = '2018.1' >> < versionsuffix = '-Python-%(pyver)s-CUDA-9.1.85' >> --- >> > version = '2019.1.2' >> > versionsuffix = '-Python-%(pyver)s' >> 10c10 >> < toolchain = {'name': 'intel', 'version': '2018a'} >> --- >> > toolchain = {'name': 'foss', 'version': '2019b'} >> 14d13 >> < checksums = >> ['7079f7738e83ee79ae26f0827ada29fe55921fec9760201199cc2bfb69446c92'] >> 17,19c16,18 >> < ('Python', '3.6.4'), >> < ('CUDA', '9.1.85', '', True), >> < ('Boost.Python', '1.66.0', '-Python-%(pyver)s'), >> --- >> > ('Python', '3.7.4'), >> > ('CUDA', '10.2.89', '', ('GCC', '8.3.0')), >> > ('Boost.Python', '1.71.0'), >> >> In particular, prebuildopts is the same, namely >> >> prebuildopts = "./configure.py --cuda-root=$EBROOTCUDA >> --boost-inc-dir=$EBROOTBOOST/include/boost/ " >> >> However, my EC fails with the following error: >> >> == 2020-08-20 14:37:45,027 run.py:222 INFO running cmd: pip install >> --prefix=/trinity/shared/easybuild/software/PyCUDA/2019.1.2-foss-2019b-Python-3.7.4 >> --no-deps --ignore-installed --no-build-isolation . >> == 2020-08-20 14:39:40,893 build_log.py:169 ERROR EasyBuild crashed with >> an error (at >> easybuild/software/EasyBuild/4.2.2/lib/python2.7/site-packages/easybuild/base/exceptions.py:124 >> in __init__): cmd " pip install >> --prefix=/trinity/shared/easybuild/software/PyCUDA/2019.1.2-foss-2019b-Python-3.7.4 >> --no-deps --ignore-installed --no-build-isolation ." exited with exit >> code 1 and output: >> Processing >> /dev/shm/PyCUDA/2019.1.2/foss-2019b-Python-3.7.4/pycuda-2019.1.2 >> Building wheels for collected packages: pycuda >> Building wheel for pycuda (setup.py): started >> Building wheel for pycuda (setup.py): finished with status 'error' >> ERROR: Command errored out with exit status 1: >> command: >> /trinity/shared/easybuild/software/Python/3.7.4-GCCcore-8.3.0/bin/python -u >> -c 'import sys, setuptools, tokenize; sys.argv[0] = >> '"'"'/dev/shm/eb-CCA5_M/pip-req-build-me3t0nx8/setup.py'"'"'; >> __file__='"'"'/dev/shm/eb-CCA5_M/pip-req-build-me3t0nx8/setup.py'"'"';f=getattr(tokenize, >> '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', >> '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' >> bdist_wheel -d /dev/shm/eb-CCA5_M/pip-wheel-3qfyxeun --python-tag cp37 >> cwd: /dev/shm/eb-CCA5_M/pip-req-build-me3t0nx8/ >> Complete output (3278 lines): >> ************************************************************* >> *** I have detected that you have not run configure.py. >> ************************************************************* >> *** Additionally, no global config files were found. >> *** I will go ahead with the default configuration. >> *** In all likelihood, this will not work out. >> *** >> *** See README_SETUP.txt for more information. >> *** >> *** If the build does fail, just re-run configure.py with the >> *** correct arguments, and then retry. Good luck! >> >> Does anyone have an idea as to why the configure step isn't being >> carried out? > > It's curious that is not a problem with the existing PyCUDA easyconfig... > > When "use_pip" is enabled, 'prebuildopts' is basically (silently...) ignored > because the "build" step is a no-op. > > Try changing "prebuildopts =" to "preinstallopts"? Thanks, that has got me a bit further. After a lot of warnings about deprecated CUDA stuff, the build fails now with /trinity/shared/easybuild/software/binutils/2.32-GCCcore-8.3.0/bin/ld.gold: error: cannot find -lboost_python3 What I have is /trinity/shared/easybuild/software/Boost.Python/1.71.0-gompi-2019b/lib/libboost_python37.so So, back to my favourite topic of shared library versions :-/ Is trying to link to libboost_python3 instead of libboost_python37 the problem, or is it that the link libboost_python3.so -> libboost_python37.so is missing? Cheers, Loris -- Dr. Loris Bennett (Mr.) ZEDAT, Freie Universität Berlin Email loris.benn...@fu-berlin.de