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

amiga-news.de Forum > Programmierung > Probleme mit new Operator bei g++ [ - Suche - Neue Beiträge - Registrieren - Login - ]

1 2 -3- [ - Beitrag schreiben - ]

21.08.2006, 09:18 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Holger:
Erstens halte ich es für sehr verdreht, zu behaupten, eine Zusatzbibliothek könne etwas, um im gleichen Atemzug zu behaupten, sie könne es eben nicht

Ich weiss, lesen != verstehen.
Zitat:
zweitens wüßte ich nicht, was Sprachfeatures wie Schleifeninitialisierer mit einer Linkbibliothek zu tun haben sollten,
Nichts, und das habe ich auch nirgends geschrieben.
Zitat:
dritten ist es ja nur Deine Ansicht, dass fehlende Header der compiler-Umgebung eine Linklib-spezifische Angelegenheit sein würden
Auch wenn Du es nicht wahrhaben willst, der GCC ist "nur" ein Compiler.

[ - Antworten - Zitieren - Direktlink - ]

21.08.2006, 09:19 Uhr

gni
Posts: 1106
Nutzer
Zitat:
whose:
Was mich aber etwas erstaunt: niemand meckert darüber, daß für das Bauen des GCC so viele der hier angesprochenen "Tricksereien" notwendig sind, um die Formalismen, auf denen GCC basiert, an die Realität anzupassen...

Keine Ahnung was Du damit sagen willst.

[ - Antworten - Zitieren - Direktlink - ]

21.08.2006, 09:24 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Holger:
Es gibt keinen logischen Grund, auf die Features des C99-Standards zu verzichten. Auch wenn noch nicht alle unterstützt werden. Die wesentlichen von Solar genannten Punkte können schon heute <auch auf dem Amiga> verwendet werden.

Redest Du von m68k? Das die dafür verfügbaren Compiler (GCC) die Sprachfeature von C99 unterstützen, steht nicht in Abrede. Was Header und Libs angeht, da sieht es anders aus.
Zitat:
Wenn jemand meint, sich den compiler mit einer zusätzlichen Bibliothek zerpatchen zu müssen, hat er auch das Problem mit den Inkompatiblitäten.
Und trotzdem landen die Probleme dann hier ;-)

[ - Antworten - Zitieren - Direktlink - ]

21.08.2006, 09:31 Uhr

gni
Posts: 1106
Nutzer
Zitat:
whose:
Das man sich den GCC "kaputtpatchen" kann, steht außer Frage. Das geht allerdings nicht nur mit der clib2, das geht auch schon prima beim Bau eines Crosscompilers. Noch schlimmer, wenn selbiger mit einem Crosscompiler erzeugt wird.

Komm zurück auf den Teppich. Hast Du das von Dir beschriebene Szenario schon mal durchexerziert?
Zitat:
Die Formalismen-Geschichte: Schau Dir an, wie der GCC funktioniert und wie die ganzen C- Perl- und was was ich noch alles für Dateien aufgebaut sind, die letztendlich einen (hoffentlich) funktionierenden GCC ergeben, dann weißt Du, was ich meine.
Seit wann braucht es Perl um den GCC zu bauen? Am besten Du verkneifst Dir Aussagen zum Erstellen des GCCs. So schwer kann es nicht sein, da es meines Wissens funktionierende Versionen für AmigaOS/m68k gibt. Auch für dessen PPC Aufsätze soll es welche geben.

[ - Antworten - Zitieren - Direktlink - ]

21.08.2006, 09:33 Uhr

gni
Posts: 1106
Nutzer
Zitat:
asrael229:
Hab jetzt zumindest schonmal die Binutils kompilieren koennen.
Mit dem gcc-3.3 funktionierts anscheinend.

Das ist doch ein Anfang.
Zitat:
Bei Tiger ist ja standardmaessig der gcc4 aktiviert aber gcc-3.3 wird nachwievor mitinstalliert.
Den GCC4 habe ich bisher nur benutzt, um den Compiler selber damit zu erstellen.

[ - Antworten - Zitieren - Direktlink - ]

21.08.2006, 12:43 Uhr

