Software > Programmieren, Kompilieren

Compilieren will nicht - bzw. make....

<< < (2/6) > >>

llothar:
make -f filename

Wenn du das schon mit einem Pfad aufrufen willst. Und vorher klaeren was dein current working directory sein muss. Ansonsten make --help und dann suchen, es gibt da einen debug switch der dir detailiert was ausgibt.

Ansonsten musst du gucken. Make ist eine totale Softwareengineering Katastrophe (unsichtbare Steuerzeichen - wie krank ist das -und Macro Hell) aber leider doch noch sehr beliebt.

Philkoeln:
aber ich kann ja 'make' bzw. 'gmake' nur ausführen, wenn ich in dem entsprechenden verzeichnis bin, wo das program liegt

./opt/csw/bin/gmake - anders kann ich es ja nciht aufrufen, kommt nur

# make
make: nicht gefunden

die einzelnen dateien und auch meine 'makedatei die da heisst f95_solaris10 hab ich in dem verzeichnis wie geschrieben angelegt und reinkopiert

# cd /Porting/FDS/fds-smv/FDS/trunk/Makefiles
# ls
cons.f90       f95_solaris10  isob.c         pois.f90       type.f90
ctrl.f90       fire.f90       main_mpi.f90   prec.f90       velo.f90
devc.f90       func.f90       main.f90       pres.f90       wall.f90
divg.f90       ieva.f90       mass.f90       radi.f90
dump.f90       init.f90       mesh.f90       read.f90
evac.f90       irad.f90       part.f90       smvv.f90

...und dann muss ich doch nur noch das 'make' durchlaufen lassen, dass ich z. B. mit

starte

... dann macht er auch was, aber bricht schon wieder ab - so n scheiss:
# cd bin
# ./gmake /Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10 f95_solaris10
ld.so.1: gmake: Schwerer Fehler: /opt/csw/lib/sparcv9/libintl.so.3: falsche ELF-Klasse: ELFCLASS64
Killed (Abgebrochen)

#
mit dem normalen make:
# cd /usr/ccs/bin/
# ./make /Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10 f95_solaris10
`/Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10' is up to date.
make: Fatal error: Don't know how to make target `f95_solaris10'
#

..iss das echt immer so n theater einfahc nur ein programm zu installieren oder bin ich echt zu doof? kriegs nicht gebacken....

Philkoeln:
oh man, jetzt hab ich ewig libraries hin und her kopiert und dann kam das bei rum...

# ./gmake /Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10 f95_solaris10
gmake: Für das Ziel »/Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10« ist nichts zu tun.
gmake: *** Keine Regel, um »f95_solaris10« zu erstellen.  Schluss.
#

fehlt mir ein Gen um das zu können?

meik:
Ich würde dir dringend empfehlen, mal ein Buch über Unix-Grundlagen durchzuarbeiten. Da scheint es noch einige Lücken zu geben. ;-)


--- Zitat von: Philkoeln am 14. Dezember 2007, 18:14:43 ---aber ich kann ja 'make' bzw. 'gmake' nur ausführen, wenn ich in dem entsprechenden verzeichnis bin, wo das program liegt

--- Ende Zitat ---

Wenn du ein Programm mit "./make" im aktuellen Verzeichnis (".") aufrufst, kannst du es auch mit "../bin/make" aufrufen in einem anderen Verzeichnis aufrufen. Oder mit einem absoluten Pfad, dann läßt du einfach den Punkt am Anfang weg:


--- Code: ---# /opt/csw/bin/gmake
# /usr/ccs/bin/make
--- Ende Code ---


--- Zitat ---./opt/csw/bin/gmake - anders kann ich es ja nciht aufrufen, kommt nur

# make
make: nicht gefunden

--- Ende Zitat ---

Du kannst sogar das Verzeichnis in den Suchpfad aufnehmen, dann schaut die Shell jedes mal dort nach, wenn du einen Programmnamen ohne Pfad eingibst. Wie gesagt, ein Buch über Unix- oder Linux-Grundlagen erklärt dir PATH, export, .profile und vieles mehr in dem Umfeld. ;-)


--- Zitat ---die einzelnen dateien und auch meine 'makedatei die da heisst f95_solaris10 hab ich in dem verzeichnis wie geschrieben angelegt und reinkopiert

# cd /Porting/FDS/fds-smv/FDS/trunk/Makefiles
# ls
cons.f90       f95_solaris10  isob.c         pois.f90       type.f90
ctrl.f90       fire.f90       main_mpi.f90   prec.f90       velo.f90
devc.f90       func.f90       main.f90       pres.f90       wall.f90
divg.f90       ieva.f90       mass.f90       radi.f90
dump.f90       init.f90       mesh.f90       read.f90
evac.f90       irad.f90       part.f90       smvv.f90

...und dann muss ich doch nur noch das 'make' durchlaufen lassen, dass ich z. B. mit

--- Ende Zitat ---

Okay, das ist jetzt wahrscheinlich die Lösung für dein Problem:


--- Code: ---# cd /Porting/FDS/fds-smv/FDS/trunk/Makefiles
# /opt/csw/bin/gmake -f f95_solaris10
--- Ende Code ---

HPC-Software ist aber oftmals recht anspruchsvoll, was Compiler, Libraries oder Optionen angeht. (Welchen Compiler willst du eigentlich benutzen?) Ich fürchte, das das nächste Problem schnell auftauchen wird. Ich drück dir aber die Daumen, dass es klappt. :-)

Aber auch wenn es klappt: nicht das Unix-Buch vergessen! ;-)


--- Zitat ---starte

... dann macht er auch was, aber bricht schon wieder ab - so n scheiss:
# cd bin
# ./gmake /Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10 f95_solaris10
ld.so.1: gmake: Schwerer Fehler: /opt/csw/lib/sparcv9/libintl.so.3: falsche ELF-Klasse: ELFCLASS64
Killed (Abgebrochen)

#
mit dem normalen make:
# cd /usr/ccs/bin/
# ./make /Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10 f95_solaris10
`/Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10' is up to date.
make: Fatal error: Don't know how to make target `f95_solaris10'
#

..iss das echt immer so n theater einfahc nur ein programm zu installieren oder bin ich echt zu doof? kriegs nicht gebacken....

--- Ende Zitat ---

make - egal welche Variante - erwartet nicht ein Verzeichnis als Parameter, sondern liest im _aktuellen_ Verzeichnis eine Datei namens Makefile (wie die Datei heisst, kannst du mit der Option -f ändern). Die Parameter, die du ohne Option übergibst, werden als Regel (neudeutsch "Target") in diesem Makefile gesucht.

In deinem Fall sucht make also in der Datei Makefile eine Regel namens "/Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10". Da es die nicht gibt, fällt das auf die Nase.

escimo:
Hallo Philkoeln,

vielleicht solltest du dir mal noch folgende Dokumente durchlesen:

vonn erisch: http://www.sonnenblen.de/content/01/solaris_compiler_tut.pdf

eventuell auch nützlich: http://www.sonnenblen.de/programmieren_kompilieren/gcc_2953_fuer_solaris_251-t4238.0.html;msg26109#msg26109

Gruß
escimo

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln