GP2X Toolchain


ldesnogu

Well-Known Member
Joined
Dec 26, 2006
Messages
1,049
Age
55
Location
France
Website
Visit site
I am wondering what people use as toolchain.

I opted for oopo's based gp2xdev, but I am wondering if anyone tried some more uptodate version of gcc (GPH provides 4.0.3).
gcc is improving quickly and the ARM support has been greatly improved partially thanks to CodeSourcery (at ARM, where I work, we use CodeSourcery gcc).
 
I use devkitGP2X from devkitPro, but it seems to have been relegated to the bastard child category since they do not wish to acknowledge it on the devkitPro webpage or in their updater, and it has not been updated since its first release. It is great for me, being a Windows user, because it does not require cygwin, msys or any other wanna-be-Unix layer.

I tried to download and build the Open2X toolchain, but there is at least one directory in the source tree that contains files that only differ in case, and being a Windows user this does not work (case-insensitive file system). No-one else seems to care about this though, so Open2X is a no-go for any Windows users.
 
colinux is probably kinda a pain, but it's another option too, and at least it should get around any cygwin incompatabilities.
 
I tried coLinux with both the Gentoo and Fedora distributions and could never get the networking to work. This was despite working through the wiki and documentation. So unfortunately that didn't get very far.
 
I used devkitGP2X, but dropped it since it does not have SDL compiled with thread support ( -> no sound).

I then tried GPH officiel devkit, but dropped it also because this gcc lacks the -msoft-float feature (no libfloat).

Then I installed ooPo's devkit, and it solved all these issues.
 
I tried to download and build the Open2X toolchain, but there is at least one directory in the source tree that contains files that only differ in case, and being a Windows user this does not work (case-insensitive file system). No-one else seems to care about this though, so Open2X is a no-go for any Windows users.

The only mixed case files I can see are in a kernel tree, why would you download a kernel to build a tool-chain? As for no-one seems to care? Did you raise a SF.Net bug report, email or pop onto IRC? I have been a bit AWOL lately (last 2 months I guess) with some personal and work crap so if you did sorry I missed it.

The current Open2x scripts build a working tool-chain on Linux, the few BSD's I tried and Cygwin but (and there is a but) Oopo does not do anything in the GP2X scene any more so they are fairly unsupported and I personally have some issues with them from a standards point of view.

The original Open2x scripts I did were based of a very tweaked version of a build script called CrossTool and I am giving serious consideration to putting those scripts back into SVN as the current 'supported' build scripts. Oopo's tool-chain generates bad tool names that do not follow the GNU guidelines so make using it with things like configure and real arse at times, not at all good :). Other then that it is solid but not the way I would do things and as they are unsupported I see that as a problem.

With a little knowledge of shell scripts and makefiles the scripts that build the libraries in Open2x's SVN can be used with just about any tool-chain you care to use if you’re so inclined.

The local scripts I have for my own tool-chains are based on GCC 4.1 with some custom patches (pragma fixes and the like) that have not hit mainline ARM yet. I also have a set of scripts that build the 3.4.6 based tool-chain you can use for Open2x kernel/firmware development. I have these at home and I guess I could upload them somewhere; they would form the basis of anything I put back into SVN anyway.
 
Last edited by a moderator:
Thought I'd reply here instead of start a new topic since this is about open2x

