Fehler bei der Verwendung von Makefile..sed

Fehler bei der Verwendung von Makefile..sed

Eine App versucht zu konfigurieren mit

sudo make configure
(cd /opt/ioapi-3.2/ioapi   ;  sed -e 's|IOAPI_BASE|/opt/ioapi-3.2|' -e 's|LIBINSTALL||' -e 's|BININSTALL||' -e 's|IOAPI_DEFS||' -e 's|NCFLIBS|-L/opt/netcdf/lib -lnetcdff -L/opt/netcdf/lib -lnetcdf|' -e 's|MAKEINCLUDE|include /opt/ioapi-3.2/ioapi/Makeinclude|' -e 's|PVMINCLUDE|include  |' < Makefile..sed > Makefile )
/bin/sh: Makefile..sed: No such file or directory
make: *** [Makefile:211: configure] Error 1

Ich verstehe nicht, was der letzte Teil des Befehls tun soll und warum er daher den Fehler erzeugt.

Die Ausgabe von make -n configureist:

(cd /home/centos/ioapi-3.2/ioapi   ;  sed -e 's|IOAPI_BASE|/home/centos/ioapi-3.2|' -e 's|LIBINSTALL||' -e 's|BININSTALL||' -e 's|IOAPI_DEFS||' -e 's|NCFLIBS|-lnetcdff -lnetcdf|' -e 's|MAKEINCLUDE|include /home/centos/ioapi-3.2/ioapi/Makeinclude|' -e 's|PVMINCLUDE|include  |' < Makefile..sed > Makefile )
(cd /home/centos/ioapi-3.2/m3tools ;  sed -e 's|IOAPI_BASE|/home/centos/ioapi-3.2|' -e 's|LIBINSTALL||' -e 's|BININSTALL||' -e 's|IOAPI_DEFS||' -e 's|NCFLIBS|-lnetcdff -lnetcdf|' -e 's|MAKEINCLUDE|include /home/centos/ioapi-3.2/ioapi/Makeinclude|' -e 's|PVMINCLUDE|include  |' < Makefile..sed > Makefile )

Antwort1

Ein Blick in Makefile.templatedie Projektdateiioapic-3.2auf GitHubist es klar, dass der sedangezeigte Befehl das Ergebnis der makeVerwendung der SEDCMDVariablen ist:

SEDCMD = \
-e 's|IOAPI_BASE|$(BASEDIR)|' \
-e 's|LIBINSTALL|$(LIBINST)|' \
-e 's|BININSTALL|$(BININST)|' \
-e 's|IOAPI_DEFS|$(IOAPIDEFS)|' \
-e 's|NCFLIBS|$(NCFLIBS)|' \
-e 's|MAKEINCLUDE|include $(IODIR)/Makeinclude|' \
-e 's|PVMINCLUDE|include  $(PVMINCL)|'

etwa so:

configure: ${IODIR}/Makefile ${TOOLDIR}/Makefile
    (cd $(IODIR)   ;  sed $(SEDCMD) < Makefile.$(CPLMODE).sed > Makefile )
    (cd $(TOOLDIR) ;  sed $(SEDCMD) < Makefile.$(CPLMODE).sed > Makefile )

Wie Sie sehen, versucht es, eine Datei namens zu lesen Makefile.$(CPLMODE).sed. Die CPLMODEVariable wird mehrmals erwähntin Kommentarenim Makefile, aber nie auf einen Standardwert gesetzt.

Gültige Werte für diese Variable scheinen nocpl, cpl, oder zu sein pncf. In der README.txtDatei im Repository steht, dass das Makefile angepasst werden soll. Ich gehe davon aus, dass dazu das Erstellen einer Kopie von Makefile.templateim Makefileobersten Verzeichnis des Projekts und die anschließende Änderung dieser Datei gehört.

Es scheint, als hätten Sie einfach noch nicht alle notwendigen Änderungen vorgenommen.

verwandte Informationen