[CPMD-list] CPMD 3.11.1 compilation error
Rodolphe Vuilleumier
vuilleum at lptl.jussieu.fr
Mon Dec 10 22:07:31 UTC 2007
Hello,
It appears that in gfortran the minus sign is parsed as the unitary
operator, as it should be. Then -2147483648 is the minus of the integer
2147483648 but that integer is out of range so that the syntax
"-2147483648" is not valid while the integer -2147483648 would be a
valid integer (you can find on the web lengthy discussions of the
gfortrans folks on this topic). To turn around the syntax problem I defined
PARAMETER (UMASK=-2147483647-1, LMASK=2147483647)
the operand -2147483647, as the minus of 2147483647, is well defined and
is not the smallest integer so that you can still substract one to get
the smallest possible integer (in 32 bit).
Yours,
Rodolphe
Yirdaw, Robel Birru a écrit :
> Hello,
>
> I have been trying to compile CPMD 3.11.1 but I get the following error:
>
> rm -f shop_adds.f
> /lib/cpp -P -C -traditional -D__Linux -D__PGI -D__GNU -DFFT_DEFAULT
> ./shop_adds.F ./shop_adds.f
> gfortran -c -fdefault-real-8 -O2 -fcray-pointer ./shop_adds.f -o
> ./shop_adds.o
> ./shop_adds.f:788.34:
>
> PARAMETER (UMASK=-2147483648, LMASK=2147483647)
> 1
> Error: Integer too big for its kind at (1)
> make: *** [shop_adds.o] Error 1
>
> My machine is an Intel P4 with 1GB RAM running Ubuntu 7.10. The fortran
> compiler is gfortran 4.2. I invoked the compile using the PC-GFORTRAN
> platform. If anyone has any feedback, I'd really apprecaite it.
>
> Thank you,
> -Robel
>
> _______________________________________________
> CPMD-list mailing list
> CPMD-list at cpmd.org
> http://cpmd.org/mailman/listinfo/cpmd-list
>
More information about the CPMD-list
mailing list