Diagnostics on compilaton of GRETL on saybayon(gentoo)-64 linux. Fast
fourier transform works (and a lot of things I have tested) where as
johansen-test does not. There is lapack in /usr/lib64 which is the same
as in the one in /usr/lib.
Lapack is working in R, and in test programs (R and c++).
The treatment of "int", "integer" and long in gcc is dependent on
-m32
-m64 flags.
The following program:
include <stdio.h>
int main()
{
int i;
long l;
char *p;
double x;
printf("Integer size: %i bytes\n", sizeof(i));
printf("Long Integer size: %i bytes\n", sizeof(l));
printf("Pointer size: %i bytes\n", sizeof(p));
printf("Double size: %i bytes\n",sizeof(x));
return 0;
}
can be compiled with
a) gcc -m32 which gives:
Integer size: 4 bytes
Long Integer size: 4 bytes
Pointer size: 4 bytes
Double size: 8 bytes
or b) the default (on sabayon-64), gcc -m64
Integer size: 4 bytes
Long Integer size: 8 bytes
Pointer size: 8 bytes
Double size: 8 bytes
The lapack library compiles with -m64 which does not disturb R. The
c-test program complains if an integer is passed to lapack in the "int"
form instead of the "long" form. I looked through the /lib/src directory
and I saw that "int" was passed to lapack. I think a way out is to
change all "int" passed to lapack to "long" in gretl_matric.c and all
"integer" to long in clapack_double.h. Is there a way to do that in the
configure script (i.e. force all int to be long)? Is there a "make
uninstall" in the Makefile of 1.7.1?
Maybe it is sufficient to change only the integer arrays to long?
Best regards
Helgi
My suspicion at this point is that you're building a 64-bit gretl
linked against a 32-bit lapack:
LAPACK_LIBS='-L/usr/lib -llapack -lblas -lgfortran'
You might try configuring with
--with-lapack-prefix=/usr/lib64
to pick up a 64-bit lapack installation. Is there in fact a
liblapack.so in /usr/lib64 ?
Allin Cottrell
_______________________________________________
Gretl-users mailing list
Gretl-users(a)lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users