amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > gcc will nicht kompilieren [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- 2 [ - Beitrag schreiben - ]

20.07.2006, 09:26 Uhr

Gerry
Posts: 82
Nutzer
Hallo,
ich dachte mir, rüste Dein GeekGadgets auf, und habe mir alle notwendigen Pakete installiert, um gcc zum laufen zu bringen.
Leider gibt der schon bei den einfachsten Programmen immer Fehler:

gcc: /t/cc350960.ii: No such file or directory
gcc: /t/cc485568.ii: No such file or directory
...

und hört erst damit auf, wenn ichs unterbreche.

Nach mehreren Anleitungen im Internet kann ich den Fehler einfach nicht finden. Alles scheint am richtigen Platz zu sein. Auch die kompletten notwendigen Pakete habe ich installiert (ausser man-pages).

Ich benutze gcc 2.7.0 auf einem A2000/68060

Wieso zum Teufel sucht er in den Temporaries? Wer weiß Rat??

(PS: SnoopDos versagt hier..seufz)

Gerry

[ - Antworten - Zitieren - Direktlink - ]

20.07.2006, 09:44 Uhr

Solar
Posts: 3674
Nutzer
Mit ziemlicher Sicherheit ein Problem der Installation, würde ich sagen - irgendein Pfad nicht richtig gesetzt o.ä.

Aber sagtest Du nicht, Du wolltest Dein GeekGadgets aufrüsten? GCC 2.7.0 ist so etwa zehn Jahre alt, die Sourcen dazu findet man nicht einmal mehr auf den offiziellen GCC-Servern...

[ - Antworten - Zitieren - Direktlink - ]

20.07.2006, 14:01 Uhr

Gerry
Posts: 82
Nutzer
Ja, das mit dem Aufrüsten war nicht mit gcc gemeint. Zu gcc hatte ich noch ein Paket, welches ich nicht von GeekGadgets hab. Irgendwie finde ich den neueren gcc nicht.

Ich habe das ganze auch nicht mit Installer-Skripts installiert, sondern per manum.

Ich kopierte alles aus bin, etc, share, lib und include in die jeweiligen Ordner.

Ich habe folgende Assigns gesetzt:
TMP: auf RAM:T
GG: auf mein GeekGadgets-Ordner
bin: auf GG:bin
Libs: mit GG:Sys/Libs add
usr: mit GG:
etc: mit GG:etc
man: mit GG:man

und dann noch einen Path add mit GG:bin

Muss ich noch Env-Vars setzen? Ich habe LD_LIBRARY_PATH auch gesetzt nach GG:lib.

[ - Antworten - Zitieren - Direktlink - ]

20.07.2006, 14:14 Uhr

DJBase
Posts: 3354
[Ex-Mitglied]
Lade Dir doch einfach das C/C++ Paket herunter. Dort ist alles schon enthalten. Nutze ich auch auf meinem A4000T.

http://aixite.ebytehost.com/cubic/download.htm


--
:boing: AmigaWorld - Amiga Support Network
:peggy: PegasosForum - Pegasos Support Forum & Community

[ - Antworten - Zitieren - Direktlink - ]

20.07.2006, 17:12 Uhr

Gerry
Posts: 82
Nutzer
@DJBase:
Danke für den Link. Mein Problem ist aber nicht die Tatsache, keine
C/C++-Umgebung zu haben. Ich selbst benutze unter anderem
StormC 4, welcher auch den gcc benutzt.

Das Problem besteht darin, dass Makefiles und Shell-Skripte verwendet
werden, welche den gcc starten, und dies sollte in der sh passieren.
StormC 4 benutzt nicht die UNIX-Makefiles.

(Bitte einhaken, falls Cubic UNIX-Konform ist, und man diese Umgebung
in der sh Problemlos verwenden kann)

Es geht nun darum, herauszufinden, wie man der sh (bzw GeekGadgets) -
Umgebung beibringen kann, den c++ bzw. g++ richtig zu benutzen,
ohne das Fehler auftauchen.

Vielleicht hilft mir schon ein einfacher Auszug aus diversen
Directories, welche der gcc unbedingt braucht, und welche
Pathes und Assigns gesetzt werden müssen.
Gibt es evtl. noch ein Konfigurationsfile zu gcc, welches ich evtl.
nicht habe (da von Hand kopiert)?

Oder ganz einfach: Hat jemand einen AmigaOS m68k - Link für den gcc mit
Installerskript, welches dann auf jeden Fall laufen sollte...

Danke für Eure Bemühungen!!!

[ - Antworten - Zitieren - Direktlink - ]

20.07.2006, 17:19 Uhr

DJBase
Posts: 3354
[Ex-Mitglied]
Also ich nutze Cubic nicht sondern nur das C/C++ Paket mit gcc 3.3 und Amiga OS 3.9 NDK (das ist da alles mit bei). Ich bediene den gcc über Shell, um Programme zu übersetzen.


--
:boing: AmigaWorld - Amiga Support Network
:peggy: PegasosForum - Pegasos Support Forum & Community

[ - Antworten - Zitieren - Direktlink - ]

20.07.2006, 17:23 Uhr

Gerry
Posts: 82
Nutzer
@DJBase:
Hört sich schonmal gut an, werd ich sofort testen und dann Meldung zurückgeben :-)