whose
Posts: 2156
Nutzer
Zitat:
Original von gni:
Zitat:
whose:
Das man sich den GCC "kaputtpatchen" kann, steht außer Frage. Das geht allerdings nicht nur mit der clib2, das geht auch schon prima beim Bau eines Crosscompilers. Noch schlimmer, wenn selbiger mit einem Crosscompiler erzeugt wird.

Komm zurück auf den Teppich. Hast Du das von Dir beschriebene Szenario schon mal durchexerziert?

Ja, davon weißt Du sogar.

Zitat:
Zitat:
Die Formalismen-Geschichte: Schau Dir an, wie der GCC funktioniert und wie die ganzen C- Perl- und was was ich noch alles für Dateien aufgebaut sind, die letztendlich einen (hoffentlich) funktionierenden GCC ergeben, dann weißt Du, was ich meine.
Seit wann braucht es Perl um den GCC zu bauen? Am besten Du verkneifst Dir Aussagen zum Erstellen des GCCs. So schwer kann es nicht sein, da es meines Wissens funktionierende Versionen für AmigaOS/m68k gibt. Auch für dessen PPC Aufsätze soll es welche geben.

Man beachte das "was weiß ich". Perl ist nur ein Beispiel.

Das es schwer bis unmöglich ist, habe ich nie behauptet. Schwierig bis kompliziert ist es, das wirst Du wohl nicht abstreiten können. Oder woher kommen die vielen Fragen zu dem Thema?

Grüße

--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

21.08.2006, 19:08 Uhr

asrael229
Posts: 37
Nutzer
Zitat:
Original von gni:
Zitat:
asrael229:
Hab jetzt zumindest schonmal die Binutils kompilieren koennen.
Mit dem gcc-3.3 funktionierts anscheinend.

Das ist doch ein Anfang.
Ja, ein Anfang. Die Compiler (gcc-3.4.0 vom GeekGadgets diff, der adtools gcc kannte das m68k-amigaos target nicht) selbst hab ich jetzt auch, nur gibts bei der libstdc++ Probleme. Und genau die Braeuchte ich doch. :/

Hier: http://www.zerohero.se/cross/os3.html

gibts leider auch nur den C Compiler, genau das selbe Problem bei C++ unter PPC.

Unter meinem AmigaOS3.9 auf einem emulierten 68040 dauert das Compilieren etliche Stunden und war auch nicht von Erfolg gekroent. Ein Eingreifen waere hier schon moeglich und wuerde ich auch machen. Aber bei jedem compilier Versuch die Wartezeit ist mir etwas zu viel.

Sag mal. Du hast gesagt, Du haettest die Bibliothek (sword) kompiliert. Meintest Du nur dieses VerseKey.cpp file oder die ganze Bibliothek?
Wenn die ganze Bibliothek, koenntest Du mir die geben?


Gruesse,
Manfred

[ - Antworten - Zitieren - Direktlink - ]

22.08.2006, 09:23 Uhr

gni
Posts: 1106
Nutzer
Zitat:
asrael229:
Die Compiler (gcc-3.4.0 vom GeekGadgets diff, der adtools gcc kannte das m68k-amigaos target nicht) selbst hab ich jetzt auch, nur gibts bei der libstdc++ Probleme. Und genau die Braeuchte ich doch. :/

adtools hat auch nur m68k-amigaos Support bei den binutils. Der dortige GCC unterstützt nur OS4. Damit sind die GG GCC-Patches die einzige Wahl, wenn man m68k-amigaos Support benötigt.
Zitat:
Hier: http://www.zerohero.se/cross/os3.html

gibts leider auch nur den C Compiler, genau das selbe Problem bei C++ unter PPC.

Dort steht, das 2.95.3 bei PPC kein C++ hat. 3.4.0 soll mit C/C++ sein. Was genau ist nun das Problem beim Erstellen der libstdc++? Fehlende Includes unter $prefix/m68k-amigaos/sys-include?
Zitat:
Du hast gesagt, Du haettest die Bibliothek (sword) kompiliert. Meintest Du nur dieses VerseKey.cpp file oder die ganze Bibliothek?
Das Übersetzen ist nicht durchgelaufen, aber das wäre einfach zu korrigieren gewesen. Ich habe mir nur versekey.cpp genauer angesehen.

