[petsc-dev] UMFPACK + Intel compiler

Garth N. Wells gnw20 at cam.ac.uk
Sat Jan 5 11:15:21 CST 2013


On Sat, Jan 5, 2013 at 4:45 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> On Sat, Jan 5, 2013 at 10:41 AM, Garth N. Wells <gnw20 at cam.ac.uk> wrote:
>>
>> I've hit a problem with letting PETSc download and build UMFPACK when
>> using Intel compilers. Unfortunately I don't know  a fix. The problem
>> is the compiler directive:
>>
>>   -DUF_long="long long"
>>
>> that PETSc writes to
>> externalpackages/UMFPACK-5.5.1/UFconfig/UFconfig.mk. The Intel
>> compiler (version 12..1.4) doesn't seem to like the white space
>> between the two 'longs'. I get:
>>
>>   mpicc -fPIC -wd1572 -mt_mpi -O3 -xHost -DUF_long="long long"
>> -DUF_long_max=ULONG_MAX -DUF_long_id='"%lld"' -DNCHOLMOD  -I../Include
>> -I../../UFconfig -DDINT -c ../Source/amd_aat.c -o amd_i_aat.o
>>   icc: error #10236: File not found:  'long'
>
>
> This error message sure makes it look like a shell quoting problem. Can you
> interrogate the compiler on the side to see if it's really breaking
> arguments at spaces internally (after they are passed by the shell)? If
> that's the case, we might have to write the definitions into a header.
>

Note quite sure how to delve into exactly what the compiler is doing,
but doing some printing from the Makefile right before the compiler is
first called:

        @echo "Testing CFLAGS: $(CFLAGS)"
        @echo "Testing C:      $(C)"
        $(C) -DDINT -c ../Source/amd_aat.c -o amd_i_aat.o

I get

    Testing CFLAGS: -fPIC -wd1572 -mt_mpi -O3 -xHost -DUF_long=long
long -DUF_long_max=ULONG_MAX -DUF_long_id='%lld' -DNCHOLMOD
    Testing C:      mpicc -fPIC -wd1572 -mt_mpi -O3 -xHost
-DUF_long=long long -DUF_long_max=ULONG_MAX -DUF_long_id='%lld'
-DNCHOLMOD   -I../Include -I../../UFconfig
    mpicc -fPIC -wd1572 -mt_mpi -O3 -xHost -DUF_long=long long
-DUF_long_max=ULONG_MAX -DUF_long_id='"%lld"' -DNCHOLMOD
-I../Include -I../../UFconfig -DDINT -c ../Source/amd_aat.c -o
amd_i_aat.o
   icc: error #10236: File not found:  'long'

Double quotes don't seem to help. Changing 'long long' to 'long', it
builds fine.

Garth


>>
>>
>> I'm using petsc-dev (changeset:   25580:4a0800bf1994)
>>
>> Garth
>
>



More information about the petsc-dev mailing list