Hi Kenneth,
Kenneth Hoste <[email protected]> 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 [email protected]