amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > gcc will nicht kompilieren [ - Search - New posts - Register - Login - ]

-1- 2 [ - Post reply - ]

2006-07-20, 09:26 h

Gerry
Posts: 82
User
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

[ - Answer - Quote - Direct link - ]

2006-07-20, 09:44 h

Solar
Posts: 3680
User
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...

[ - Answer - Quote - Direct link - ]

2006-07-20, 14:01 h

Gerry
Posts: 82
User
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.

[ - Answer - Quote - Direct link - ]

2006-07-20, 14:14 h

DJBase
Posts: 3354
[Former member]
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

[ - Answer - Quote - Direct link - ]

2006-07-20, 17:12 h

Gerry
Posts: 82
User
@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!!!

[ - Answer - Quote - Direct link - ]

2006-07-20, 17:19 h

DJBase
Posts: 3354
[Former member]
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

[ - Answer - Quote - Direct link - ]

2006-07-20, 17:23 h

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

[ - Answer - Quote - Direct link - ]

2006-07-20, 18:58 h

Gerry
Posts: 82
User
@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

[ - Answer - Quote - Direct link - ]

2006-07-20, 21:19 h

Gerry
Posts: 82
User
@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

[ - Answer - Quote - Direct link - ]

2006-07-20, 21:27 h

Gerry
Posts: 82
User
@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

[ - Answer - Quote - Direct link - ]

2006-07-25, 09:01 h

gni
Posts: 1106
User
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.

[ - Answer - Quote - Direct link - ]

2006-07-25, 13:34 h

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

[ - Answer - Quote - Direct link - ]

2006-07-25, 15:10 h

gni
Posts: 1106
User
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?

[ - Answer - Quote - Direct link - ]

2006-07-25, 16:11 h

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

[ - Answer - Quote - Direct link - ]

2006-07-25, 20:33 h

gni
Posts: 1106
User
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.

[ - Answer - Quote - Direct link - ]

2006-07-26, 20:20 h

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

[ - Answer - Quote - Direct link - ]

2006-08-04, 19:39 h

Gerry
Posts: 82
User
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

[ - Answer - Quote - Direct link - ]

2006-08-04, 19:52 h

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


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

[ - Answer - Quote - Direct link - ]

2006-08-04, 19:58 h

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

[ - Answer - Quote - Direct link - ]

2006-08-04, 20:02 h

DJBase
Posts: 3354
[Former member]
include/inline?


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

[ - Answer - Quote - Direct link - ]

2006-08-04, 20:03 h

Gerry
Posts: 82
User
genau!

[ - Answer - Quote - Direct link - ]

2006-08-04, 20:40 h

DJBase
Posts: 3354
[Former member]
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

[ - Answer - Quote - Direct link - ]

2006-08-04, 20:57 h

Gerry
Posts: 82
User
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. ]

[ - Answer - Quote - Direct link - ]

2006-08-04, 21:29 h

Dietmar
Posts: 166
User
@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.

[ - Answer - Quote - Direct link - ]

2006-08-04, 21:33 h

Gerry
Posts: 82
User
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.

[ - Answer - Quote - Direct link - ]

2006-08-04, 21:57 h

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

[ - Answer - Quote - Direct link - ]

2006-08-07, 09:09 h

gni
Posts: 1106
User
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++.

[ - Answer - Quote - Direct link - ]

2006-08-07, 09:20 h

gni
Posts: 1106
User
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.

[ - Answer - Quote - Direct link - ]

2006-08-07, 18:20 h

Gerry
Posts: 82
User
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

[ - Answer - Quote - Direct link - ]

2006-08-07, 19:48 h

gni
Posts: 1106
User
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?

[ - Answer - Quote - Direct link - ]


-1- 2 [ - Post reply - ]


amiga-news.de Forum > Programmierung > gcc will nicht kompilieren [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2025 by amiga-news.de - all rights reserved.
.