Cross-compiling problems with SDL-1.2.9

Hello,

I am trying to cross-compile the SDL for ARM. I need it to run spcaview on
my embedded platform.

These are the command I gave
./configure --build arm --host arm-linux
make

I get the following error.

Please help.

arm-linux-gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME=""
-DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT=""
-DPACKAGE=“SDL” -DVERSION=“1.2.9” -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
-DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -I. -I. -g -O2 -Wall
-DENABLE_DUMMYVIDEO -DDISKAUD_SUPPORT -DUSE_DLOPEN -DOSS_SUPPORT
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/include/kde/artsc
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DESD_SUPPORT
-DESD_DYNAMIC=“libesd.so.0” -I/usr/X11R6/include -DENABLE_X11 -DXTHREADS
-I./include -I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_DGAMOUSE
-DDEFAULT_DGAMOUSE -DXFREE86_XV -DHAVE_XINERAMA -Isrc/video -DENABLE_DGA
-DENABLE_FBCON -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS
-DHAVE_SIGACTION -DHAVE_LINUX_VERSION_H -I…/…/…/include
-I…/…/…/include/SDL -I…/…/…/src -I…/…/…/src/main/linux
-I…/…/…/src/audio -I…/…/…/src/video
-I…/…/…/src/video/XFree86/extensions -I…/…/…/src/events
-I…/…/…/src/joystick -I…/…/…/src/cdrom -I…/…/…/src/thread
-I…/…/…/src/timer -I…/…/…/src/endian -I…/…/…/src/file
-I…/…/…/src/thread -MT SDL_esdaudio.lo -MD -MP -MF .deps/SDL_esdaudio.Tpo
-c SDL_esdaudio.c -fPIC -DPIC -o .libs/SDL_esdaudio.o
SDL_esdaudio.c:39:17: esd.h: No such file or directory
SDL_esdaudio.c:74: error: parse error before "format"
SDL_esdaudio.c:80: warning: dereferencing type-punned pointer will break
strict-aliasing rules
SDL_esdaudio.c:81: warning: dereferencing type-punned pointer will break
strict-aliasing rules
SDL_esdaudio.c:82: warning: dereferencing type-punned pointer will break
strict-aliasing rules
SDL_esdaudio.c: In function ESD_OpenAudio': SDL_esdaudio.c:284: error:esd_format_t’ undeclared (first use in this
function)
SDL_esdaudio.c:284: error: (Each undeclared identifier is reported only once
SDL_esdaudio.c:284: error: for each function it appears in.)
SDL_esdaudio.c:284: error: parse error before "format"
SDL_esdaudio.c:287: error: format' undeclared (first use in this function) SDL_esdaudio.c:287: error:ESD_STREAM’ undeclared (first use in this
function)
SDL_esdaudio.c:287: error: ESD_PLAY' undeclared (first use in this function) SDL_esdaudio.c:290: error:ESD_BITS8’ undeclared (first use in this
function)
SDL_esdaudio.c:293: error: ESD_BITS16' undeclared (first use in this function) SDL_esdaudio.c:300: error:ESD_MONO’ undeclared (first use in this
function)
SDL_esdaudio.c:302: error: ESD_STEREO' undeclared (first use in this function) make[3]: *** [SDL_esdaudio.lo] Error 1 make[3]: Leaving directory/home/sidd/src/SDL-1.2.9/src/audio/esd’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory /home/sidd/src/SDL-1.2.9/src/audio' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/home/sidd/src/SDL-1.2.9/src’
make: *** [all-recursive] Error 1

Siddarth Gore wrote:

./configure --build arm --host arm-linux

Are you really building on ARM? The fact you say 'cross-compile’
suggests otherwise.

SDL_esdaudio.c:39:17: esd.h: No such file or directory

It seems you are also missing the headers for the ESD library, which you
probably don’t want to use anyway for an embedded build. If you’re
compiling on x86 as I suspect, then the above (–build arm) is probably
the reason that configure didn’t detect that ESD is missing and
automatically exclude support for it.

Dan

Thanks for the reply. Let me clear the confusion.

I am building for ARM on x86. Ultimetly I want this, so that I can compile
spcaview for ARM on x86 and then run the excecutable on ARM platform.

I tried removing the --build arm option but am still getting the same error.

siddarthOn 1/12/06, Daniel Cassidy wrote:

Siddarth Gore wrote:

./configure --build arm --host arm-linux

Are you really building on ARM? The fact you say 'cross-compile’
suggests otherwise.

SDL_esdaudio.c:39:17: esd.h: No such file or directory

It seems you are also missing the headers for the ESD library, which you
probably don’t want to use anyway for an embedded build. If you’re
compiling on x86 as I suspect, then the above (–build arm) is probably
the reason that configure didn’t detect that ESD is missing and
automatically exclude support for it.

Dan


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

Siddarth Gore wrote:

I am building for ARM on x86. Ultimetly I want this, so that I can compile spcaview for ARM on x86 and then run the excecutable on ARM platform.
I tried removing the --build arm option but am still getting the same error.

As I thought.

Since the error persists, you need to determine whether or not you
require ESD support, and if not (for an embedded build you probably do
not want ESD), disable it by adding --disable-esd to the configure
options. If you do require ESD, you will need to compile that for
arm-linux first and have it installed somewhere where the arm-linux
compiler can find it.

See ./configure --help for more configure options. You will probably
need to choose options carefully for your target platform and not rely
on defaults (for example, I suspect that none of the default display
drivers will be appropriate). You may also find that configure fails to
autodetect the asbsence of other optional libraries and that you will
get similar errors to the above if you do not explicitly exclude them
(or compile them yourself first).

Dan

SDL_esdaudio.c:39:17: esd.h: No such file or directory

You should have gotten this error in the configure script:

checking for ESD - version >= 0.2.8… no
*** The esd-config script installed by ESD could not be found
*** If ESD was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the ESD_CONFIG environment variable to the
*** full path to esd-config.

And it shouldn’t have tried to include esound support. The question
should be why it thought you had libesd installed when you in fact don’t.

–ryan.