[ - Antworten - Zitieren - Direktlink - ]

20.07.2006, 18:58 Uhr

Gerry
Posts: 82
Nutzer
@DJBase:
Sodele, hab die Umgebung von 3.3 jetzt über meine 2.7 gebügelt.
und siehe da: Es funktioniert!!!

Das heisst also: 2.7 ist schrott....naja, ist halt schon in die Tage gekommen höhö

Vielen Dank nochmals...jetzt mach ich mich ans skripten :-)


Grüße
Gerry

[ - Antworten - Zitieren - Direktlink - ]

20.07.2006, 21:19 Uhr

Gerry
Posts: 82
Nutzer
@DJBase:
Sodele, hab die Umgebung von 3.3 jetzt über meine 2.7 gebügelt.
und siehe da: Es funktioniert!!!

Das heisst also: 2.7 ist schrott....naja, ist halt schon in die Tage gekommen höhö

Vielen Dank nochmals...jetzt mach ich mich ans skripten :-)


Grüße
Gerry

[ - Antworten - Zitieren - Direktlink - ]

20.07.2006, 21:27 Uhr

Gerry
Posts: 82
Nutzer
@DJBase:
Sodele, hab die Umgebung von 3.3 jetzt über meine 2.7 gebügelt.
und siehe da: Es funktioniert!!!

Das heisst also: 2.7 ist schrott....naja, ist halt schon in die Tage gekommen höhö

Vielen Dank nochmals...jetzt mach ich mich ans skripten :-)


Grüße
Gerry

[ - Antworten - Zitieren - Direktlink - ]

25.07.2006, 09:01 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Gerry:
Es geht nun darum, herauszufinden, wie man der sh (bzw GeekGadgets) -
Umgebung beibringen kann, den c++ bzw. g++ richtig zu benutzen,
ohne das Fehler auftauchen.

Vermutlich brauchte der GCC aus dem AmiNet ein bestimmtes TopLevel-Assign. In dem Fall wohl ADE: Das Assign GG: kam erst später im Benutzung.

[ - Antworten - Zitieren - Direktlink - ]

25.07.2006, 13:34 Uhr

Gerry
Posts: 82
Nutzer
Es funktioniert jetzt alles. der gcc erkennt wohl keine inlines mit Amiga-Includes. Ohne Inlines kein Problem :-)

[ - Antworten - Zitieren - Direktlink - ]

25.07.2006, 15:10 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Gerry:
Es funktioniert jetzt alles.

Das war auch nur noch als Information gedacht.
Zitat:
der gcc erkennt wohl keine inlines mit Amiga-Includes. Ohne Inlines kein Problem :-)
Du meinst Du hast keine Inlines installiert?

[ - Antworten - Zitieren - Direktlink - ]

25.07.2006, 16:11 Uhr

Gerry
Posts: 82
Nutzer
doch aber scheinen nicht zu gehen. Wird wohl n update nötig sein...

[ - Antworten - Zitieren - Direktlink - ]

25.07.2006, 20:33 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Gerry:
doch aber scheinen nicht zu gehen. Wird wohl n update nötig sein...

Etwas genauer bitte, falls Du an Hilfe interessiert sein solltest.

[ - Antworten - Zitieren - Direktlink - ]

26.07.2006, 20:20 Uhr

Gerry
Posts: 82
Nutzer
@gni:
Ist alles ok, es funktioniert ja jetzt :-)

[ - Antworten - Zitieren - Direktlink - ]

04.08.2006, 19:39 Uhr