I grabbed the SVN tonight and tried a build, all goes well until near the end. (i'm on ubuntu 7.04 amd64)

CODE

make[2]: Entering directory `/home/sgeorge/outside/open2x/toolchain/glibc-2.3.5'
autoconf sysdeps/unix/sysv/linux/configure.in > sysdeps/unix/sysv/linux/configure.new
autoconf: Undefined macros:
***BUG in Autoconf--please report*** AC_FD_MSG
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_MSG
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_MSG
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_MSG
***BUG in Autoconf--please report*** AC_FD_MSG
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_MSG
***BUG in Autoconf--please report*** AC_FD_MSG
***BUG in Autoconf--please report*** AC_FD_CC
***BUG in Autoconf--please report*** AC_FD_MSG
make[2]: Failed to remake makefile `/home/sgeorge/outside/open2x/toolchain/glibc-2.3.5/build-open2x-stage1/config.make'.
/usr/bin/install -c -m 644 include/limits.h /opt/open2x/open2x/include/limits.h
/usr/bin/install -c -m 644 include/values.h /opt/open2x/open2x/include/values.h
/usr/bin/install -c -m 644 include/features.h /opt/open2x/open2x/include/features.h
/usr/bin/install -c -m 644 include/gnu-versions.h /opt/open2x/open2x/include/gnu-versions.h
/usr/bin/install -c -m 644 linuxthreads/sysdeps/pthread/bits/libc-lock.h /opt/open2x/open2x/include/bits/libc-lock.h
/usr/bin/install -c -m 644 include/bits/xopen_lim.h /opt/open2x/open2x/include/bits/xopen_lim.h
/usr/bin/install -c -m 644 include/gnu/libc-version.h /opt/open2x/open2x/include/gnu/libc-version.h
/usr/bin/install -c -m 644 /home/sgeorge/outside/open2x/toolchain/glibc-2.3.5/build-open2x-stage1/gnu/lib-names.h /opt/open2x/open2x/include/gnu/lib-names.h
/usr/bin/install: cannot stat `/home/sgeorge/outside/open2x/toolchain/glibc-2.3.5/build-open2x-stage1/gnu/lib-names.h': No such file or directory
make[2]: *** [/opt/open2x/open2x/include/gnu/lib-names.h] Error 1
make[2]: Leaving directory `/home/sgeorge/outside/open2x/toolchain/glibc-2.3.5'
make[1]: *** [install-headers] Error 2
make[1]: Leaving directory `/home/sgeorge/outside/open2x/toolchain/glibc-2.3.5/build-open2x-stage1'
make: *** [/opt/open2x/open2x/include/stdio.h] Error 2



anyone got any ideas on what I need to do to fix it?
 
YakumoFuji said:
anyone got any ideas on what I need to do to fix it?
Are you building toolchain or toolchain-new? If I had to guess I would say your building the legacy toolchain not the supported one (toolchain-new).

I must confess I have not tried it on a x64 7.04 but the toolchain-new scripts work on 7.04 PPC and x86 ok.

Take a peek at the O2X WiKi (wiki.open2x.org) for info on the right SVN modules to use for building your own chain.

John
 
Last edited by a moderator:
DJWillis said:
YakumoFuji said:
anyone got any ideas on what I need to do to fix it?
Are you building toolchain or toolchain-new? If I had to guess I would say your building the legacy toolchain not the supported one (toolchain-new).

I must confess I have not tried it on a x64 7.04 but the toolchain-new scripts work on 7.04 PPC and x86 ok.

Take a peek at the O2X WiKi (wiki.open2x.org) for info on the right SVN modules to use for building your own chain.

John



erm.. I guess its legacy. I followed the gp2xwiki instructions here

and checkedout on https://svn.sourceforge.net/svnroot/open2x/trunk/toolchain

lol. i didnt see the link at the top of the page redirecting to the open2x wiki page.

mybad :/ I'll checkout toolchain-new and try again tonight.
 
Last edited by a moderator:
I checked out the -new, and apparently gcc-3.4.6-glibc-2.2.5-hdrs-gp2x.dat has CRLF's so It was doing spurrious things when trying to download files from gnu.org with linefeeds inthe middle of the glibc filenames.

so far so good tho once I remmoved the ^M's....
 
YakumoFuji said:
I checked out the -new, and apparently gcc-3.4.6-glibc-2.2.5-hdrs-gp2x.dat has CRLF's so It was doing spurrious things when trying to download files from gnu.org with linefeeds inthe middle of the glibc filenames.

so far so good tho once I remmoved the ^M's....
Cool, glad it seems to be working, I assume you wanted a kernel chain not an application chain then?

./open2x-gp2x-kernel.sh rather then ./open2x-gp2x-apps.sh

The apps chain is GCC4 based rather then GCC3 for the kernel chain.

John
 
Last edited by a moderator:
ack. spoke too soon... it all downs unpacks, patches etc... then boom!
(I actually just want a toolchain that I can build some homebrew with.

checking version of gcc... 4.1.2, bad
checking for gnumake... no
checking for gmake... no
checking for make... make
checking version of make... 3.81, ok
configure: error:
*** These critical programs are missing or too old:gcc
*** Check the INSTALL file for required versions.

I was just running open2x-gp2x.sh so now I am trying open2x-gp2x-kernel.sh
 
./open2x-gp2x-kernel.sh also fails on building gcc 2.95.. guess 4.1.2

ooh running -apps.sh its now downloading gcc-4.1.1.. nice :( when this fails I'm giving up (I should probably not have upgraded ubuntu from 6.10 to 7.04).

I will give oopo's a try and if that dont work, I guess I'm outta luck.

I need to test some of the scummvm agi stuff if the GSoC student is going to hack on it (I dont remember if I am supposed to help mentor this kid or not. lol)

I just dont want to have to go back to my XP partition and the old Octoate's DevKitGP2X

/// time ticks by...

-apps.sh looks like its compiling ok... (fingers crossed)
 
ok, another reply for anyone trying to build the libs :) heh.

once the apps build into /opt/open2x/gcc-4.1.1-glibc-2.3.6

make sure you add 'arm-open2x-linux' to the top line in open2x-libs.sh
also;

cd /opt/open2x/gcc-4.1.1-glibc-2.3.6
ln -s arm-open2x-linux/bin bin
cp smpeg-cvs/mkinstalldirs SDL-1.2.9/

meeeh. compiles some sdl then fails. well I dropped in the prebuilt libs, just gotta charge up the batts and I can test....
 
Mudi said:
Errm, I'm hoping you have gcc installed on your computer? ;)
erm.. Im hoping you can read english.
especially the part that said the system detected gcc 4.1.2 but that cross tool chain is only built for 4.1.1 and that 4.1.2 is not compatible, since toolchain/patches/gcc-4.1.2 does not exist...

but wait.. no.. I guess you cant..
 
Last edited by a moderator:
Back
Top