[Debichem-devel] Bug#465723: mopac7 -- please do not use g2c.
Daniel Leidert
daniel.leidert at wgdd.de
Mon Feb 25 03:25:57 UTC 2008
http://bugs.debian.org/465723
Hi,
I wonder if we really win something by changing from libg2c0-dev to
libf2c2-dev. Maybe an alternative (I'm not familiar enough here, so
please don't hesitate to comment my proposal):
We could take fortran/Makefile.am and put the library creation stuff
into it and use the FORTRAN sources. instead of the f2c-generated C
sources. That requires copying libmopac7.c and libmopac7.h from src/
into fortran and running autoreconf. So we can maybe drop the
libg2c0/libf2c2 dependency completely for the library. Also the
application seems to have a FORTRAN source.
I attach the necessary Makefile.am to this mail. However, atm this fails
for me at:
> esp.f:948.72:
>
> OPEN(21,STATUS='NEW')
> 1
> Error: The STATUS specified in OPEN statement at (1) is 'NEW' and no FILE specifier is present
> [..]
> esp.f:2357.72:
>
> OPEN(21,STATUS='NEW')
> 1
> Error: The STATUS specified in OPEN statement at (1) is 'NEW' and no FILE specifier is present
I'm not familiar with FORTRAN and I miss time to examine this atm.
Reading the docs I think, maybe a "scratch file" should be opened, so I
removed the STATUS stuff and then it compiles some more files. But it
stops at:
> symtrz.f:1045.30:
>
> DATA TOLER,IFRA / 0.1, '????'/
> 1
> Error: Incompatible types in assignment at (1), CHARACTER(1) to INTEGER(4)
After fixing this one and a typo (s/NAMES/NAME) a few lines later (CCed
Tommi Hassinen with this mail), it compiles, but it fails with:
.libs/fdate.o: In function `fdate_':
/usr/local/src/Packages/mopac7/mopac7-1.13/fortran/fdate.c:27: undefined
reference to `s_copy'
collect2: ld returned 1 exit status
This is because fortran/fdate.c uses s_copy(). If we can replace this
one too (not hard): Is there anything that prevents us from directly
compiling the FORTRAN sources to create the library and program?
CCed Tommi Hassinen
Regards, Daniel
-------------- next part --------------
SUBDIRS = c_src_bak
EXTRA_DIST = \
aababc.f addfck.f addhcr.f addnuc.f \
analyt.f anavib.f axis.f block.f \
bonds.f brlzon.f btoc.f calpar.f \
capcor.f cdiag.f chrge.f cnvg.f \
compfg.f consts.f cqden.f datin.f \
dcart.f delmol.f delri.f denrot.f \
densit.f depvar.f deri0.f deri1.f \
deri21.f deri22.f deri23.f deri2.f \
deritr.f deriv.f dernvo.f ders.f \
dfock2.f dfpsav.f dgemm.f dgemv.f \
dger.f dgetf2.f dgetrf.f dgetri.f \
diag.f diat2.f diat.f diegrd.f \
dielen.f diis.f dijkl1.f dijkl2.f \
dipind.f dipole.f dlaswp.f dofs.f \
dot.f drc.f drcout.f dtrmm.f \
dtrmv.f dtrsm.f dtrti2.f dtrtri.f \
dvfill.f ef.f enpart.f esp.f \
etime.c exchng.f fdate.c ffhpol.f \
flepo.f fmat.f fock1.f fock2.f \
force.f formxy.f forsav.f frame.f \
freqcy.f geout.f geoutg.f getgeg.f \
getgeo.f getsym.f gettxt.f gmetry.f \
gover.f greenf.f grid.f h1elec.f \
haddon.f hcore.f helect.f hqrii.f \
ijkl.f ilaenv.f initsv.f interp.f \
iter.f jcarin.f linmin.f local.f \
locmin.f lsame.f makpol.f mamult.f \
matou1.f matout.f matpak.f mecid.f \
meci.f mecih.f mecip.f moldat.f \
molval.f mopac7lib.f mullik.f \
mult.f nllsq.f nuchar.f parsav.f \
partxy.f pathk.f paths.f perm.f \
polar.f powsav.f powsq.f prtdrc.f \
quadr.f react1.f reada.f readmo.f \
refer.f repp.f rotate.f rotat.f \
rsp.f search.f second.f setupg.f \
SIZES SIZES.orig solrot.f swap.f \
sympro.f symtry.f symtrz.f thermo.f \
timer.f timout.f update.f upsurf.f \
vecprt.f writmo.f wrtkey.f wrttxt.f \
xerbla.f xyzint.f
lib_LTLIBRARIES= libmopac7.la
libmopac7_la_LDFLAGS = -version-info 1:13:0
libmopac7_la_SOURCES = $(EXTRA_DIST) libmopac7.c
libmopac7includedir = $(includedir)/mopac7
libmopac7include_HEADERS = libmopac7.h
if HAVE_F2C
noinst_PROGRAMS = mopac7
mopac7_SOURCES = mopac7app.f
mopac7_LDFLAGS = -lmopac7 -lm
endif
More information about the Debichem-devel
mailing list