Gerry
Posts: 82
Nutzer
Es funktionert nicht, wenn ich versuche, fremdprogramme
zu kompilieren. Inlines funktionieren nicht.
Der Compiler meldet Fehlermeldungen, dass die Register
(z.B. d7) nicht mit der clobber-list zusammenpassen.
Vielleicht brauch ich neue gcc-inline-includes. Kann
ich die irgendwo laden? Grüße

[ - Antworten - Zitieren - Direktlink - ]

04.08.2006, 19:52 Uhr

DJBase
Posts: 3354
[Ex-Mitglied]
Warum installierst Du Dir nicht einfach einmal das komplette C/C++ Addon?


--
:boing: AmigaWorld - Amiga Support Network
:peggy: PegasosForum - Pegasos Support Forum & Community

[ - Antworten - Zitieren - Direktlink - ]

04.08.2006, 19:58 Uhr

Gerry
Posts: 82
Nutzer
weil da der Ordner "inline" nicht dabei ist. Ich habs komplett drauf

[ - Antworten - Zitieren - Direktlink - ]

04.08.2006, 20:02 Uhr

DJBase
Posts: 3354
[Ex-Mitglied]
include/inline?


--
:boing: AmigaWorld - Amiga Support Network
:peggy: PegasosForum - Pegasos Support Forum & Community

[ - Antworten - Zitieren - Direktlink - ]

04.08.2006, 20:03 Uhr

Gerry
Posts: 82
Nutzer
genau!

[ - Antworten - Zitieren - Direktlink - ]

04.08.2006, 20:40 Uhr

DJBase
Posts: 3354
[Ex-Mitglied]
Warum ist dann der Ordner bei mir vorhanden? Ich hab doch auch nix anderes installiert.


--
:boing: AmigaWorld - Amiga Support Network
:peggy: PegasosForum - Pegasos Support Forum & Community

[ - Antworten - Zitieren - Direktlink - ]

04.08.2006, 20:57 Uhr

Gerry
Posts: 82
Nutzer
Ja seltsam. Ichh abe mir das fd2inline-Paket jetzt geholt, da sind einige inline drauf. die sehen komplett anders aus, als meine alten. cybergraphics.h war nicht drauf, und ich habs mir erzeugt. Aber es verursacht trotzdem einen Fehler:

error: asm-specifier for variable "__WriteLUTPixelArray_re" conflicts with asm clobber list
error: asm-specifier for variable "_n1" conflicts with asm clobber list
error: asm-specifier for variable "_n2" conflicts with asm clobber list
error: asm-specifier for variable "_n3" conflicts with asm clobber list
error: asm-specifier for variable "_n5" conflicts with asm clobber list

Hat jemand für cybergraphics die nötigen Files, damit das funzt?

