I downloaded Octave-4.2.1, a program which I can run on Windows fine. But I wanted to build the program from source for Linux, and it gets to a point where it goes to build the random number stuff which is fortran, and it fails on the following file:
/liboctave/ranlib/genbet.f
The error is basically internal compiler error but I've traced it to the following snippet, specifically the PARAMETER statement:
C**********************************************************************
C .. Parameters ..
C Close to the largest number that can be exponentiated
REAL expmax
C JJV changed this - 89 was too high, and LOG(1.0E38) = 87.49823
PARAMETER (expmax=87.49823)
Note in the above that there is nothing unusual about the REAL and PARAMETER statement.
But if I simply issue gfortran -c /liboctave/ranlib/genbet.f, I get the error
of an internal compiler error. I realize that perhaps I need to use an earlier compiler flags such as F77 or some such. Just curious if anyone has seen this?
The other files in that directory will all compile fine - it's just this one file - due to the fact that it's the only file that uses REAL constants. I could probably change it as a quick kluge - I just would like to resolve this issue more gracefully (not as a kluge).
Thanks.
I think it might be a problem with GNU's gmp library - multiprecision arithmetic. I can define a constant 87.0, but NOT 87.1, eg.. I guess I need to get the source for gmp and rebuild it (hopefully with the bug fixed). I don't know.
I'm using version gmp 5.1.3 (not that latest) but not old either. Well, it's 2013. My compiler is 4.8.3 I believe (my GNU gcc compiler/gfortran environment). Perhaps I can mix in a newer version of gmp? Like version 6 or something?
I've downloaded versions 6.1.0 and 6.1.2 source code so I'll build it in a couple days when I get time.