Superuser

Autor Thema: Compilieren will nicht - bzw. make....  (Gelesen 24649 mal)

Philkoeln

  • Gast
Compilieren will nicht - bzw. make....
« am: 13. Dezember 2007, 16:42:34 »
...Mal wieder ich :-) bin gerade dabei FDS von NIST zu installieren, da ich es echt verdammt dringend für mein studium brauche, halte mich auch ganz brav an das howto
http://blogs.sun.com/samuelzhou/entry/install_and_run_fds_on
aber nichts will laufen - ganz im gegenteil -
# ./gmake /Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95*
gmake: Für das Ziel »/Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10« ist  nichts zu tun.

- hab es mit 3 verschiedenen 'makes' bzw. gmake ausprobiert, die gcc3 runtergeladen usw... - ich check einfach nie woran's liegt - hab schon das erste ingenieursstudium hinter mich gebracht und halte mich eigetnlich generell nicht zu blöd für das bischen unix, aber irgendwie krieg ich da einfach nichts drauf installiert....

bin mal wieder um jeden tip dankbar!!!

PS.: Ist solaris 10 auf ner Sparcmaschine mit 2xUltrasparc

sonnenblen.de - Das unabhängige Sun User Forum

Compilieren will nicht - bzw. make....
« am: 13. Dezember 2007, 16:42:34 »

Offline meik

  • Sobl Bachelor
  • ***
  • Beiträge: 187
Re: Compilieren will nicht - bzw. make....
« Antwort #1 am: 13. Dezember 2007, 17:22:36 »
...Mal wieder ich :-) bin gerade dabei FDS von NIST zu installieren, da ich es echt verdammt dringend für mein studium brauche, halte mich auch ganz brav an das howto
http://blogs.sun.com/samuelzhou/entry/install_and_run_fds_on
aber nichts will laufen - ganz im gegenteil -
# ./gmake /Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95*
gmake: Für das Ziel »/Porting/FDS/fds-smv/FDS/trunk/Makefiles/f95_solaris10« ist  nichts zu tun.

So ruft man ja auch kein Make auf. Das erwartet nämlich ein Makefile im aktuellen Verzeichnis, die Parameter sind die Targets innerhalb des Makefiles.

Bei der Software sollte ebenfalls eine Installationsanleitung dabei sein, die du dir auch _sorgfältig_ durchlesen solltest. HPC-Software wie diese kommt gerne mit einem ganzen Stapel an Makefiles für alle möglichen Systeme, die man selber evtl. noch anpassen musst. Das Blog enthält ja auch kein durchgängiges Kochrezept, sondern nur Hinweise zu bestimmten Stellen und einigen Variationsmöglichkeiten. Also die entsprechenden Hinweise bei FDS durchlesen und überlegen, welcher der dabei auftretenden Fragen das Blog beantwortet.

Wir helfen dir gerne, aber bei so unspezifischen Fragen ist das fast nicht möglich. Versucht dich nochmal da durch zu kämpfen und stell konkretere Fragen. Dann gibt's bestimmt auch bald Erfolgserlebnisse. :-)

Zitat
- hab es mit 3 verschiedenen 'makes' bzw. gmake ausprobiert, die gcc3 runtergeladen usw... - ich check einfach nie woran's liegt - hab schon das erste ingenieursstudium hinter mich gebracht und halte mich eigetnlich generell nicht zu blöd für das bischen unix, aber irgendwie krieg ich da einfach nichts drauf installiert....

Also drei Tools ausprobieren anstatt nach der Ursache zu suchen, ist nun wirklich nicht "Unix-Style". Das ist eher die Art von Rumstümpern, die Windows-Anwendern den wenig charmanten Titel des DAUs eingebracht hat...

claus

  • Gast
Re: Compilieren will nicht - bzw. make....
« Antwort #2 am: 13. Dezember 2007, 17:38:33 »
Hallo,

wenn ich das richtig überblicke, steht in dem howto eigentlich alles (aber man kann ja mal was überlesen):

