Ich habe ein Problem mit einer Makefile-Kompilierung und ich bin mir nicht sicher, wo ich anfangen soll, dies zu diagnostizieren. Es wurde für das OS X-System eines Kollegen erstellt, und ich versuche, es auf meinem Linux-System zu implementieren. Es funktionierte auf dem OS X Computer. Ich habe Bibliotheksstandorte aktualisiert, um darzustellen, wo sie auf meinem Computer leben - und dies ist wahrscheinlich die größte Fehlerquelle, da das gfortran-Verfahren nicht anders sein sollte, nein?gfortran makefile 'kann die enthaltene Datei nicht öffnen'
Die enthaltenen Dateien: file0.i, ... fileN.i befinden sich alle im selben Verzeichnis wie das Makefile.
Ich bin sicher, wenn ich die erste Objektdatei kompilieren könnte, könnte ich durch den Rest kommen und meine Doktorarbeit abschließen oder die Welt oder etwas retten.
Ein Ausschnitt aus der Datei folgt:
# %W% %G%
# Makefile for directory ~/Documents/workstuff/project/program
#
fflags = -O3 -I. -I/usr/local/include -frecord-marker=4 -ffree-form
## -fdefault-real-8 -fdefault-double-8
lflags = -L/usr/local/lib -lnetcdf -lnetcdff
# for debugging, use these options
fflags = -g
lflags = -g
chem = ~/Documents/workstuff/project/chem
main.o: $(chem)/code/main.f file0.i file1.i file2.i
gfortran -c $(fflags) $(chem)/code/main.f
Und ich die folgende Fehlermeldung:
~/Documents/workstuff/project/program/chem/code/main.f:11: Error: Can't open included file 'file0.i'
makefile:14: recipe for target 'main.o' failed
make: *** [main.o] Error 1
ich dachte, es könnte ein ausführbares Problem sein, und so gingen wir 644-744:
username$ file file0.i
file0.i: ASCII text
username$ stat -c '%A %a %n' file0.i
-rwxr--r-- 744 file0.i
Immer noch gleichen Fehler. Doppelklicken Sie sicher, dass meine Fahnen an die richtige Stelle verweisen:
username$ nf-config --fflags
-I/usr/local/include
username$ nf-config --flibs
-L/usr/local/lib -lnetcdff -lnetcdf -lnetcdf
Für das, was ihren Wert, file0.i folgendes enthält, die ich natürlich mit Nonsense-Nummern für die gemeinsame Nutzung online ausgefüllt haben:
$Id: file0.i,v 1.12 2012/12/31 04:25:23 username Exp $
PARAMETER (NLT=19,NHT=51,DZETA=0.5/3.,Psurf=100.)
PARAMETER (NLT1=NLT+1,NHT1=NHT+2,NLT2=3*NLT+1,NHT2=4*NHT+1)
PARAMETER (NDYEAR=33,NTN=75,NTCV=14,NLV=21,NPOL=8,NGSP=3)
PARAMETER (NDIST=111,TD1=110.,NVC=1,NVSP=1,NVTIME=3)
Kann irgendjemand etwas erkennen?
Was ist der Befehl, der diesen Fehler auslöst? Wo lebt 'file0.i' in Bezug auf die' main.f' Datei, die darüber klagt? –