[ Dieser Beitrag wurde von Gerry am 04.08.2006 um 20:58 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

04.08.2006, 21:29 Uhr

Dietmar
Posts: 166
Nutzer
@Gerry:
> weil da der Ordner "inline" nicht dabei ist. Ich habs komplett drauf

Für 68k-Installationen von gcc werden die Inlines für System-Libraries bei der Installation erzeugt (mit fd2pragama), für Libraries von Dritten (MUI usw.) muss man Inlines selber installieren. Die Inlines stehen anschliessend in gg:m68k-amigaos/include/inline/... (und im NDK, welches man ebenfalls von Cubic installieren lassen muss).

Man kann verschiedene Arten von Inlines erzeugen lassen. Cubic erzeugt normalerweise SPECIAL=40. Was das bedeutet, steht in der fd2pragma-Installation (devkits:tools/fd2pragma). Ich kenne mich mit gcc nicht aus und habe SPECIAL=40 willkürlich gewählt. Andere Inline-Varianten sind laut fd2pragma-Dokumentation:

40 - GCC inline file (preprocessor based)
41 - GCC inline file (old type - inline based)
42 - GCC inline file (library stubs)
43 - GCC inline file (new style - macro)
44 - GCC inline file (new style - inline)
45 - GCC inline file (new style - inline with include lines)
46 - GCC inline file (preprocessor based, direct)
47 - GCC inline file (new style, direct)
48 - GCC inline file (preprocessor based, direct, StormGCC)

Die Varianten kann man ändern, indem man vor der Installation des C/C++-Paketes die Datei "devkits/fd2pragma.bat" (im C/C++-Paket) editiert und SPECIAL=40 sucht und ändert.

[ - Antworten - Zitieren - Direktlink - ]

04.08.2006, 21:33 Uhr

Gerry
Posts: 82
Nutzer
Danke, das war ausführlich. Ich habe deshalb auch inline/cybergraphics.h selber erstellt (für den gcc), aber dann erhalte ich trotzdem noch oben genannten Fehler bezüglich den asm-specifiers.

[ - Antworten - Zitieren - Direktlink - ]

04.08.2006, 21:57 Uhr

Gerry
Posts: 82
Nutzer
Wer kann mir seine (komplette) cybergraphics-Includes (GCC!!!) geben. Bei wem klappt das mit dem gcc? Danke im Voraus.

[ - Antworten - Zitieren - Direktlink - ]

07.08.2006, 09:09 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Dietmar:
Ich kenne mich mit gcc nicht aus und habe SPECIAL=40 willkürlich gewählt.

Dies ist auch korrekt. So hat hat man zb. den ganzen "Zauber" in inline/macros.h und es funktioniert auch mit C++.

[ - Antworten - Zitieren - Direktlink - ]

07.08.2006, 09:20 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Gerry:
Ich habe deshalb auch inline/cybergraphics.h selber erstellt (für den gcc), aber dann erhalte ich trotzdem noch oben genannten Fehler bezüglich den asm-specifiers.

Das ist bei SPECIAL=40 auch nicht wirklich überrraschend, denn da befindet sich die komplette "Magie" in inline/macros.h. Du könntest eine neuere GCC Version installieren (3.3.3, 3.4.0, etc.), denn da ist eine funktionierende Version der oben genannten Datei dabei. Oder Du holst Dir:

ftp://ftp.back2roots.org/pub/geekgadgets/amiga/m68k/alpha/gcc/gcc3fix-20040503.tar.gz

und liest das enthaltene ReadMe. Das sollte Dein Problem lösen.

[ - Antworten - Zitieren - Direktlink - ]

07.08.2006, 18:20 Uhr

Gerry
Posts: 82
Nutzer
So,erstmal Danke für die Hilfe,

es scheint, als habe ich nurnoch einen echt blöden Fehler mit dem gcc.
Den Rest konnte ich (bis jetzt) meistern.

Bei vielen C/C++-Texten wird von g++ ein Assemblertext generiert, den er selber garnicht assemblieren kann, weil er mit .uleb128 generiert.
Da die Amiga-Plattform aber keinen .uleb128 benutzt, kommt es zum Fehler:

/t/blahblah.s:1919: Error: Unknown pseudo-op: '.uleb128'
...

Ich habe schon überall geschaut, aber keine Lösung gefunden, die funktioniert. Angeblich passiert das bei cross-compiling, aber ich cross compile überhaupt nicht.

Wie komme ich von dem nervigen .uleb128 weg. (Ausserdem steht uleb für unsigned LITTLE ENDIAN base...)
Hatte jemand auch das Problem? Wie gesagt, sehr viele komplizierte Programme kompilieren ohne Probleme. Aber andere, müssen nicht so kompliziert sein, die gehen nicht. Herausgefunden, wann genau der Fehler passiert, konnte ich noch nicht...

Danke für die Hilfe im Voraus

[ - Antworten - Zitieren - Direktlink - ]

07.08.2006, 19:48 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Gerry:
Bei vielen C/C++-Texten wird von g++ ein Assemblertext generiert, den er selber garnicht assemblieren kann, weil er mit .uleb128 generiert. Da die Amiga-Plattform aber keinen .uleb128 benutzt, kommt es zum Fehler:

/t/blahblah.s:1919: Error: Unknown pseudo-op: '.uleb128'
...

Ich habe schon überall geschaut, aber keine Lösung gefunden, die funktioniert. Angeblich passiert das bei cross-compiling, aber ich cross compile überhaupt nicht.

Mit cross-compiling ist vermutlich das Erstellen des GCC selber gemeint. Da kann es vorkommen das der GCC-Buildprozeß den falschen Assembler testet und deshalb vom Vorhandensein von Featuren ausgeht, die der dann wirklich verwendete Assembler nicht hat.

Welchen Assembler verwendest Du? Schau Dir die Ausgabe von gcc -v an und da den verwendeten Assembler. 2.9.1 versteht zwar diese Anweisung, soll sie aber nicht richtig behandeln.
Zitat:
Wie komme ich von dem nervigen .uleb128 weg.
Selber den GCC bauen? Hoffen, das es irgendwann GCC Updates für AmigaOS gibt? Es mal mit-fno-exceptions oder -fno-rtti probieren?

[ - Antworten - Zitieren - Direktlink - ]


-1- 2 [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > gcc will nicht kompilieren [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2022 by amiga-news.de - alle Rechte vorbehalten.
.