[TiLUG] problema compilazione statica

Daniele (Mastro) daniele.bilug@gmail.com
Mer 11 Lug 2007 11:56:49 CEST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

vroby ha scritto:
> ciao,
> sono sul disperato. Da due giorni lotto per convincere il compilatore a 
> compilarmi il runtime di sdlBasic in statico
> Lui continua imperterrito ad inondarmi di errori che francamente non 
> capisco.
> La mia impressione e' che manchi qualche libreria da linkare ma non 
> capisco quale.....
> 
> Non e' che qualche anima pia mi da una mano a capire che cavolo vuole?
> 
> Allego l'output:
> 
> g++ -static -Wall -g -O2 -I/usr/include/SDL -D_REENTRAT -DPLAY_MOD 
> -DUNIX -DLINUX -o ../../bin/sdlBrt sdlBrt.o unzip/unzip.a 
> BASengine/BASengine.a SDLengine/SDLengine.a -Wl,-rpath, -lSDL 
> -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net -lvorbisfile -lvorbis -logg 
> -lsmpeg -lpthread -lm -lfreetype -lSDL -lpng -ljpeg -ltiff -lz -lasound 
> -lartsc  -ldl
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_x11gl.o): 
> In function `X11_GL_LoadLibrary':
> (.text+0x1a6): warning: Using 'dlopen' in statically linked applications 
> requires at runtime the shared libraries from the glibc version used for 
> linking
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL_mixer.a(mdriver.o): 
> In function `MD_DropPrivileges':
> (.text+0xc4a): warning: Using 'getpwnam' in statically linked 
> applications requires at runtime the shared libraries from the glibc 
> version used for linking
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL_net.a(SDLnet.o): 
> In function `SDLNet_ResolveIP':
> (.text+0x60): warning: Using 'gethostbyaddr' in statically linked 
> applications requires at runtime the shared libraries from the glibc 
> version used for linking
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL_net.a(SDLnet.o): 
> In function `SDLNet_ResolveHost':
> (.text+0xb5): warning: Using 'gethostbyname' in statically linked 
> applications requires at runtime the shared libraries from the glibc 
> version used for linking
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_esdaudio.o): 
> In function `ESD_CloseAudio':
> (.text+0x196): undefined reference to `esd_close'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_esdaudio.o): 
> In function `ESD_OpenAudio':
> (.text+0x426): undefined reference to `esd_play_stream'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_esdaudio.o): 
> In function `Audio_Available':
> (.text+0x537): undefined reference to `esd_open_sound'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_esdaudio.o): 
> In function `Audio_Available':
> (.text+0x543): undefined reference to `esd_close'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_CloseAudio':
> (.text+0x146): undefined reference to `AuCloseServer'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_WaitAudio':
> (.text+0x192): undefined reference to `AuNextEvent'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_WaitAudio':
> (.text+0x1a6): undefined reference to `AuDispatchEvent'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_PlayAudio':
> (.text+0x1f2): undefined reference to `AuNextEvent'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_PlayAudio':
> (.text+0x206): undefined reference to `AuDispatchEvent'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_PlayAudio':
> (.text+0x252): undefined reference to `AuWriteElement'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `Audio_Available':
> (.text+0x2a6): undefined reference to `AuOpenServer'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `Audio_Available':
> (.text+0x2b4): undefined reference to `AuCloseServer'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_OpenAudio':
> (.text+0x383): undefined reference to `AuOpenServer'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_OpenAudio':
> (.text+0x3e9): undefined reference to `AuCreateFlow'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_OpenAudio':
> (.text+0x403): undefined reference to `AuCloseServer'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_OpenAudio':
> (.text+0x530): undefined reference to `AuSetElements'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_OpenAudio':
> (.text+0x56a): undefined reference to `AuRegisterEventHandler'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_nasaudio.o): 
> In function `NAS_OpenAudio':
> (.text+0x58c): undefined reference to `AuStartFlow'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_DirectFB_video.o): 
> In function `SetDirectFBerror':
> (.text+0xe51): undefined reference to `DirectFBErrorString'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_DirectFB_video.o): 
> In function `DirectFB_SetVideoMode':
> (.text+0x14c0): undefined reference to `DirectFBError'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_DirectFB_video.o): 
> In function `DirectFB_VideoInit':
> (.text+0x15dc): undefined reference to `DirectFBInit'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_DirectFB_video.o): 
> In function `DirectFB_VideoInit':
> (.text+0x15f2): undefined reference to `DirectFBCreate'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_VideoQuit':
> (.text+0x3ba): undefined reference to `aa_uninitkbd'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_VideoQuit':
> (.text+0x3cb): undefined reference to `aa_uninitmouse'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_VideoQuit':
> (.text+0x400): undefined reference to `aa_close'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_DirectUpdate':
> (.text+0x62b): undefined reference to `aa_renderpalette'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_DirectUpdate':
> (.text+0x656): undefined reference to `aa_flush'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_VideoInit':
> (.text+0x74a): undefined reference to `aa_parseoptions'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_VideoInit':
> (.text+0x757): undefined reference to `aa_defparams'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_VideoInit':
> (.text+0x75c): undefined reference to `aa_autoinit'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_VideoInit':
> (.text+0x780): undefined reference to `aa_autoinitkbd'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_VideoInit':
> (.text+0x7a1): undefined reference to `aa_autoinitmouse'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_VideoInit':
> (.text+0x7b4): undefined reference to `aa_getrenderparams'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_VideoInit':
> (.text+0x7d9): undefined reference to `aa_resizehandler'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_ResizeHandler':
> (.text+0x8e0): undefined reference to `aa_resize'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_ResizeHandler':
> (.text+0x98a): undefined reference to `aa_renderpalette'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aavideo.o): 
> In function `AA_ResizeHandler':
> (.text+0x999): undefined reference to `aa_flush'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aaevents.o): 
> In function `AA_PumpEvents':
> (.text+0x256): undefined reference to `aa_getmouse'
> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libSDL.a(SDL_aaevents.o): 
> In function `AA_PumpEvents':
> (.text+0x36e): undefined reference to `aa_getevent'
> collect2: ld returned 1 exit status
> make: *** [../../bin/sdlBrt] Error 1
> 
> 

in debian il pacchetto con quella libreria è questo:
libsdl1.2-dev

cmq qui ti manca semplicemente un opzione da passare al linker IMHO

solo che non so quale sia l'opzione

prova -lSDL
o -lSDLmain
o entrambe

- --
Una volta ho fatto ricorso al TAR.  Ma in appello il GZIP mi ha condannato.
                -- Andrea `Zuse' Balestrero

blog: http://natonelbronx.wordpress.com/
Daniele
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGlKlhgSF24OYDe4YRAloPAKCCnMvIYk2ExgebYjhr8Jcwr3bcLQCcCgn+
iy/4pSSzN+DWr81jcJL/Oeo=
=FTFz
-----END PGP SIGNATURE-----



Maggiori informazioni sulla lista TiLUG