I'm pretty new to this packaging and cross-compiling, but I put
together a couple packages anyway:
They seem to work quite well for me, but I don't really know what I'm
doing, so I'd appreciate more knowledgeable folk looking over my spec
Here's what I did and where everything came from: (all in F11)
1) I set up my .rpmmacros so it would store sources in separate
directories by package name-version by adding this line:
I was worried that multiple source rpms would have files in them with
the same name (which turned out to be the case) and I wanted to make
sure I could tell what packages what files came from.
2) I used yumdownloader to download source rpms for SDL SDL_mixer
SDL_image and SDL and installed them in my local rpmbuild tree
3) I duplicated SOURCES/SDL_image-1.2.6/ to SOURCES/mingw32-SDL_image-1.2.6/
4) I copied SPECS/mingw32-SDL-1.2.13.spec to SPECS/mingw32-SDL_image-1.2.6.spec
5) I edited that new spec file, mostly by looking at existing
SDL_image-1.2.6.spec and pulling useful parts from it. tweaking as
And basically did the same for SDL_mixer.
I didn't modify anything in the SOURCES folder (just copied whole
folders as described above).
I used all the patches that were used for the native versions.
I commented out lines to install (and build in one case) little
executable programs from both packages that I didn't understand the
I've cross-compiled my game (vor) which uses both of these libraries,
and it works great under wine. (Gets at least 40% better framerate
under wine than it does when compiled for linux.) Though I have not
tested them on Windows.
I have a fedoraproject.org account (so I can edit the wiki and such)
but don't have any connections or access or anything to get these into
the fedora distrobution. If/when they are ready, I'd love someone to
take care of this, or help me do it. Right now I don't even know what
the process is.
Looking forward to hearing your thoughts/feedback.
Take care, - Jason
Recent update from gcc 4.4.0 prerelease to 4.4.1 postrelease apparently
broke debug information support in binaries. A non-stripped binary
compiled with the new gcc would produce the following error:
$ wine dummy.exe
wine: could not load L"Z:\\home\\kalev\\tmp\\dummy.exe": Bad EXE format for
Stripping the binary works around that error.
The binaries contain a new .debug_pubtypes section , and because of
that binutils also need to be updated. Any objections if I update the
binutils in rawhide to version 220.127.116.11.14, which is the same as in
native Fedora binutils package? That should fix the broken debuginfo in
newly compiled programs.
However, several packages which were compiled with the new gcc but old
binutils now have broken debuginfo. Those will need to be rebuilt. Any
suggestions on how to do that?