[ghemical-devel] things to check for

Michael Banck mbanck@gmx.net
Wed, 25 Aug 2004 16:39:41 +0200


Hi,

I've just checked out libghemical again.

I think configure should check for the following

- blas (if --enable-mpqc is set)
- lapack (idem)
- f2c.h (for mopac)

Not sure whether f2c.h should be a hard failure (i.e. abort configure if
not present) or just be defined as HAVE_F2C_H, so that eng1_mopac.cpp
could work around it.

Anyway, the build fails here if I do not have the f2c package installed,
and this should be caught in configure IMHO.

Also, I think we need to test for g2c/f2c libs before MPQC, because
lapack needs to be linked with them. Checking for f2c first makes this
works automatically.

I've whipped up the following patch for now:

Index: configure.in
===================================================================
RCS file: /cvsroot/libghemical/configure.in,v
retrieving revision 1.8
diff -u -r1.8 configure.in
--- configure.in        25 Aug 2004 11:13:41 -0000      1.8
+++ configure.in        25 Aug 2004 14:34:58 -0000
@@ -43,8 +43,19 @@
 
 AM_SANITY_CHECK
 
+AC_CHECK_LIB([m], [acos])
+AC_CHECK_LIB([g2c], [main], ,
+       # If not found, try -lf2c:
+       AC_CHECK_LIB([f2c], [main], ,
+               # Still not found, drop out:
+               AC_MSG_ERROR([Cannot find either g2c or f2c library])
+       )
+)
+
 # Checks for libraries.
 if test $WITH_MPQC = yes; then
+       AC_CHECK_LIB([blas], [main], , AC_MSG_ERROR([Cannot find blas library needed for MPQC support]))
+       AC_CHECK_LIB([lapack], [main], , AC_MSG_ERROR([Cannot find lapack library needed for MPQC support]))
        AM_PATH_SC(1.2.5, HAVE_MPQC="yes", HAVE_MPQC="no")
        if test "${HAVE_MPQC}" = "yes"; then
                AC_DEFINE([ENABLE_MPQC], [], [Define if you are building a version that interfaces directly with MPQC])
@@ -55,15 +66,6 @@
        fi
 fi
 
-AC_CHECK_LIB([m], [acos])
-AC_CHECK_LIB([g2c], [main], ,
-       # If not found, try -lf2c:
-       AC_CHECK_LIB([f2c], [main], ,
-               # Still not found, drop out:
-               AC_MSG_ERROR([Cannot find either g2c or f2c library])
-       )
-)
-
 ## THIS IS NOT NEEDED ANYMORE???
 ## THIS IS NOT NEEDED ANYMORE???
 ## THIS IS NOT NEEDED ANYMORE???
@@ -101,6 +103,7 @@
 
 # Checks for library functions.
 AC_HEADER_STDC
+AC_CHECK_HEADER(f2c.h, , AC_MSG_ERROR(f2c.h not found))
 
 AC_OUTPUT([Makefile src/Makefile
        bin/Makefile bin/builder/Makefile bin/amber/Makefile


I had some trouble with quoting the AC_MSG_ERRORs, adding commas there
yielded errors while running configure.


Michael