- my "Makefile"'s absolute directory is /Porting/FDS/fds-smv/FDS/trunk/Makefiles. Now make sure you work directory is it.

- To build FDS on Solaris 10 or other systems, you need no configuration, just make. Before type "make", you need to change your makefile in the directory "Makefiles" greatly!

- [... change make file ...]

- make f95_solaris10

Das sollte es eigentlich sein. Misst, Meik war schneller und ausführlicher.

Claus


Offline escimo

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1674
  • SPARCstation 2
    • Youtube-Kanal opensparcbox.org
Re: Compilieren will nicht - bzw. make....
« Antwort #3 am: 13. Dezember 2007, 17:39:23 »
Hallo Philkoeln,

Irgendwie vermisse ich den Konfigurations-Lauf, bevor ich dem Programm make die Quelldateien für eine Zielplattform übersetzen lasse. Ist da kein Hinweis wie du den Übersetzungslauf (Kompilierung) vorbereiten musst?

  % cd path/to/base/directory/of/sources
  % find . -name "configure*"
  ./configure
  % make clean 
  % ./configure --help
  % ./configure <Konfigurations-Optionen>
  % make
Eventuell ist es erforderlich, ein separates Build-Verzeichnis außerhalb des Quell-Basisverzeichnisses (source trees) zu erzeugen. Solche Sachen stehen für gewöhnlich in README- und INSTALL-Dateien unterhalb des Quellverzeichnisses.

Zitat
PS.: Ist solaris 10 auf ner Sparcmaschine mit 2xUltrasparc
...Keine Ahnung, was du auf diesem System installiert hast. ::)
Oder meintest du, ob Solaris 10 auf einer SPARC-Maschine mit zwei UltraSPARC CPU's lauffähig ist? Nun grundsätzlich ja. Allerdings hängt das unter anderem auch vom Plattenplatz und dem zur Verfügung stehenden Arbeitsspeicher ab.

Gruß
escimo

PS: Da war claus schneller und korrekter. Hat er recht, steht scheinbar - ich habe es nicht angeschaut - alles notwendige drin.
« Letzte Änderung: 13. Dezember 2007, 17:43:26 von escimo »

Philkoeln

  • Gast
Re: Compilieren will nicht - bzw. make....
« Antwort #4 am: 14. Dezember 2007, 01:16:20 »
...habs immer noch nicht zum laufen bekommen - aber ich versuchs morgen früh weiter - das was den stümerhaften und DAU kommentar angeht, geb ich dir ja recht, allerdings, wenn man einfach von der ganzen sache verdammt wenig ahnung hat und es die einzige option ist, die man noch ausprobieren kann, bevor einem garnichtsmehr einfällt, macht mans halt mal so :-(

und escimo - wollte nur sagen, was es für nen rechner iss - Blade 2000 mit zwei ultrasparc und 2GB ram... und solaris 10 Läuft drauf - falls das nen unterscheid bei der config macht von der ./make sache...

llothar

  • Gast
Re: Compilieren will nicht - bzw. make....
« Antwort #5 am: 14. Dezember 2007, 11:06:07 »
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

  • Gast
Re: Compilieren will nicht - bzw. make....
« Antwort #6 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

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

  • Gast
Re: Compilieren will nicht - bzw. make....
« Antwort #7 am: 14. Dezember 2007, 19:16:12 »
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?

Offline meik

  • Sobl Bachelor
  • ***
  • Beiträge: 187
Re: Compilieren will nicht - bzw. make....
« Antwort #8 am: 14. Dezember 2007, 20:44:47 »
Ich würde dir dringend empfehlen, mal ein Buch über Unix-Grundlagen durchzuarbeiten. Da scheint es noch einige Lücken zu geben. ;-)

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

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:

# /opt/csw/bin/gmake
# /usr/ccs/bin/make

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

# make
make: nicht gefunden

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

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

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

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

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.

Offline escimo

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1674
  • SPARCstation 2
    • Youtube-Kanal opensparcbox.org
