sdlBasic für CAANOO


Isendrak

Still Fresh
Joined
Jul 3, 2010
Messages
12
Age
36
Da GLBasic immer noch keine Compiler Option für den CAANOO hat, hab ich mal nach alternativen gesucht und bin dabei auf sdlBasic gestossen. (http://www.sdlbasic.altervista.org/main/index.php)

Es gibt zwar keine CAANOO-Binaries des Interpreters, aber da es welche für GP2X/WIZ gibt, dachte ich 'n Port/Recompile für CAANOO müsste machbar sein.

Hab's auch fast geschafft, aber jetzt meckert der Compiler dass er "-lSDL" nich findet:
Code:
<i>
</i>/opt/GPH_SDK/tools/gcc-4.2.4-glibc-2.7-eabi/bin/../lib/gcc/arm-gph-linux-gnueabi/4.2.4/../../../../arm-gph-linux-gnueabi/bin/ld: cannot find -lSDL
collect2: ld returned 1 exit status
make: *** [../../bin/sdlBrt] Fehler 1

Bisher hab ich immerhin rausgefunden, dass die Static Version der SDL (libSDL.a) benötigt wird, hab aber nur die Dynamic Version (libSDL.so) finden können. :confused:??

Hab auch versucht, die SDL vom Sourcecode zu kompilieren, aber es nich hinbekommen (Compilerausgabe, siehe Anhang). :dash:


Lange Rede, kurzer Sinn:
Falls jemand die Static Versionen der SDL für den CAANOO hat, würde das sehr helfen. ;)
 

Attachments

  • make_log.zip
    5.7 KB · Views: 323
Ganz einfach: Symlinke deine /usr/lib/libSDL-1.2.so.irgendwelche_Zahlen einfach auf /usr/lib/libSDL.so, dann findet der -lSDL auch
 
Bringt leider nix.

Wenn ich versuch die libSDL.so (mit -Bdynamic -lSDL oder -l:libSDL.so) zu verwenden gibt mir der Compiler das hier:
/opt/GPH_SDK/tools/gcc-4.2.4-glibc-2.7-eabi/bin/../arm-gph-linux-gnueabi/sys-root/usr/lib/crt1.o: In function `_start':
init.c:(.text+0x2c): undefined reference to `__libc_csu_fini'
init.c:(.text+0x34): undefined reference to `__libc_csu_init'
SDLengine/SDLengine.a(SDLengine.o): In function `terminate':
/tmp/sdlBasic/src/sdlBrt/SDLengine/SDLengine.c:454: undefined reference to `Mix_CloseAudio'
/tmp/sdlBasic/src/sdlBrt/SDLengine/SDLengine.c:455: undefined reference to `atexit'
SDLengine/SDLengine.a(SDLengine.o): In function `initialize':
/tmp/sdlBasic/src/sdlBrt/SDLengine/SDLengine.c:257: undefined reference to `atexit'
/tmp/sdlBasic/src/sdlBrt/SDLengine/SDLengine.c:265: undefined reference to `Mix_OpenAudio'
/tmp/sdlBasic/src/sdlBrt/SDLengine/SDLengine.c:273: undefined reference to `Mix_AllocateChannels'
SDLengine/SDLengine.a(file_io.o): In function `loadmusic':
/tmp/sdlBasic/src/sdlBrt/SDLengine/file_io.c:256: undefined reference to `Mix_FreeMusic'
/tmp/sdlBasic/src/sdlBrt/SDLengine/file_io.c:257: undefined reference to `Mix_LoadMUS'
SDLengine/SDLengine.a(file_io.o): In function `loadzipsound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/file_io.c:189: undefined reference to `Mix_FreeChunk'
/tmp/sdlBasic/src/sdlBrt/SDLengine/file_io.c:190: undefined reference to `Mix_LoadWAV_RW'
SDLengine/SDLengine.a(file_io.o): In function `loadsound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/file_io.c:156: undefined reference to `Mix_FreeChunk'
/tmp/sdlBasic/src/sdlBrt/SDLengine/file_io.c:157: undefined reference to `Mix_LoadWAV_RW'
SDLengine/SDLengine.a(sound.o): In function `speedmusic':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:390: undefined reference to `Mix_SetSynchroValue'
SDLengine/SDLengine.a(sound.o): In function `volumemusic':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:378: undefined reference to `Mix_VolumeMusic'
SDLengine/SDLengine.a(sound.o): In function `fademusic':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:351: undefined reference to `Mix_VolumeMusic'
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:354: undefined reference to `Mix_VolumeMusic'
SDLengine/SDLengine.a(sound.o): In function `fademusichandler':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:362: undefined reference to `Mix_VolumeMusic'
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:362: undefined reference to `Mix_VolumeMusic'
SDLengine/SDLengine.a(sound.o):/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:364: more undefined references to `Mix_VolumeMusic' follow
SDLengine/SDLengine.a(sound.o): In function `fademusichandler':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:365: undefined reference to `Mix_HaltMusic'
SDLengine/SDLengine.a(sound.o): In function `stopmusic':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:298: undefined reference to `Mix_HaltMusic'
SDLengine/SDLengine.a(sound.o): In function `rewindmusic':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:334: undefined reference to `Mix_RewindMusic'
SDLengine/SDLengine.a(sound.o): In function `resumemusic':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:322: undefined reference to `Mix_ResumeMusic'
SDLengine/SDLengine.a(sound.o): In function `pausemusic':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:310: undefined reference to `Mix_PauseMusic'
SDLengine/SDLengine.a(sound.o): In function `positionmusic':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:287: undefined reference to `Mix_SetMusicPosition'
SDLengine/SDLengine.a(sound.o): In function `playmusic':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:268: undefined reference to `Mix_PlayMusic'
SDLengine/SDLengine.a(sound.o): In function `soundchannels':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:256: undefined reference to `Mix_AllocateChannels'
SDLengine/SDLengine.a(sound.o): In function `positionsound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:245: undefined reference to `Mix_SetPosition'
SDLengine/SDLengine.a(sound.o): In function `vumetersound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:234: undefined reference to `Mix_Playing'
SDLengine/SDLengine.a(sound.o): In function `resumesound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:222: undefined reference to `Mix_Resume'
SDLengine/SDLengine.a(sound.o): In function `pausesound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:210: undefined reference to `Mix_Pause'
SDLengine/SDLengine.a(sound.o): In function `stopsound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:199: undefined reference to `Mix_HaltChannel'
SDLengine/SDLengine.a(sound.o): In function `volumesound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:188: undefined reference to `Mix_Volume'
SDLengine/SDLengine.a(sound.o): In function `playfreqsound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:169: undefined reference to `Mix_PlayChannelTimed'
SDLengine/SDLengine.a(sound.o): In function `playsound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:143: undefined reference to `Mix_PlayChannelTimed'
SDLengine/SDLengine.a(sound.o): In function `deletesound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:70: undefined reference to `Mix_FreeChunk'
SDLengine/SDLengine.a(sound.o): In function `copysound':
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:104: undefined reference to `Mix_FreeChunk'
/tmp/sdlBasic/src/sdlBrt/SDLengine/sound.c:105: undefined reference to `Mix_QuickLoad_RAW'
SDLengine/SDLengine.a(video_mpeg.o): In function `deletempeg':
/tmp/sdlBasic/src/sdlBrt/SDLengine/video_mpeg.c:109: undefined reference to `Mix_OpenAudio'
/tmp/sdlBasic/src/sdlBrt/SDLengine/video_mpeg.c:113: undefined reference to `Mix_AllocateChannels'
SDLengine/SDLengine.a(video_mpeg.o): In function `loadmpeg':
/tmp/sdlBasic/src/sdlBrt/SDLengine/video_mpeg.c:57: undefined reference to `Mix_CloseAudio'
collect2: ld returned 1 exit status
make: *** [../../bin/sdlBrt] Fehler 1
Ansonsten nur "cannot find -lSDL".

