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

amiga-news.de Forum > Amiga, AmigaOS 4 > AmigaOs 4.1 SDK [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- 2 [ - Beitrag schreiben - ]

21.04.2023, 14:27 Uhr

Maijestro
Posts: 408
Nutzer
Kurze frage ich würde gerne ein SourceCode unter AmigaOs4.1 kompilieren bei sh ./configure erhalte ich folgende Fehlermeldung:

Looking for C++ compiler... g++
Checking if compiler supports C++11... no
requires C++11 compiler support. Please ensure your compiler supports it

und bricht das konfigurieren ab. Letzte SDK Version für AmigaOs4.1 ist installiert, muss ich den Pfad noch selber setzen?

[ - Antworten - Zitieren - Direktlink - ]

21.04.2023, 15:28 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
Zitat:
Original von Maijestro:
Kurze frage ich würde gerne ein SourceCode unter AmigaOs4.1 kompilieren bei sh ./configure erhalte ich folgende Fehlermeldung:

Looking for C++ compiler... g++
Checking if compiler supports C++11... no
requires C++11 compiler support. Please ensure your compiler supports it

und bricht das konfigurieren ab. Letzte SDK Version für AmigaOs4.1 ist installiert, muss ich den Pfad noch selber setzen?


Ich denke nicht, dass es an einen fehlenden Compiler liegt. Wenn ich die Fehlermeldung richtig lese, beschwert sich configure darüber, dass g++ nicht den C++11-Standard unterstützt. C++11 ist schon uralt, das sollten eigentlich alle Versionen vom GCC im letzten SDK können.

Was versuchst du zu kompilieren? Dann könnte ich mal reinschauen, was genau der Fehler ist.

[ - Antworten - Zitieren - Direktlink - ]

21.04.2023, 17:47 Uhr

Maijestro
Posts: 408
Nutzer
Zitat:
Original von FlynnTheAvatar:
Zitat:
Original von Maijestro:
Kurze frage ich würde gerne ein SourceCode unter AmigaOs4.1 kompilieren bei sh ./configure erhalte ich folgende Fehlermeldung:

Looking for C++ compiler... g++
Checking if compiler supports C++11... no
requires C++11 compiler support. Please ensure your compiler supports it

und bricht das konfigurieren ab. Letzte SDK Version für AmigaOs4.1 ist installiert, muss ich den Pfad noch selber setzen?


Ich denke nicht, dass es an einen fehlenden Compiler liegt. Wenn ich die Fehlermeldung richtig lese, beschwert sich configure darüber, dass g++ nicht den C++11-Standard unterstützt. C++11 ist schon uralt, das sollten eigentlich alle Versionen vom GCC im letzten SDK können.

Was versuchst du zu kompilieren? Dann könnte ich mal reinschauen, was genau der Fehler ist.


Erstmal danke für die Hilfe....

Also ich versuche gerade den letzten Source Code von ScummVM zu kompilieren, sollte eigentlich kein Problem sein.

Den Code hab ich von hier entnommen:

ScummVM Source

[ Dieser Beitrag wurde von Maijestro am 21.04.2023 um 17:48 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

21.04.2023, 19:36 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
@Maijestro:
So ganz einfach wird was wohl nicht gehen. Du brauchst du richtigen Flags für den GCC, damit die Test-Programme kompiliert werden können:

code:
> CXXFLAGS="-O3 -gstabs" LDFLAGS="-lpthread" ./configure
Running ScummVM configure...
Looking for C++ compiler... g++
Checking if compiler supports C++11... yes
Checking for compiler version... GCC 11.2.0, ok
Checking if C++11 initializer list is available... yes
Checking if C++11 std::nullptr_t is available... yes
Checking best debug mode... -gstabs + var tracking
Using LLD linker... no
Using Mold linker... no
Checking for whether C++ compiler accepts -Wglobal-constructors... no
Checking for whether C++ compiler accepts -Wno-undefined-var-template... no
Checking for whether C++ compiler accepts -Wno-pragma-pack... no
Checking for whether C++ compiler accepts -Wno-address-of-packed-member... yes
Checking endianness... big
Checking 64-bitness... no
Type with 1 byte... char
Type with 2 bytes... short
Type with 4 bytes... int
Type with 8 bytes... long long
Alignment required... no
Checking host CPU architecture... PowerPC
Checking hosttype... amigaos
Checking for pkg-config... yes
Looking for sdl-config... /SDK/Local/newlib/bin/sdl2-config
Checking for SDL... no



Ich habe SDL2 installiert, aber beim Kompilieren des Test-Programms fehlen dem Linker einige Funktionen:
code:
> cat config.log
.
.
.
#include "SDL.h"
int main(int argc, char *argv[]) { SDL_Init(0); return 0; }

g++ -lpthread -fstack-protector -O3 -gstabs  -Wshadow -W -Wno-unused-parameter -Wno-empty-body -fno-operator-names -std=gnu++11 -pedantic -gstabs -fvar-tracking-assignments -Wno-address-of-packed-member -mlongcall -fno-omit-frame-pointer -fno-strict-aliasing -Wno-format ./scummvm-conf.cpp -o ./scummvm-conf -L/SDK/local/newlib/lib -use-dynld -lSDL2 -I/SDK/local/newlib/include/SDL2 -D_REENTRANT
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_key_delete'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_recursive_mutex_init'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_cond_broadcast'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_detach'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_cond_destroy'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_mutex_destroy'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_once'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_setspecific'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_mutex_unlock'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_cond_init'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_recursive_mutex_unlock'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_join'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_cond_wait'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_getspecific'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_mutex_lock'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_recursive_mutex_lock'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_key_create'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_mutex_init'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_active_p'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_cond_signal'
/GCC/lib/gcc/ppc-amigaos/11.2.0/newlib/lib/libstdc++.so: undefined reference to `__gthread_create'
return code: 1


Frage mal auf Amigans.net nach, da tummeln sich mehr AmigaOS 4-Entwickler. Vielleicht weiß einer, welche Flags man genau setzen muss.

[ - Antworten - Zitieren - Direktlink - ]

21.04.2023, 19:47 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
Ich glaube, dass wären die korrekten Flags:

code:
CXXFLAGS="-O3 -athread=native -gstabs" LDFLAGS="-lpthreads" ./configure


Damit läuft das configure bei mir durch:

code:
...
Engines (builtin):
    SCUMM [all games]
    Access 
    ADL 
    AGI 
    AGOS [all games]
    Adventure Game Studio 
    Sanitarium 
    Beavis and Butthead in Virtual Stupidity 
    Blade Runner 
    CGE 
    CGE2 
    Chewy: Esc from F5 
    Cinematique evo 1 
    Magic Composer 
    Cinematique evo 2 
    Cryo Omni3D games [all games]
    Macromedia Director 
    Dragon History 
    Blazing Dragons 
    Drascula: The Vampire Strikes Back 
    Dreamweb 
    Freescape 
    UFOs 
    Gobli*ns 
    The Griffon Legend 
    Grim [Grim Fandango]
    Groovie [7th Guest]
    Hades Challenge 
    Hyperspace Delivery Boy! 
    Hopkins FBI 
    Hugo Trilogy 
    Hypnotix Inc. 
    Illusions Engine 
    Kyra [all games]
    Labyrinth of Time 
    Lure of the Temptress 
    MADE 
    MADS [Rex Nebular]
    Mohawk [Living Books] [Myst] [Riven: The Sequel to Myst]
    Mortevielle 
    mTropolis 
    Neverhood 
    Nikita Game Interface 
    Parallaction 
    The Journeyman Project: Pegasus Prime 
    Pink Panther 
    Plumbers Don't Wear Ties 
    The Prince and The Coward 
    Private Eye 
    Flight of the Amazon Queen 
    SAGA [all games]
    SAGA2 
    SCI [all games]
    The Lost Files of Sherlock Holmes 
    Beneath a Steel Sky 
    Mission Supernova 
    Broken Sword 
    Broken Sword II 
    Teen Agent 
    Tinsel 
    3 Skulls of the Toltecs 
    Tony Tough and the Night of Roasted Moths 
    Toonstruck 
    Touche: The Adventures of the Fifth Musketeer 
    Trecision Adventure Module 
    TsAGE 
    Bud Tucker in Double Trouble 
    Little Big Adventure 
    Ultima 
    Voyeur 

Engines Skipped:
    Lord Avalot d'Argent 
    The Journeyman Project 2: Buried in Time 
    Chamber 
    Lost Eden 
    Dungeon Master 
    Escape From Hell 
    Glk Interactive Fiction games 
    Grim [Escape from Monkey Island]
    Groovie [Groovie 2 games]
    Hpl1 
    In Cold Blood 
    The Immortal 
    Kingdom: The Far Reaches 
    The Last Express 
    Lilliput 
    MacVenture 
    MADS [MADS V2]
    Might and Magic 
    Mohawk [Where in Time is Carmen Sandiego?] [Myst ME]
    Mutation of JB 
    Myst 3 
    Nancy Drew 
    Red Comrades 
    Playground 3d: the testing and playground environment for 3d renderers 
    Sludge 
    The Longest Journey 
    Star Trek 25th Anniversary/Judgment Rites 
    Broken Sword 2.5 
    TestBed: the Testing framework 
    Tetraedge 
    Starship Titanic 
    V-Cruise 
    WAGE 
    Wintermute 
    Z-Vision


[ Dieser Beitrag wurde von FlynnTheAvatar am 21.04.2023 um 19:48 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

21.04.2023, 21:35 Uhr

Maijestro
Posts: 408
Nutzer
Zitat:
Original von FlynnTheAvatar:
Ich glaube, dass wären die korrekten Flags:

code:
CXXFLAGS="-O3 -athread=native -gstabs" LDFLAGS="-lpthreads" ./configure


Damit läuft das configure bei mir durch:

code:
...
Engines (builtin):
    SCUMM [all games]
    Access 
    ADL 
    AGI 
    AGOS [all games]
    Adventure Game Studio 
    Sanitarium 
    Beavis and Butthead in Virtual Stupidity 
    Blade Runner 
    CGE 
    CGE2 
    Chewy: Esc from F5 
    Cinematique evo 1 
    Magic Composer 
    Cinematique evo 2 
    Cryo Omni3D games [all games]
    Macromedia Director 
    Dragon History 
    Blazing Dragons 
    Drascula: The Vampire Strikes Back 
    Dreamweb 
    Freescape 
    UFOs 
    Gobli*ns 
    The Griffon Legend 
    Grim [Grim Fandango]
    Groovie [7th Guest]
    Hades Challenge 
    Hyperspace Delivery Boy! 
    Hopkins FBI 
    Hugo Trilogy 
    Hypnotix Inc. 
    Illusions Engine 
    Kyra [all games]
    Labyrinth of Time 
    Lure of the Temptress 
    MADE 
    MADS [Rex Nebular]
    Mohawk [Living Books] [Myst] [Riven: The Sequel to Myst]
    Mortevielle 
    mTropolis 
    Neverhood 
    Nikita Game Interface 
    Parallaction 
    The Journeyman Project: Pegasus Prime 
    Pink Panther 
    Plumbers Don't Wear Ties 
    The Prince and The Coward 
    Private Eye 
    Flight of the Amazon Queen 
    SAGA [all games]
    SAGA2 
    SCI [all games]
    The Lost Files of Sherlock Holmes 
    Beneath a Steel Sky 
    Mission Supernova 
    Broken Sword 
    Broken Sword II 
    Teen Agent 
    Tinsel 
    3 Skulls of the Toltecs 
    Tony Tough and the Night of Roasted Moths 
    Toonstruck 
    Touche: The Adventures of the Fifth Musketeer 
    Trecision Adventure Module 
    TsAGE 
    Bud Tucker in Double Trouble 
    Little Big Adventure 
    Ultima 
    Voyeur 

Engines Skipped:
    Lord Avalot d'Argent 
    The Journeyman Project 2: Buried in Time 
    Chamber 
    Lost Eden 
    Dungeon Master 
    Escape From Hell 
    Glk Interactive Fiction games 
    Grim [Escape from Monkey Island]
    Groovie [Groovie 2 games]
    Hpl1 
    In Cold Blood 
    The Immortal 
    Kingdom: The Far Reaches 
    The Last Express 
    Lilliput 
    MacVenture 
    MADS [MADS V2]
    Might and Magic 
    Mohawk [Where in Time is Carmen Sandiego?] [Myst ME]
    Mutation of JB 
    Myst 3 
    Nancy Drew 
    Red Comrades 
    Playground 3d: the testing and playground environment for 3d renderers 
    Sludge 
    The Longest Journey 
    Star Trek 25th Anniversary/Judgment Rites 
    Broken Sword 2.5 
    TestBed: the Testing framework 
    Tetraedge 
    Starship Titanic 
    V-Cruise 
    WAGE 
    Wintermute 
    Z-Vision


[ Dieser Beitrag wurde von FlynnTheAvatar am 21.04.2023 um 19:48 Uhr geändert. ]


Ok könntest du mir bitte genaue Anweisungen geben wie und was du geändert hast? Ich verstehe es nicht ganz....

[ Dieser Beitrag wurde von Maijestro am 21.04.2023 um 21:35 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

21.04.2023, 21:57 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
@Maijestro:

Du musst folgende Umgebungsvariablen setzen:
CXXFLAGS und LDFLAGS.

Entweder setzt du die vor dem ./configure-Aufruf wie folgt:
code:
CXXFLAGS="-O3 -athread=native -gstabs" LDFLAGS="-lpthreads" ./configure


Oder du exportierst du:
code:
export CXXFLAGS="-O3 -athread=native -gstabs"
export LDFLAGS="-lpthreads"
./configure


Beides wird wohl nur gehen, wenn du in der ABC-Shell bist.

Also, führe folgendes aus:
code:
Projekte:scummvm > sh
/Projekte/scummvm > CXXFLAGS="-O3 -athread=native -gstabs" LDFLAGS="-lpthreads" ./configure


[ Dieser Beitrag wurde von FlynnTheAvatar am 21.04.2023 um 21:59 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

22.04.2023, 06:51 Uhr

Maijestro
Posts: 408
Nutzer
Zitat:
Original von FlynnTheAvatar:
@Maijestro:


Beides wird wohl nur gehen, wenn du in der ABC-Shell bist.


Wie starte ich die ABC-Shell? Ist die bereits im letzten SDK enthalten oder muß ich die von os4depot nehmen? ABC-Shell

Entschuldige wenn ich mich etwas unbeholfen anstelle :-(

[ Dieser Beitrag wurde von Maijestro am 22.04.2023 um 06:53 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

22.04.2023, 10:10 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
Zitat:
Original von Maijestro:
Zitat:
Original von FlynnTheAvatar:
@Maijestro:


Beides wird wohl nur gehen, wenn du in der ABC-Shell bist.


Wie starte ich die ABC-Shell? Ist die bereits im letzten SDK enthalten oder muß ich die von os4depot nehmen? ABC-Shell

Entschuldige wenn ich mich etwas unbeholfen anstelle :-(

[ Dieser Beitrag wurde von Maijestro am 22.04.2023 um 06:53 Uhr geändert. ]


Kein Problem.

Wenn du das SDK vollständig installiert hast, ist die ABC-Shell schon da.

Der Befehl für die ABC-Shell ist sh. Den hast du schon verwendet, um das ./configure bei dir zu starten.

Wenn du nur sh in einer AmigaOS Shell eingibst, startet die ABC-Shell. Du siehst an dem / vor dem Pfad, dass die ABC-Shell aktiv ist, und nicht die AmigaOS-Shell.

Also:

  • Neuen AmigaOS Shell starten
  • In das Verzeichnis mit den ScummVM-Code wechseln
  • code:
    sh

  • code:
    CXXFLAGS="-O3 -athread=native -gstabs" LDFLAGS="-lpthreads" ./configure



CXXFLAGS sind die Flags für den C++ Compiler:

  • -O3 => Optimierungen einschalten
  • -athread=native => Benutze native AmigaOS Threads für SDL
  • -gstabs => Generiere gstabs debugging-Einträge (die Amiga Tools können nichts anderes)


LDFLAGS sind die Flags für den Linker:

  • -lpthreads => Linke mit der POSIX Threads Library


Ich hoffe, dass ist verständlicher.

[ - Antworten - Zitieren - Direktlink - ]

22.04.2023, 19:36 Uhr

Maijestro
Posts: 408
Nutzer
@FlynnTheAvatar:

Ok ich habe es verstanden du hast es gut erklärt, mein Problem war das ich vor dem Compiliere nicht in die ABC-Shell gewechselt bin. Allerdinge auch dann gibt es Probleme:

Neuer Shell-Prozess 4
4.Workbench:> sh
/Workbench> cd Download:Entwickler/ScummVm/
/Download/Entwickler/ScummVm> CXXFLAGS="-O3 -athread=native -gstabs" LDFLAGS="-lpthreads" ./configure
Running ScummVM configure...
Looking for C++ compiler... none found!
/Download/Entwickler/ScummVm> ./configure
Running ScummVM configure...
Looking for C++ compiler... g++
Checking if compiler supports C++11... no

ScummVM requires C++11 compiler support. Please ensure your compiler supports it
/Download/Entwickler/ScummVm>

Der C++11 compiler wird immer noch nicht gefunden. Ich hab dann auch mal in der user-startup geguckt aber da ist das assign für SDK gesetzt:

;BEGIN AmigaOS 4.1 SDK
assign SDK: Workbench:SDK
execute SDK:S/sdk-startup
;END AmigaOS 4.1 SDK

Eventuell hast du noch eine Idee?

[ Dieser Beitrag wurde von Maijestro am 22.04.2023 um 19:38 Uhr geändert. ]

[ Dieser Beitrag wurde von Maijestro am 22.04.2023 um 20:52 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

22.04.2023, 20:12 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
@Maijestro:

Configure legt eine Datei namens "config.log" an, da stehen die Fehlermeldungen drinnen.

Könntest du bitte die Datei löschen, dann einmal
CXXFLAGS="-O3 -athread=native -gstabs" LDFLAGS="-lpthreads" ./configure
ausführen, und den Inhalt hier posten, bitte?

Dann könnte ich sehen, was genau nicht funktioniert.

[ - Antworten - Zitieren - Direktlink - ]

22.04.2023, 20:58 Uhr

Maijestro
Posts: 408
Nutzer
@FlynnTheAvatar:

config.log:

Configure run on Sa Apr 22 20:56:17 2023
Invocation command line was:
configure
Saved environment variables:
AR="" AS="" ASFLAGS="" CPPFLAGS="" CXX="" CXXFLAGS="-O3 -athread=native -gstabs" DWP="" LD="ld" LDFLAGS="-lpthreads" PKG_CONFIG_LIBDIR="unset" RANLIB="" SDL_CONFIG="" STRIP="" WINDRES="" WINDRESFLAGS=""
testing compiler: g++
cc1plus: error: unrecognized command line option "-athread=native"
failure testing compiler: g++
testing compiler: c++
cc1plus: error: unrecognized command line option "-athread=native"
failure testing compiler: c++
testing compiler: clang++
configure: clang++: not found
failure testing compiler: clang++


Es hilft hoffentlich.

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 09:01 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
@Maijestro:

Welche Version vom GCC verwendest du? Du kannst das mit
code:
gcc -v

anzeigen lassen.

Wie es aussieht, versteht erst GCC > 8 die Option "-athread=native".

Entweder wechselst du du die Version mit dem Befehl
code:
SDK:Tools/set_defGCC


Oder du benutzt folgenden Befehl für Configure:
code:
CXX=g++-11 CXXFLAGS="-O3 -athread=native -gstabs" ./configure


So wie es aussieht, brauchst du das LDFLAGS nicht, wenn du "-athread=native" setzt.

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 17:47 Uhr

Maijestro
Posts: 408
Nutzer
Zitat:
Original von FlynnTheAvatar:
@Maijestro:

Welche Version vom GCC verwendest du? Du kannst das mit
code:
gcc -v

anzeigen lassen.

8.Workbench:> gcc -v
Using built-in specs.
Target: ppc-amigaos
Configured with: ../gcc/configure --prefix=/gcc --host=ppc-amigaos --target=ppc-amigaos --build=i686-cygwin --enable-haifa --enable-sjlj-exceptions --enable-languages=c,c++
Thread model: single
gcc version 4.2.4 (adtools build 20090118)

Zitat:
wechselst du du die Version mit dem Befehl
code:
SDK:Tools/set_defGCC



hmm es gibt kein "Tools" ordner bei mir im SDK, voelleicht ist mein SDK unvollstandig. Ich werde es mal neu installieren.

Zitat:
Oder du benutzt folgenden Befehl für Configure:
code:
CXX=g++-11 CXXFLAGS="-O3 -athread=native -gstabs" ./configure


So wie es aussieht, brauchst du das LDFLAGS nicht, wenn du "-athread=native" setzt.


Neuer Shell-Prozess 9
9.Workbench:> sh
/Workbench> cd Download:Entwickler/ScummVm/
/Download/Entwickler/ScummVm> CXX=g++-11 CXXFLAGS="-O3 -athread=native -gstabs" ./configure
Running ScummVM configure...
Looking for C++ compiler... none found!
/Download/Entwickler/ScummVm>

Dann wird der C++ wieder nicht gefunden, ich verstehe das nicht, kann doch nicht so schwer sein unter AmigaOs4.1.

Ich hab ein völlig falsches SDK installiert, es war die erste veröffentlichte Version 53.24 und nicht 54.16.

Auch mit dem aktuellen SDK bekomme ich es nicht kompiliert unter AmigaOs4.1, ich verstehe das nicht.

Neuer Shell-Prozess 4
4.Workbench:> sh
/Workbench> CXXFLAGS="-O3 -athread=native -gstabs" LDFLAGS="-lpthreads"
/Workbench> cd Download:Entwickler/ScummVm/
/Download/Entwickler/ScummVm> ./configure
Running ScummVM configure...
Looking for C++ compiler... none found!
/Download/Entwickler/ScummVm> export CXXFLAGS="-O3 -athread=native -gstabs"
/Download/Entwickler/ScummVm> export LDFLAGS="-lpthreads"
/Download/Entwickler/ScummVm> ./configure
Running ScummVM configure...
Looking for C++ compiler... none found!
/Download/Entwickler/ScummVm> gcc -v
Using built-in specs.
COLLECT_GCC=/Workbench/SDK/gcc/ppc-amigaos/bin/8.4.0/gcc
COLLECT_LTO_WRAPPER=/Workbench/SDK/gcc/ppc-amigaos/bin/8.4.0/../libexec/gcc/ppc-amigaos/8.4.0/lto-wrapper
Target: ppc-amigaos
Configured with: /opt/adtools/gcc/repo/configure --with-bugurl=https://github.com/sba1/adtools/issues --with-pkgversion='adtools build 8.4.0' --host=ppc-amigaos --target=ppc-amigaos --disable-nls --prefix=/gcc --with-gmp=/opt/adtools/native-build/root-cross --with-mpfr=/opt/adtools/native-build/root-cross --with-mpc=/opt/adtools/native-build/root-cross --program-prefix=ppc-amigaos- --program-suffix=-8 --libexecdir=/gcc/libexec --enable-languages=c,c++ --enable-haifa --enable-sjlj-exceptions --disable-libstdcxx-pch --disable-tls --enable-threads=amigaos --enable-lto
Thread model: amigaos
gcc version 8.4.0 (adtools build 8.4.0)
/Download/Entwickler/ScummVm> CXX=g++-11 CXXFLAGS="-O3 -athread=native -gstabs" ./configure
Running ScummVM configure...
Looking for C++ compiler... none found!
/Download/Entwickler/ScummVm>


[ Dieser Beitrag wurde von Maijestro am 23.04.2023 um 18:22 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 18:48 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
@Maijestro:

Sorry, könntest du bitte noch einmal den Inhalt von config.log hier posten? Eigentlich sollte das mit dem neuen SDK gehen.

Hast du das SDK in ein neues Verzeichnis installiert? Oder über das alte?

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 19:00 Uhr

Maijestro
Posts: 408
Nutzer
Zitat:
Original von FlynnTheAvatar:
@Maijestro:

Sorry, könntest du bitte noch einmal den Inhalt von config.log hier posten? Eigentlich sollte das mit dem neuen SDK gehen.

Hast du das SDK in ein neues Verzeichnis installiert? Oder über das alte?


Hier noch mal der log:

Configure run on So Apr 23 18:56:57 2023
Invocation command line was:
configure
Saved environment variables:
AR="" AS="" ASFLAGS="" CPPFLAGS="" CXX="" CXXFLAGS="-O3 -athread=native -gstabs" DWP="" LD="ld" LDFLAGS="-lpthreads" PKG_CONFIG_LIBDIR="unset" RANLIB="" SDL_CONFIG="" STRIP="" WINDRES="" WINDRESFLAGS=""
testing compiler: g++
ld: cannot find -lpthreads
failure testing compiler: g++
testing compiler: c++
ld: cannot find -lpthreads
failure testing compiler: c++
testing compiler: clang++
configure: clang++: not found
failure testing compiler: clang++

Vielleicht verwende ich auch einfach nur die falsche Quelle von den SourceCode. Welche Quelle benutzt du?

Du mußt dich für nichts entschuldigen, ich bin froh das ich etwas Hilfe bekommen habe ;-)

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 19:10 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
@Maijestro:

Nein, es liegt nicht an den Sourcen.

Bitte lasse beim configure-Befehl die LDFLAGS weg. Also nur:
code:
CXX=g++-11 CXXFLAGS="-O3 -athread=native -gstabs" ./configure


Das war ein Fehler von mir; die Library pthreads gibt es nicht, das muss richtig pthread heißen. Also, -lpthread. Aber die brauchst du mit "-athread=native" nicht.

[ Dieser Beitrag wurde von FlynnTheAvatar am 23.04.2023 um 19:12 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 19:24 Uhr

Maijestro
Posts: 408
Nutzer
Zitat:
Original von FlynnTheAvatar:
@Maijestro:

Nein, es liegt nicht an den Sourcen.

Bitte lasse beim configure-Befehl die LDFLAGS weg. Also nur:
code:
CXX=g++-11 CXXFLAGS="-O3 -athread=native -gstabs" ./configure


Das war ein Fehler von mir; die Library pthreads gibt es nicht, das muss richtig pthread heißen. Also, -lpthread. Aber die brauchst du mit "-athread=native" nicht.

[ Dieser Beitrag wurde von FlynnTheAvatar am 23.04.2023 um 19:12 Uhr geändert. ]



Ok wir sind ein Stück weiter, dass ist erstmal der Weg, allerdings bekomme ich dennoch eine Fehlmeldung:

Neuer Shell-Prozess 7
7.Workbench:> sh
/Workbench> cd Download:Entwickler/ScummVm/
/Download/Entwickler/ScummVm> CXX=g++-11 CXXFLAGS="-O3 -athread=native -gstabs" ./configure
Running ScummVM configure...
Looking for C++ compiler... g++-11
Checking if compiler supports C++11... yes
Checking for compiler version... GCC 11.2.0, ok
Checking if C++11 initializer list is available... yes
Checking if C++11 std::nullptr_t is available... yes
Checking best debug mode... -gstabs + var tracking
Using LLD linker... no
Using Mold linker... no
Checking for whether C++ compiler accepts -Wglobal-constructors... no
Checking for whether C++ compiler accepts -Wno-undefined-var-template... no
Checking for whether C++ compiler accepts -Wno-pragma-pack... no
Checking for whether C++ compiler accepts -Wno-address-of-packed-member... yes
Checking endianness... big
Checking 64-bitness... no
Type with 1 byte... char
Type with 2 bytes... short
Type with 4 bytes... int
Type with 8 bytes... long long
Alignment required... no
Checking host CPU architecture... PowerPC
Checking hosttype... amigaos
Checking for pkg-config... yes
Looking for sdl-config... none found!
/Download/Entwickler/ScummVm>

Ich hab jetzt aber auch nur ./configure verwendet ohne zusätzlichen Optionen, aber das configure sollte dennoch durchlaufen oder nicht? Für die sdl-config würde ich gerne nur das Software rendering kompilieren ohne den OpenGL teil.



[ Dieser Beitrag wurde von Maijestro am 23.04.2023 um 19:27 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 19:34 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
@Maijestro:

Nein, ./configure ohne Optionen wird leider nicht durchlaufen, weil er ohne "-athread=native" beim Linken die Thread-Methoden nicht auflösen kann.

Du musst jetzt SDL2 installieren: https://github.com/AmigaPorts/SDL-2.0/releases/tag/v2.26.1-release-amigaos4

Dann noch einmal:
CXX=g++-11 CXXFLAGS="-O3 -athread=native -gstabs" ./configure

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 19:39 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
Wenn du kein OpenGL haben willst, musst du nach ./configure die Option --opengl-mode=none setzen.

Also:
code:
CXX=g++-11 CXXFLAGS="-O3 -athread=native -gstabs" ./configure  --opengl-mode=none


[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 20:01 Uhr

Maijestro
Posts: 408
Nutzer
@FlynnTheAvatar:


Ok configure läuft jetzt durch. Wie kompiliert man unter AmigaOs, auch mit make
oder ist es etwas anders ? Mit make erhalte ich folgende Fehlermeldung:

/SDK/newlib/include/stddef.h:2:15: fatal error: stddef.h: No such file or directory
2 | #include_next <stddef.h>
| ^~~~~~~~~~
compilation terminated.
gmake: *** [engines/glk/glulx/detection.o] Error 1
/Download/Entwickler/ScummVm>



[ Dieser Beitrag wurde von Maijestro am 23.04.2023 um 20:02 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 20:01 Uhr

smarkusg
Posts: 37
Nutzer
@Maijestro:

Ich empfehle das Material von George Sokianos über das SDK unter AOS4.

https://www.youtube.com/watch?v=YAOQkVkmHMM

Ich habe daraus sehr hilfreiche Dinge gelernt :-)

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 20:26 Uhr

Maijestro
Posts: 408
Nutzer
@smarkusg:

Danke, aber es ist für mich nicht hilfreich, da mein Englisch sehr begrenzt ist :-(

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 20:35 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
Zitat:
Original von Maijestro:
@FlynnTheAvatar:


Ok configure läuft jetzt durch. Wie kompiliert man unter AmigaOs, auch mit make
oder ist es etwas anders ? Mit make erhalte ich folgende Fehlermeldung:

/SDK/newlib/include/stddef.h:2:15: fatal error: stddef.h: No such file or directory
2 | #include_next <stddef.h>
| ^~~~~~~~~~
compilation terminated.
gmake: *** [engines/glk/glulx/detection.o] Error 1
/Download/Entwickler/ScummVm>



[ Dieser Beitrag wurde von Maijestro am 23.04.2023 um 20:02 Uhr geändert. ]


Das ist ein (bekannter?) Fehler. Den habe ich auch manchmal. Einfach noch einmal versuchen. Dann geht es durch.

Passiert manchmal, beim nächsten make geht es dann wieder. Keine Ahnung.

[ - Antworten - Zitieren - Direktlink - ]

23.04.2023, 21:40 Uhr

Maijestro
Posts: 408
Nutzer
[quote]
Original von FlynnTheAvatar:
Zitat:
Original von Maijestro:
@FlynnTheAvatar:

Das ist ein (bekannter?) Fehler. Den habe ich auch manchmal. Einfach noch einmal versuchen. Dann geht es durch.

Passiert manchmal, beim nächsten make geht es dann wieder. Keine Ahnung.


Du hast recht es läuft durch, allerdings habe ich jetzt den langen Weg gewählt wo alles mögliche von ScummVM mit kompiliert wird (ich denke das lässt sich noch abkürzen), dennoch freue ich mich das ich jemanden kennengelernt habe der dies bezüglich wirklich fähig und hilfestellung leisten kann/konnte.

Durch dich habe ich wieder dazu lernen können.....;-) Und bin mal wieder über die reine benutzung von AmigaOs4.1 hinaus gegangen. Natürlich werde ich diese erfahrungen mit anderen teilen und hier im Forum posten. Das Team von Amiga-News sagte mir noch vor kurzem das genau solche artikel bzw. Einträge hier im Forum fehlen.

Ich denke auch in Zukunfst werde ich einige Fragen dies bezüglich haben, mein Ziel ist es nicht nur AmigaOs4.1 nutzen zu können, sondern auch etwas produktives leisten zu können.

ScummVM war nur der erste Versuch überhaupt das Kompilieren unter AmigaOs4.1 verstehen zu können und auch weil ich es gerne nutzen möchte, derzeit funktioniert die Os4depot Version nicht unter none gl Maschinen mit 16bit Modis. Sicher es gibt Patches die es möglich machen wie "PatchCompositeTags" aber das ist für mich keine Lösung und sehr instabil.

[ Dieser Beitrag wurde von Maijestro am 23.04.2023 um 21:41 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

27.08.2023, 17:08 Uhr

Maijestro
Posts: 408
Nutzer
Ich benötige noch mal Hilfe beim Kompilieren direkt unter AmigaOs4.1. Den letzten aktuellen Source Code habe ich mir von http://www.bigorno.net/xrick/download.html runtergeladen und wollte das Spiel xrick kompilieren.

Im Readme steht das ein einfaches "./config; make" ausreichen sollte. Gut als bin ich in die abc-shell gegangen Befehl ausgeführt und dann gab es diese Fehlermeldung:


Neuer Shell-Prozess 8
8.Workbench:> sh
/Workbench> cd "RAM Disk:xrick-021212/"
/RAM Disk/xrick-021212> ./config; make
sh: ./config: not found
Makefile:29: Detected SDL version 1.2.16
/SDK/C/gmake -C src all
gmake[1]: Entering directory `/RAM Disk/xrick-021212/src'
gcc -g -ansi -pedantic -Wall -W -O2 -I /RAM Disk/xrick-021212/include -I/usr/local/amiga/include/SDL -D_GNU_SOURCE=1 -c unzip.c -o unzip.o
T:gmake.sh.316.JXWXBI[1]: gcc: not found
sh fehlgeschlagen, R¸ckgabewert 127
gmake[1]: *** [unzip.o] Error 127
gmake[1]: Leaving directory `/RAM Disk/xrick-021212/src'
gmake: *** [all] Error 2
/RAM Disk/xrick-021212>

Die os4depot Version funktioniert nicht und hat seltsame Verzerrungen im Spiel, deswegen wollte ich es selber kompilieren, aber anscheint bin ich zu blöd dafür :-D Eventuell liegt es auch daran das man sich ein Grund Entwickler System einrichten sollte mit allen Abhängigkeiten die benötigt werden um überhaupt einfachen Source Code kompilieren zu können.


--
Qemu Pegasos 2 AmigaOs4.1 FE Update 2

[ Dieser Beitrag wurde von Maijestro am 27.08.2023 um 17:10 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

27.08.2023, 18:27 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
Hallo @Maijestro:

Du machst schon fast alles richtig. Das mit ./config ist ein Fehler im README, die Datei existiert (nicht mehr).

Dein Fehler ist, dass GCC nicht gefunden wird. Das ist seltsam, weil du ja die ABC-Shell aus dem SDK aufrufen kannst. Kannst du bitte überprüfen, ob du einen GCC mit dem SDK installiert hast?

Und dann bitte schauen, ob du ein gcc-startup Skript in SDK:S hast. Das müsste so aussehen:
code:
assign GCC: SDK:gcc
assign LIB: SDK:gcc/lib
path add gcc:bin


Ggf das Skript einmal ausführen, und dann schauen, ob er den GCC jetzt findet.

Neben SDL-1 wird auch die unzip-Bibliothek benötigt. Die habe ich nicht, deswegen komme ich auch nicht viel weiter. Muss ich mir weiter anschauen.

[ - Antworten - Zitieren - Direktlink - ]

27.08.2023, 19:15 Uhr

FlynnTheAvatar
Posts: 46
Nutzer
Zusätzlich musste ich noch folgende Änderungen vornehmen, damit xrick kompiliert:

Im Makefile Zeilen 74 und 75 durch folgende ersetzen:
code:
@echo "CFLAGS=-fcommon -athread=native -gstabs -ansi -pedantic -Wall -W -O2 -I $(ROOTDIR)/include $(shell sdl-config --cflags)" >> Makefile.global
	@echo "LDFLAGS=-athread=native -lz $(shell sdl-config --libs)" >> Makefile.global


Das fügt die Option "-fcommon -athread=native" zu CFLAGS hinzu und ändert -g auf -gstabs. "-athread=native" wird auch zu LDFLAGS hinzugefügt. Das fixt doppelte Definitionen und fehlende Symbole beim Linken.

Aus der der Datei "src/syssnd.c" musst du die Zeile
code:
#include <memory.h>

entfernen.

Allerdings crasht die Datei meinen X5000...

[ - Antworten - Zitieren - Direktlink - ]

28.08.2023, 15:58 Uhr

Maijestro
Posts: 408
Nutzer
Zitat:
Original von FlynnTheAvatar:
Hallo @Maijestro:
Dein Fehler ist, dass GCC nicht gefunden wird. Das ist seltsam, weil du ja die ABC-Shell aus dem SDK aufrufen kannst. Kannst du bitte überprüfen, ob du einen GCC mit dem SDK installiert hast?


Ich bin mir nicht sicher wie ich das überprüfen kann, aber im SDK gibt es ein verdeckten Ordner Namens gcc der auch weitere Dateien enthält, ich denk das meinst du oder?

Zitat:
Und dann bitte schauen, ob du ein gcc-startup Skript in SDK:S hast. Das müsste so aussehen:
code:
assign GCC: SDK:gcc
assign LIB: SDK:gcc/lib
path add gcc:bin


Ggf das Skript einmal ausführen, und dann schauen, ob er den GCC jetzt findet.

Neben SDL-1 wird auch die unzip-Bibliothek benötigt. Die habe ich nicht, deswegen komme ich auch nicht viel weiter. Muss ich mir weiter anschauen.


Das Script gcc-startup befindet sich in SDK:S/ mit dem selben Inhalt den du gepostet hast. Wie führe ich das Script aus, muß ich es erst ausführbar und als script kennzeichnen bei den file einstellungen?

Also bevor ich mein SDK nicht in Ordnung gebracht habe, hat es wohl wenig sinn überhaupt erst irgendwas kompilieren zu wollen :-D


--
Qemu Pegasos 2 AmigaOs4.1 FE Update 2

[ - Antworten - Zitieren - Direktlink - ]

28.08.2023, 15:59 Uhr

Maijestro
Posts: 408
Nutzer
Zitat:
Original von FlynnTheAvatar:
Allerdings crasht die Datei meinen X5000...


Könnte ich es testen ob es bei mir auch Crasht?


--
Qemu Pegasos 2 AmigaOs4.1 FE Update 2

[ - Antworten - Zitieren - Direktlink - ]


-1- 2 [ - Beitrag schreiben - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > AmigaOs 4.1 SDK [ - Suche - Neue Beiträge - Registrieren - Login - ]


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