Re: Compilieren will nicht - bzw. make....
« Antwort #9 am: 15. Dezember 2007, 13:50:57 »
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

sonnenblen.de - Das unabhängige Sun User Forum

Re: Compilieren will nicht - bzw. make....
« Antwort #9 am: 15. Dezember 2007, 13:50:57 »

Philkoeln

  • Gast
Re: Compilieren will nicht - bzw. make....
« Antwort #10 am: 16. Dezember 2007, 20:30:56 »
hey leute, ich hab mir das schon durchgelesen, zumindest die pdf liegt seit wochen ausgedruckt auf meinem schreibtisch und wurde schon n paarmla gelesen, werde mir mal das unixbuch besorgen, hab gerade irgendwie echt so n wiederwillen gegen das ding, weil nix - aber muss jetzt echt mal ran und den spass in angriff nehmen. Welchen compiler ich benutze iss mir eignetlich egal, werde wohl den gmake nehmen - aber irgendwie bin ich nicht so guter dinge, da ich ja 2 ultrasparcprozessoren hab und da schon wieder das nächste problem auf mcih zukommen sehe, an die option das programm im mpi modus - also für multiprozessorsysteme zu installieren, hab ich keinen gedanken mehr verschwendet - wäre zwar geil, aber ich bin ja schon froh, wenn der spass so mal ans laufen kommt.
danke für eure tips - ich werde wieder berichten, irgendwie weiss ich noch nicht ob ich das system je so richtig beherrsche oder bald die blade wieder gegen nen windowsrechner eintausche... aber solange man nichts installieren muß ist das teil echt geil, komme mit allem super zurecht auch mit der dateistruktur und so - find ich alles logisch - drucken usw. iss auch kein problem - die installation iss echt der einzige makel (ok, passt hier nicht hin wollts aber mal loswerden)
WENN DAS WENIGSTENS EEEEEINMAL LAUFEN WÜRDE..
hei meik bisher kam ich trotz vieler versuche und hin und her editiererei in der datei nur bis hier her
# /opt/csw/bin/gmake -f f95_solaris10
f95_solaris10:27: *** missing separator.  Schluss.
#
« Letzte Änderung: 16. Dezember 2007, 20:36:50 von Philkoeln »

Offline meik

  • Sobl Bachelor
  • ***
  • Beiträge: 187
Re: Compilieren will nicht - bzw. make....
« Antwort #11 am: 17. Dezember 2007, 09:40:42 »
Welchen compiler ich benutze iss mir eignetlich egal, werde wohl den gmake nehmen - aber irgendwie bin ich nicht so guter dinge, da ich ja 2 ultrasparcprozessoren hab und da schon wieder das nächste problem auf mcih zukommen sehe, an die option das programm im mpi modus - also für multiprozessorsysteme zu installieren, hab ich keinen gedanken mehr verschwendet - wäre zwar geil, aber ich bin ja schon froh, wenn der spass so mal ans laufen kommt.

Make ist _kein_ Compiler, Make ist das Programm, das aus der "Anleitung" im Makefile ein fertiges Programm macht. Also den Compiler aufruft, den Linker aufruft, Libraries baut, etc. Und dabei noch anhand der Änderungezeit der Dateien erkennt, welche Schritte davon eingespart werden können.

Du brauchst entweder einen GCC (der ist bei Solaris in /usr/sfw/bin dabei) oder den Sun Studio Compiler. Der ist besser als der GCC, muss halt separat installiert werden. Für beide musst du wahrscheinlich entweder Einträge im Makefile machen oder PATH setzen.

Und MPI.... das würde ich an deiner Stelle erstmal ganz weit nach hinten stellen. Wird auf einer einzelnen Büchse mit 2 Prozessoren eh nicht viel Sinn machen, und da gibt es wahrscheinlich bessere Alternativen. Aber das kommt sehr viel später.

Zitat
hei meik bisher kam ich trotz vieler versuche und hin und her editiererei in der datei nur bis hier her
# /opt/csw/bin/gmake -f f95_solaris10
f95_solaris10:27: *** missing separator.  Schluss.
#

