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
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