Wie bereits erwähnt, brauch ich die libSDL.a (Static Library), die ich aber nirgends auftreiben konnte.

P.S.: Hab inzwischen die GP2X/WIZ Version von sdlBasic mit GINGE zum laufen gebracht, aber 'n natives Binary für'n CAANOO wär mir schon lieber. (Besonders weil GINGE den Touchscreen nich unterstützt...)
 
Mal ne Gegenfrage: Wieso möchtest du es statisch kompilieren? Sind die onboard SDL Libs so scheiße?
 
Mhm, laut dem Log - File fehlen dem Compiler die Dateien GL/gl.h und GL/glu.h und deswegen geht es nicht weiter. Die Bereitstellung andere SDL - Libraries bringen nichts, solange er die Header - Datei nicht kompilieren kann.

Hast Du die Datei gl.h und glu.h auf deinem System und dem Compiler die Position übergeben?

Gruß
Thomas
 
@Ziz: Das Problem ist nich, dass die OnBoard SDL "scheiße" ist, sondern, dass da nur die Dynamic Libs dabei sind (libSDL*.so.*).
Allerdings benötigt sdlBasic (aus welchem Grund auch immer...) die Static Libs (libSDL_*.a, libSDL_*.la), die ich aber nirgends finden konnte.

@KidPaddle: Jetzt schon.

Allerdings gibt's jetzt folgende Meldung:
Code:
<i>
</i>make: *** Keine Regel vorhanden, um das Target »src/video/wizhard.c«, 
  benötigt von »build/wizhard.lo«, zu erstellen.  Schluss.
Das Verzeichnis "src/video/" hab ich gefunden. Aber die "wizhard.c" oder auch "wizhard.*" sind nich aufzufinden...

P.S.: Google sagt zu "src/video/wizhard.c" nur "Meinten Sie: src/video/wizard.c" aber auch die ist nich vorhanden...
 
Isendrak said:
Da GLBasic immer noch keine Compiler Option für den CAANOO hat,

ist lt. Entwickler gleich als nächstes dran...

http://www.glbasic.com/forum/index.php?topic=6493.msg52228#msg52228
 
Wieso sind im sdl-header die mixer-funktionen drin? du solltest -lSDL-mixer beim Linken mit angeben.
Der Soumd gehoert nicht zum Standardumfang jedes SDL
 
@carli:
Falls du mit "sdl-header" die "SDLengine.h" meinst, im makefile steht folgende Zeile:
Code:
<i>
</i>LIBS=-L/opt/GPH_SDK/tools/gcc-4.2.4-glibc-2.7-eabi/lib -Wl,-rpath -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net -lSDL -lsmpeg -lpng -ltiff -lz -ljpeg -lpthread -lm -lfreetype -ldl
Mit dabei auch "-lSDL_mixer".
P.S.: Aus welchem Grund der Code so augebaut ist, wie er ist: Keine Ahnung... Aber ich versuch das Beste draus zu machen...

@Kosta: Das klingt doch mal interessant. Bisher hab ich überall nur gelesen: "Kommt bald.", "Bisher noch nicht." oder ähnliches...
 
Back
Top