[ - Antworten - Zitieren - Direktlink - ]

22.08.2006, 12:37 Uhr

asrael229
Posts: 37
Nutzer
Zitat:
Original von gni:
Dort steht, das 2.95.3 bei PPC kein C++ hat. 3.4.0 soll mit C/C++ sein.

Ne, is nicht dabei.

Zitat:
Was genau ist nun das Problem beim Erstellen der libstdc++? Fehlende Includes unter $prefix/m68k-amigaos/sys-include?
Diese Fehlermeldung:

/_inProgress/adtools/build-gcc3/gcc/xgcc -shared-libgcc -B/_inProgress/adtools/build-gcc3/gcc/ -nostdinc++ -L/_inProgress/adtools/build-gcc3/m68k-amigaos/libstdc++-v3/src -L/_inProgress/adtools/build-gcc3/m68k-amigaos/libstdc++-v3/src/.libs -B/opt/amigaos3sdk/m68k-amigaos/bin/ -B/opt/amigaos3sdk/m68k-amigaos/lib/ -isystem /opt/amigaos3sdk/m68k-amigaos/include -isystem /opt/amigaos3sdk/m68k-amigaos/sys-include -I/_inProgress/adtools/build-gcc3/m68k-amigaos/libstdc++-v3/include/m68k-amigaos -I/_inProgress/adtools/build-gcc3/m68k-amigaos/libstdc++-v3/include -I/_inProgress/adtools/gcc-3.4.0-amigaos/libstdc++-v3/libsupc++ -O2 -g -O2 -g -O2 -fno-implicit-templates -Wall -W -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -c ../../../../gcc-3.4.0-amigaos/libstdc++-v3/src/misc-inst.cc -o misc-inst.o
/var/tmp//ccwApbly.s: Assembler messages:
/var/tmp//ccwApbly.s:3734: Error: attempt to get value of unresolved symbol '__n:V632'
/var/tmp//ccwApbly.s:3734: Error: attempt to get value of unresolved symbol 'xH'
make[3]: *** [misc-inst.lo] Error 1


Ich denke mit sys-includes hat das nichts zu tun, auch mit den ixemul includes nicht.
Siehst Du da was?


Gruesse,
Manfred

[ - Antworten - Zitieren - Direktlink - ]

22.08.2006, 13:48 Uhr

gni
Posts: 1106
Nutzer
Zitat:
asrael229:
/var/tmp//ccwApbly.s: Assembler messages:
/var/tmp//ccwApbly.s:3734: Error: attempt to get value of unresolved symbol '__n:V632'
/var/tmp//ccwApbly.s:3734: Error: attempt to get value of unresolved symbol 'xH'

