Hi Sebastian, why not define it simply to double instead of "long double"? On Linux, double is 64 bits, and long double is 80 bits (the old x87 FPU type). Using "long double" will only decrease performance these days.
I think somebody made this mistake on the Intel forums (it's easy to make since for the Windows Intel compiler "long double" and "double" are the same type, as the MSVC libraries don't support the long double type in 64-bit mode. On Thu, 22 Nov 2018 at 05:27, Sebastian Potthoff < [email protected]> wrote: > So I tried compiling HDF5 this morning by hand using all EB CFLAGS as well > as the mentioned extra "-D_FloatXX" flags and it is definitely a configure > (autoconf) issue and how it handles the spaces in e.g. "-D_Float64=*long > double*" when parsing the CFLAGS variable. > > At the moment I cannot find any solution as how to solve this. Using > different quotes does not help and I can only find one old thread online > where someone is having similar issues trying to pass a path name > containing spaces, but he could not solve the problem either. > > Maybe someone has and idea how to handle this problem? > > Best > Sebastian > > On 21.11.18 22:21, Sebastian Potthoff wrote: > > 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 > > > > -- Dr. Bart E. Oldeman | [email protected] | [email protected] Scientific Computing Analyst / Analyste en calcul scientifique McGill HPC Centre / Centre de Calcul Haute Performance de McGill | http://www.hpc.mcgill.ca Calcul Québec | http://www.calculquebec.ca Compute/Calcul Canada | http://www.computecanada.ca Tel/Tél: 514-396-8926 | Fax/Télécopieur: 514-396-8934

