Hi Kenneth,

thanks for the help. I also read about the triple quotes. Unfortunately I get 
the same error as before (from the config.log):

configure:4560: mpiicc  -O2 -xHost -ftz -fp-speculation=safe -fp-model source 
-fPIC -D_Float32=float -D_Float64='long double'  -I...
icc: error #10236: File not found:  'double''

I will try to compile HDF5 tomorrow by hand to make sure its really an EB issue 
and not just related to how configure works or the intel compiler. 

Best
Sebastian

> Am 21.11.2018 um 22:06 schrieb Kenneth Hoste <[email protected]>:
> 
> Dear Sebastian,
> 
> How about this:
> 
> preconfigopts = """CFLAGS="$CFLAGS -D_Float32=float -D_Float64='long double'" 
> """
> 
> In Python, you can use triple quotes (""") to define string values that have 
> both single and double quotes (or newlines) in them.
> 
> Note that I'm also avoiding that you're hard overwriting the $CFLAGS defined 
> by EasyBuild (I need to use double quotes CFLAGS="$CFLAGS ..." to ensure that 
> bash will expand the $CFLAGS with the value defined by EasyBuild, single 
> quotes would prevent expansion...).
> 
> I hope this helps...
> 
> regards,
> 
> Kenneth
> 
> On 21/11/2018 21:43, Sebastian Potthoff wrote:
>> Dear EasyBuilders,
>> I need help. I would like to compile HDF5 on the intel-2018b toolchain. My 
>> problem is that the hosts are running on Ubuntu 18.04.1 which means glibc 
>> 2.27. This again means some incompatibilities regarding the intel 2018 
>> compilers, see these two threads:
>> https://software.intel.com/en-us/forums/intel-c-compiler/topic/742701
>> https://software.intel.com/en-us/forums/intel-c-compiler/topic/777003
>> A workaround for now seems to be to set the following CFLAGS beforehand:
>> *
>> *
>> *-DFloat32=float -D_Float64='long double' -D_Float32x=double 
>> -D_Float64x='long double'*
>> *
>> *
>> When I call mpiicc by hand using those flags (on some test file) everything 
>> seems fine (no complains here).
>> So I downloaded the HDF5-1.10.2-intel-2018b.eb easyconfig file and modified 
>> it to include *preconfigopts* and *buildopts (*are these the correct ones 
>> btw? HDF5 is using configure*). *For the *opts lines I tried e.g. the 
>> following variants (I didn’t include all of them for example purposes). The 
>> errors I get when I try to build are in the line below (red):
>> *preconfigopts = 'CFLAGS="-D_Float32=float -D_Float64=long double“*
>> *>> config.log >> File not found:  'double'*
>> *
>> *
>> *preconfigopts = 'CFLAGS="-D_Float32=float -D_Float64=\'long double\'"'*
>> *>> config.log >> File not found:  'double''*
>> *
>> *
>> *preconfigopts = 'CFLAGS="-D_Float32=float -D_Float64="long double""'*
>> *>> EasyBuild.log >> double: command not found*
>> *
>> *
>> If I only pass one flag without spaces in the argument (e.g. 
>> *'CFLAGS="-D_Float32=float**“'*) it works fine until I run into the errors 
>> mentioned in the two links above.
>> *
>> *
>> I tried many more variants, but I gave up at some point. I am having some 
>> combination of Python string problem with spaces in CFLAGS variables as well 
>> as passing multiple compiler options at once and how to specify them 
>> correctly in the easyconfig file. If someone can help me out here, I would 
>> be very grateful.
>> Many thanks,
>> Sebastian

Reply via email to