binutils sind 2.14? Versuch mal ohne -g zu übersetzen. Also beim make-Aufruf, zb. CFLAGS=-O2 CXXFLAGS=-O2. Wenn das nicht reicht, beim Konfigurieren CFLAGS und CXXFLAGS leeren (CFLAGS= CXXFLAGS= <path to source>/configure options).
Ich habe meist ohne -g übersetzt, da das weniger Plattenplatz verschwendet ;-( Allerdings habe ich auch noch nie die binutils 2.14 zusammen mit dem GCC benutzt. Ich verwende weiterhin die älteren 2.9.1.
Zitat:
Ich denke mit sys-includes hat das nichts zu tun, auch mit den ixemul includes nicht.
Es war auch nur eine Vermutung, das eventuell die Plattform-Includes zum Übersetzen der libstdc++ fehlen.

[ - Antworten - Zitieren - Direktlink - ]

22.08.2006, 15:07 Uhr

asrael229
Posts: 37
Nutzer
Zitat:
Original von gni:
binutils sind 2.14? Versuch mal ohne -g zu übersetzen. Also beim make-Aufruf, zb. CFLAGS=-O2 CXXFLAGS=-O2. Wenn das nicht reicht, beim Konfigurieren CFLAGS und CXXFLAGS leeren (CFLAGS= CXXFLAGS= <path to source>/configure options).
Ich habe meist ohne -g übersetzt, da das weniger Plattenplatz verschwendet ;-( Allerdings habe ich auch noch nie die binutils 2.14 zusammen mit dem GCC benutzt. Ich verwende weiterhin die älteren 2.9.1.

Ja, binutils sind 2.14. Aber ich hatte auch schonmal vor die aelteren 2.9.1 zu probieren, weil ich glaube, dass es an denen liegt. Bei m68k hat sich da eh nicht viel geaendert, nehme ich an.
Wusste immer nicht, wo ich nen diff finden kann, aber bvei dem '99 GG Snapshot sind ja sogar die Quellen dabei.

Ich werd noch bissi probieren, thx.


Manfred

[ - Antworten - Zitieren - Direktlink - ]

22.08.2006, 15:30 Uhr

gni
Posts: 1106
Nutzer
Zitat:
asrael229:
Aber ich hatte auch schonmal vor die aelteren 2.9.1 zu probieren, weil ich glaube, dass es an denen liegt.

Wenn da das selbe Problem auftritt, dann sollte es helfen ohne -g zu übersetzen. Vermutlich heisst das dann, das es ein Compilerproblem gibt. Obs generisch oder portspezifisch ist, wäre dann noch zu klären.
Zitat:
Bei m68k hat sich da eh nicht viel geaendert, nehme ich an.
Da vermutlich nicht, aber im generischen Teil kann sich schon einiges geändert haben.
Zitat:
Wusste immer nicht, wo ich nen diff finden kann, aber bvei dem '99 GG Snapshot sind ja sogar die Quellen dabei.
Die waren immer da, nur in einem separaten Verzeichnis, genau wie die originalen Quellen (eventuell wurden die mal "neu" gepackt) und die GG-diffs. Ich kann nur empfehlen, nie gepatche Quellen zu holen. Original + diff ist immer besser.

[ - Antworten - Zitieren - Direktlink - ]

22.08.2006, 20:29 Uhr

asrael229
Posts: 37
Nutzer
Hi.

Also. Crosscompiler hab ich jetzt auch einen. Binutils-2.14 von adtools und den gcc-3.4 von geekgadgets.
Ohne die Debuggingsymbole hats hingehauen.
Wie gibts das denn, sowas ist mir noch nei passiert und ich hab schon etlich Crosscompiler kompiliert?
Aber guter Tipp.

Die Sword Bibliothek hab ich auch schon kompiliert, nur beim Linken hakts. Wo ist denn bitte _errno, __ctype_ und _ixemulbase definiert? Da hagelts "undefined references"?


Beste Gruesse,
Manfred

[ - Antworten - Zitieren - Direktlink - ]

23.08.2006, 08:48 Uhr

gni
Posts: 1106
Nutzer
Zitat:
asrael229:
Crosscompiler hab ich jetzt auch einen. Binutils-2.14 von adtools und den gcc-3.4 von geekgadgets. Ohne die Debuggingsymbole hats hingehauen.
Wie gibts das denn, sowas ist mir noch nei passiert und ich hab schon etlich Crosscompiler kompiliert?

Der GCC Ports für AmigaOS/m68k benutzt .stabs für Debuginformationen. Die meisten anderen Ports verwenden das DWARF-Format. So bleiben Probleme mit weniger verwendeten Formaten leicht unentdeckt. Es kann sogar vorkommen, das Probleme gar nicht in Ihrer vollen Tragweite erkannt werden.
Zitat:
Aber guter Tipp.
Habe ich irgendwann mal gelesen ;-)
Zitat:
Die Sword Bibliothek hab ich auch schon kompiliert, nur beim Linken hakts. Wo ist denn bitte _errno, __ctype_ und _ixemulbase definiert?
ixemulbase kommt aus dem Startupcode und der Rest aus den Bibliotheken.

[ - Antworten - Zitieren - Direktlink - ]


1 2 -3- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Probleme mit new Operator bei g++ [ - Suche - Neue Beiträge - Registrieren - Login - ]


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