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

Reply via email to