1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Modula und Ada unter OS X - Woher bekommen und wie installieren?

Dieses Thema im Forum "OS X-Developer" wurde erstellt von snoopysalive, 22.10.06.

  1. snoopysalive

    snoopysalive Allington Pepping

    Dabei seit:
    19.08.05
    Beiträge:
    195
    Hallo erstmal!

    Vor Kurzem bin ich irgendwie auf die Programmiersprachen Modula und Ada aufmerksam geworden. In erster Linie deswegen, weil ich Alternativen zu C/C++ und alle darauf aufbauenden Dialekte gesucht habe, die eine klare und saubere Syntax ermöglichen/erzwingen, die über längere Zeit lesbar bleibt.
    Wie dem auch sei, ich habe zwar was für Ada (GNAT) und Modula-3 (cm3) gefunden und auf meinem Rechner (G4-PowerBook, OS X 10.4.8) installieren können, aber die Compiler führen ihre Arbeit nie zu Ende, weil es stets zu Fehlern kommt (ich glaube, der Linker macht Probleme).

    Meine Frage daher: Hat irgendjemand von euch einen der beiden Compiler (bevorzugt natürlich beide ;) ) zum Laufen gebracht? Und wenn ja, wäre dieser Jemand auch dazu bereit, mir die Installation zu erklären? Vielleicht gibt es aber auch andere Compiler, von denen ich einfach nur nichts weiß?
    Ich tappe im Moment absolut im Dunkeln, da die Installationsanleitungen für GNAT und cm3, die auf den jeweiligen Homepages angeboten werden, für mich unbrauchbar sind. Ich habe zwar alles gemacht wie vorgeschrieben, aber es funktioniert ja dennoch nicht.

    Also, vielen Dank an alle, die mir hierbei helfen können!

    Gruß,
    Matthias
     
  2. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    Jein, unter MacOS X 10.2.8 hatte ich den Ada Compilter installiert. Da ich aber auch Linux Rechner habe, habe ich das ganze jetzt nicht mehr installiert.
     
  3. snoopysalive

    snoopysalive Allington Pepping

    Dabei seit:
    19.08.05
    Beiträge:
    195
    Kannst du dich noch erinnern, wie du das Teil installiert hast? Das, was ich gemacht habe, ist, dass ich versucht habe, dieses GNAT zu installieren, das ja anscheinend aus einem eigenen GCC gesteht. Der läuft bei mir aber nicht richtig.
    Hier mal der Beispielcode und die dazugehörigen Ausgaben des Terminals:
    Code:
    -- Inhalt von hello.adb:
    
    with ada.text_io;
    use ada.text_io;
    
    procedure hello is
    begin
      put_line("hello");
    end hello;
    
    Dazu spuckt mir das Terminal folgendes aus:
    Code:
    gnatmake hello.adb
    gcc -c hello.adb
    gnatbind -x hello.ali
    gnatlink hello.ali
    /usr/bin/ld: table of contents for archive: /usr/local/ada/lib/gcc/powerpc-apple-darwin8.1.0/4.0.1/adalib/libgnat.a is out of date; rerun ranlib(1) (can't load from it)
    /usr/bin/ld: table of contents for archive: /usr/local/ada/lib/gcc/powerpc-apple-darwin8.1.0/4.0.1/libgcc.a is out of date; rerun ranlib(1) (can't load from it)
    /usr/bin/ld: table of contents for archive: /usr/local/ada/lib/gcc/powerpc-apple-darwin8.1.0/4.0.1/libgcc_eh.a is out of date; rerun ranlib(1) (can't load from it)
    collect2: ld returned 1 exit status
    gnatlink: cannot call /usr/local/ada/bin/gcc
    gnatmake: *** link failed.
    
    Das hört sich für mich so an, als ob es mit dem Programm "ld" Probleme gäbe. Dieses ist allerdings installiert und ich frage mich einfach nur, warum es dann nicht läuft.

    Hier noch dasselbe für Modula-3:
    Code:
    (* Inhalt von Main.m3 *)
    
    MODULE Main;
    IMPORT IO;
    
    BEGIN
      IO.Put("hello");
    END Main.
    
    Das Terminal:
    Code:
    cm3
    new source -> compiling Main.m3
     -> linking prog
    /usr/bin/ld: warning -L: directory name (/opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_lang_cm3/work/destroot/opt/local/cm3/lib) does not exist
    /usr/bin/ld: can't locate file for: -lm3gcdefs
    collect2: ld returned 1 exit status
    Fatal Error: package build failed
    
    Auch hier scheint es Probleme mit "ld" zu geben und zusätzlich lässt sich trotz Standardinstallation ein Verzeichnis nicht finden. cm3 habe ich über darwinports installiert, falls das noch interessant sein sollte.

    Wie gesagt, wenn sich darauf irgendjemand einen Reim machen kann, soll er bitte laut schreien. Am Ende mache ich nur reine Anfängerfehler. :-c *heul*

    Nochmals vielen Dank an alle, die mir hierzu was sagen können.
     
  4. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    Welches Paket hast Du installiert? Das gcc 3.3 oder gcc 4.01 Paket?
     
  5. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    Ich habe gerade das Paket für gcc 3.3 heruntergeladen, gcc_select 3.3 aufgerufen Paket installiert "gnatmake hello.adb" ausgeführt, keine Fehlermeldung bekommen. Das ganze funktioniert also einwandfrei - Programm läuft auch.
     
  6. snoopysalive

    snoopysalive Allington Pepping

    Dabei seit:
    19.08.05
    Beiträge:
    195
    Ich habe mir gerade eben den Ada-Compiler von https://libre2.adacore.com/ heruntergeladen und installiert. Der funktioniert nun absolut einwandfrei. Trotzdem danke, tjp, dass du (wirklich nur meinetwegen?) eine Installation auf deinem System durchgeführt hast. Ich hoffe, du hast jetzt nicht Müll auf deiner Platte?
    Jetzt bräuchte ich nur noch Hilfe mit Modula-3. Damit werde ich noch nicht schlau, aber Google ist ja geduldig. ;)
    Nochmals vielen Dank für deinen Einsatz, tjp!
     
  7. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    Nein, es war eher ein guter Anlaß das zu tun. Mit Modula-III hatte ich nie etwas zu tun. Richtig programmieren lernte ich noch mit Modula-II und dann später Oberon-2.
     
  8. snoopysalive

    snoopysalive Allington Pepping

    Dabei seit:
    19.08.05
    Beiträge:
    195
    Tja, meine Wurzeln sind PHP und studienbedingt PERL (*schäm*), was auch der Grund dafür sein könnte, warum ich mir mit C++ recht schwer tue.
    Jedenfalls habe ich jetzt auch Modula-3 zum Laufen gebracht. Anscheinend lag's an meinen gcc-Compilern, die ich auf dem System habe. Als ich vorhin den GNAT-Compiler installiert habe, scheine ich damit endlich ein anständiges gcc-System bekommen zu haben. Jetzt compiliert auch Modula-3. :D

    Nochmals danke für dein Engagement, tjp!
     
  9. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    C++ ist sehr umfangreich und erfordert einiges an Umdenken, wenn man von Sprachen wie PHP und Perl kommt. Zeiger gibt es aber auch in Ada.
     
  10. snoopysalive

    snoopysalive Allington Pepping

    Dabei seit:
    19.08.05
    Beiträge:
    195
    Na ja, ich glaube, wenn man mal eine Zeitlang damit gearbeitet hat, dann machen einem Zeiger nicht mehr allzu viel aus. Und PHP und Perl sind ja im Prinzip auch nichts anderes als abgespeckte C-Dialekte.
    Dennoch interessiere ich mich für Ada und Modula-3 aufgrund der Syntax. Wie auch in Python werden hier viele Aktionen mit Schlüsselwörtern eingeleitet (Perl: foreach my $element (@array), Python: for element in array). Das sind zwar irgendwo Marginalitäten und mit Übung kann man ja alles lesen, aber schon allein dieses "in" finde ich hilfreich genug, um die Syntax besser zu verstehen.
    Vielleicht ein wenig was zu meinem Hintergrund: Ich studiere Computerlinguistik und arbeite als Werkstudent in einer Web-Firma, welche grundsätzlich alles in Perl codet. Tja, wenn man mal ein paar Gigabyte Corpora abarbeiten muss, ist man froh, wenn man irgendwann mal eine Sprache verwenden kann, die wirklich nativ ausgeführt werden kann und nicht über eine virtuelle Maschine läuft oder interpretiert wird. Ist einfach schneller. (Nennt mich neurotisch, aber irgendwie habe ich bei kompilierten Programmen ein besseres Gefühl, als bei gescripteten. Nicht, dass ich Scriptsprachen schlecht fände, aber ich finde die Laufzeiten eben nicht sonderlich aufregend.)
     
  11. chipdrive

    chipdrive Gast

    hallo leute,


    ich wollte den ada compiler auf meinem ibook installieren hat aber nicht funktioniert da kommt so was wie cannot exec 'as' aber ich habe mal den compiler auf Ubuntu installiert und es hat geklappt und jetzt habe ich den Ada-Compiler von https://libre2.adacore.com/ heruntergeladen und der verlangt von mir nach dem ich sudo doinstall ausgefürt habe findet er make nicht also das gleiche ist mir mit ubuntu passiert war ganz einfach es zu installieren aber auf mac os habe ich K.A :( :-c


    kann mir vielleicht jemand helfen und mir schreiben wir ihr den ada compiler auf mac os installiert habt?? =)

    danke im voraus,
     
  12. snoopysalive

    snoopysalive Allington Pepping

    Dabei seit:
    19.08.05
    Beiträge:
    195
    "as" ist meines Wissens nach der Assembler-Compiler des GCC. Der GCC ist aber erst auf dem System vorhanden, wenn XCode installiert ist, denn XCode greift auf den GCC zurück.

    Installier also erstmal XCode, dann müsste unter "/usr/bin" der "as" vorhanden sein, genauso wie "make".

    Ist XCode installiert, sollte es so gehen:
    Code:
    shell(entpacktes GNAT-Verzeichnis)$ ./configure --prefix=/usr/local
    shell(entpacktes GNAT-Verzeichnis)$ make
    shell(entpacktes GNAT-Verzeichnis)$ sudo make install
    
    Danach musst du noch prüfen, ob in deiner PATH-Variable an erster Stelle "/usr/local/bin" steht:
    Code:
    shell$ echo $PATH
    Die Ausgabe müsste in etwa so aussehen:
    Code:
    /usr/local/bin:/usr/bin/:<weitere Einträge>
    Ist dem nicht so, dann bearbeite in deinem Homeverzeichnis die Datei ".profile" mit deinem Lieblingseditor oder lege sie entsprechend neu an. An deren Ende muss dann eine Zeile stehen, die folgendermaßen aussieht:
    Code:
    export PATH=/usr/local/bin:$PATH
    Terminal neu starten und schon müsste "gnatmake" zur Verfügung stehen.
     

Diese Seite empfehlen