Ah, noch ein Problem. Die einzelnen Regeln im Makefile erkennt make daran, dass die erste Zeile den Namen und die Abhängigkeiten enthält und alle weiteren Zeilen (mit den auszuführenden Befehlen) mit einem Tabulator eingerückt sind. Wahrscheinlich sind beim Kopieren vom Blog aus den Tabs bei dir einfache Leerzeichen geworden.

BTW: Bis dein Buch ankommt, lies mal die Manpages zum Thema durch:

# man make
# man Makefile

Philkoeln

  • Gast
Re: Compilieren will nicht - bzw. make....
« Antwort #12 am: 21. Februar 2008, 12:14:29 »
Also ich hab jetzt wirklcih einiges dazugelernt - aber ich komm mit dem problem immer noch nicht klar, hab sogar mal manuell alle anhäufungen von leerzeichen durch TAB-einrückungen ausgetauscht - ändert aber nichts am
# /opt/csw/bin/gmake -f f95_solaris10
f95_solaris10:34: *** missing separator.  Schluss.
...problem :-)

http://blogs.sun.com/samuelzhou/entry/install_and_run_fds_on

hab alles so gemacht wie 'S da steht , man ich hab sonst alles mögliche andere hier zum laufen bekommen , aber dieses Prog iss einfach asauwichtig für mich - muss in 10 tagen ne hausarbeit abgeben, wofür ich es brauche - und die windowsversion, die ichauch meinem uraltlaptop laufen hab.... naja, der hat nciht genügend RAM, lagert immer aus, rödelt auf der Platte rum und das ganze macht kein sinn :-/

Philkoeln

  • Gast
Re: Compilieren will nicht - bzw. make....
« Antwort #13 am: 21. Februar 2008, 12:30:11 »
...nachdem ich jetzt das missing separator problem wohl doch ausgemerzt habe, nachdem ich ncohmal n paar tabs anstatt leerzeichen eingesetzt hab, gehts weiter mit dem nächsten fehler:

# /opt/csw/bin/gmake -f f95_solaris10
cc -c -O2 -m32 isob.c
/usr/ucb/cc:  language optional software package not installed
gmake: *** [isob.o] Fehler 1

wenn ich dann weiter "rumstümper" und versuchs doch ncohmal mit nem anderen make - komm ich in gewisser weise weiter...
# /usr/xpg4/bin/make -f  f95_solaris10
******** You did not specify a make target ********
Please read the comments at the top of the makefile

...allerdings check ich die comments mal wieder nicht :-(
Zitat
#To use this makefile, you will need to provide a make target
#at the command line.  For example, to make the MPI version with
#the intel compiler and the debugging flags set, you would need
#to type 'make intel_linux_mpi_db' at the prompt.
#Below this comment section there are make file Variables that
#can be modified by the user. Please make the changes that
#are necessary for your system configuration.
in den sunblogs (link siehe beitrag von vor n paar min)
To Build FDS on Solaris 10, You need change directory to "Makefiles", as I got the directory "fds-smv" in /Porting/FDS/ via svn, my "Makefile"'s absolute directory is /Porting/FDS/fds-smv/FDS/trunk/Makefiles. Now make sure you work directory is it.

Wäre echt super, wenn ich das iiiirgenwie mit eurer hilfe echt mal zum laufen bekomme, alles andere geht einwandfrei mit dem rechner :-/


(möchte jemand ne sun blade 1000 kaufen??)
« Letzte Änderung: 21. Februar 2008, 12:39:22 von Philkoeln »

Offline erisch

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 758
  • TurboSPAAAAAG
    • erisch.homeunix.net
Re: Compilieren will nicht - bzw. make....
« Antwort #14 am: 21. Februar 2008, 15:46:47 »
wirf /usr/ucb aus deinem $PATH oder schiebs nach ganz hinten.

Und was genau ist jetzt an dem Comments nicht zu verstehen?

Mfg. Erisch