[ghemical-devel] On MOPAC, g2c.h and header files

Tommi Hassinen thassine at messi.uku.fi
Tue Oct 11 04:44:27 EDT 2005


On Mon, 10 Oct 2005, Jean Bréfort wrote:

> The libtool problem is still there. If I run make, aclocal is called:
> /home/jean/sources/installs/mopac7-1.10rc1/missing --run aclocal-1.8
> This breaks things.
> This occurs, because configure.ac is more recent than aclocal.m4.
> Makefile.in should also be more recent than configure.ac otherwise
> automake is also called. To make things work, I had to type:
> touch aclocal.m4
> touch Makefile.in
> touch configure

Ok, I try to fix this next time. CVS is not that good for maintaining 
modification times so I hope it works better in future. It would be nice 
if the tool programs would themselves leave the proper modification times. 
I just use

 	aclocal
 	autoconf
 	automake
 	autoheader
 	libtoolize --copy --force

for updating the scripts ; is this a correct set of commands?

> About the compiler problem, even if things work with gcc-3.2, I am not
> certain that they are reliable.
> Take ME08B in diag.f. It is defined as:
>
>      SUBROUTINE ME08B (A,Q,B,N,IA)
>      REAL A(IA,*),Q(2,*),B(IA,*)
>
> and is called from ME08B:
>   50    CALL ME08B (A(K,K),Q(K),A(I,K),N-K+1,IA*2)
> where A and Q are complex, not real. I have forgotten fortran and I do
> not know how things can work, but the code generated by f2c will most
> likely fail because in _me08a, the c compiler uses the extern
> declaration where the variables are complex* and the real code use real*
> arrays. There are no solutions to that other than rewriting the code :-(

Thanks for your detailed analysis of the problem. I think I have found a 
way around this problem. I just moved the code blocks for subroutines 
EC08C and ME08B to the top of the cdiag.f fortran source code file. The 
subroutines are not called from outside their own source file, and 
apparently defining the subroutine code before any calls to the subroutine 
will help define the parameter types and complex tables are no longer put 
in place of real tables. According to my testing so far it compiles with 
gcc-4 nicely and also works the same way as it used to work earlier.

I have made the RC2 for download here:

 	http://www.uku.fi/~thassine/tmp/mopac7-1.10rc2.tgz

Regards,

 	Tommi


More information about the ghemical-devel mailing list