-
I've been trying to compile the OpenXDK from CVS and running into difficulties. It runs into problems trying to compile SDL_mixer. I'm cross compiling using mingw (3.4.4.20050522) under Debian. I also tried under Cygwin and ran into problems at the same point. The errors I get are as follows:
QUOTE
i386-pc-xbox-gcc -DENABLE_XBOX -DDISABLE_CDROM -DWAV_MUSIC -DMOD_MUSIC -I/usr/lo cal/openxdk/include -I./../newlib/newlib-1.12.0/i386-pc-xbox/newlib/targ-include -I../../newlib/newlib-1.12.0/newlib/libc/include -O2 -fomit-frame-pointer -std= gnu99 -ffreestanding -nostdlib -fno-builtin -fno-exceptions -mno-cygwin -march=i 386 -I../../sdl/SDL-1.2.7/include -I. -I./mikmod -I./timidity -c -o music.o mu sic.c
In file included from ./mikmod/mikmod.h:74,
from music.c:46:
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:76 : error: syntax error before "__time64_t"
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:78 : error: syntax error before "time_write"
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:81 : error: syntax error before '}' token
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:10 4: error: syntax error before "__time64_t"
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:10 6: error: syntax error before "time_write"
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:10 8: error: conflicting types for 'name'
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:80 : error: previous declaration of 'name' was here
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:10 9: error: syntax error before '}' token
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:14 9: error: syntax error before "lseek64"
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:14 9: error: syntax error before "off64_t"
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h: I n function `lseek64':
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:15 1: error: `fd' undeclared (first use in this function)
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:15 1: error: (Each undeclared identifier is reported only once
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:15 1: error: for each function it appears in.)
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:15 1: error: `offset' undeclared (first use in this function)
/usr/lib/gcc/i586-mingw32msvc/3.4.4/../../../../i586-mingw32msvc/include/io.h:15 1: error: `whence' undeclared (first use in this function)
make[2]: *** [music.o] Error 1
make[2]: Leaving directory `/home/osborner/src/openxdk/OpenXDK/build/SDL_mixer/S DL_mixer-1.2.5'
make[1]: *** [SDL_mixer-stamp] Error 2
make[1]: Leaving directory `/home/osborner/src/openxdk/OpenXDK'
make: *** [all-recursive] Error 1
Anyone else come across these problems? Is CVS simply broken at the moment (in which case what date would be a good one to retrive). Should I be using a different version of mingw? Am I doing something really dumb? Any advice would be appreciated.
-
You should attempt to disable compiling the SDL_Mixer module, since it's not supported. I didn't think it was turned on by default.
BTW, if you're doing this to get an opendasah binary.. I'm really sorry. I can send you one.
-Tom
-
QUOTE(d0wnlab @ Nov 27 2005, 09:17 PM)

You should attempt to disable compiling the SDL_Mixer module, since it's not supported. I didn't think it was turned on by default.
BTW, if you're doing this to get an opendasah binary.. I'm really sorry. I can send you one.
-Tom
Yep, I was wanting to try out OpenDash. I've managed to get it sorted now. These were the issues I came up against: (hopefully might help other people wanting to do the same)
SDL_Mixer doesn't build correctly from CVS. To fix this I needed to edit SDL_mixer-1.2.5/mikmod/mikmod.h and remove #include <io.h>. This got the OpenXDK building at least.
I needed to edit the includes in the OpenDash Makefile to contain /usr/local/opendash/include/SDL
I got error when compiling OpenDash with the built in type bool being redefined. To fix in /usr/local/openxdk/include/xboxkrnl/types.h I changed
QUOTE
typedef int bool;
to
QUOTE
#ifndef __cplusplus
typedef int bool;
#endif
Again I don't know if this is the right way to handle this problem but it allows me to build a OpenDash binary.
-
gj on getting it sorted.. if I have some time I will try to update openXDK cvs to compile cleanly - I don't think anyone else is touching it anymore.
-
QUOTE(d0wnlab @ Nov 29 2005, 03:45 AM)

gj on getting it sorted.. if I have some time I will try to update openXDK cvs to compile cleanly - I don't think anyone else is touching it anymore.
It should compile fine as it is - at least it did last time I looked, and I don't think anyone else has tinkered with sdl_mixer since I last did.
From what friedgold said (specifically the redefined bool comment) it sounds like he is trying to compile opendash using g++ instead of plain old gcc. Always best to stick to gcc where openxdk is concerned.
Carcharius
-
QUOTE(Carcharius @ Nov 29 2005, 02:23 PM)

It should compile fine as it is - at least it did last time I looked, and I don't think anyone else has tinkered with sdl_mixer since I last did.
From what friedgold said (specifically the redefined bool comment) it sounds like he is trying to compile opendash using g++ instead of plain old gcc. Always best to stick to gcc where openxdk is concerned.
Carcharius
OpenDash is a c++ application. I was very careful (IMG:style_emoticons/default/smile.gif).
-
Well I've just decided to have another look at some OpenXDK stuff and have spent the morning setting up cygwin and building OpenXDK again.
It's on a different system to when I last worked on OpenXDK a few months ago, so I've had to start from scratch.
Despite what I said before, freidgold is perfectly correct in saying there is an error when building sdl_mixer. There must have been something peculiar with my previous cygwin install so I didn't notice before.
Anyway, I've incorporated a fix for the problem and will update the CVS in the next few days or so.
-
Just a bump to let the devs know this problem still exists in the cvs and that I'm too much of a noob to fix it. It compiles with friedgold's changes though.
-
Yeah I never did get round to updating the cvs.
However, there are some fairly big changes to OpenXDK on the way so I probably won't bother now.