GP2X Open2x Toolchain On Windows


slygamer

Active Member
Joined
Sep 19, 2005
Messages
795
Location
Brisbane, Australia
Website
Visit site
Has anyone successfully downloaded the open2x toolchain source code to Windows? It fails because there are two files in toolchain\linux-headers-2.6.12.0\include\linux\netfilter_ipv4 that only differ in case (ipt_TCPMSS.h and ipt_tcpmss.h). This may be legal and possible on a case-sensitive file system like most Linux systems have, but even so, having two source files that only differ in case is just plain crazy, aside from the fact that it totally blocks any usage on Windows.

Could one of the open2x developers fix this please?
 
I don't know, because the SVN checkout always fails when trying to grab the second file. I'll try looking it up in the web-based repository browser on sourceforge.

Edit: They are different, and simply declare a single struct each. It also looks like ipt_tcpmss.h used to be called ipt_tcpmss_match.h at some point in the past.

Contents of ipt_TCPMSS.h
Code:
#ifndef _IPT_TCPMSS_H
#define _IPT_TCPMSS_H

struct ipt_tcpmss_info {
	u_int16_t mss;
};

#define IPT_TCPMSS_CLAMP_PMTU 0xffff

#endif /*_IPT_TCPMSS_H*/

Contents of ipt_tcpmss.h.
Code:
#ifndef _IPT_TCPMSS_MATCH_H
#define _IPT_TCPMSS_MATCH_H

struct ipt_tcpmss_match_info {
	u_int16_t mss_min, mss_max;
	u_int8_t invert;
};

#endif /*_IPT_TCPMSS_MATCH_H*/
 
It has nothing to do with MSYS, which I do not have installed. This is just during the SVN checkout of the source. The two filenames differ only in case and Windows does not allow that.
 
I want to checkout the source code using SVN for Win32 on Windows without MSYS or any other pseudo Linux environment. I do not want any pseudo Linux environment on my machine. That is why I currently use devkitPro. I was wanting to check out open2x, but obviously that's not possible in a native Windows environment because of one filename that could quite easily be fixed by someone who has commit rights.
 
Gary Miller posted on Dec 8 2006 at 11:26 PM said:
The environment inside of MSYS is case sensitive ....
No it's not. It's just a POSIX-like layer over the case insensitive Windows file system.

To prove this, I installed MSYS 1.0.10, ran the msys shell, and entered the following commands:

Code:
$ echo hello >hello.txt
$ echo HELLO >HELLO.TXT
$ ls
hello.txt
$ cat hello.txt
HELLO

Which is exactly what I expected to see.
 
Last edited by a moderator:
Hmmm ... your right, sorry about that. Windows retains the case but compares without it and I had forgotten (to much Unix/Linux). For some reason I was sure it did and then I tested the same thing under cygwin and got the same results you did.
Code:
/home/gwmiller/ $ mkdir test
/home/gwmiller/ $ cd test
/home/gwmiller/test/ $ ls
/home/gwmiller/test/ $ echo hello >hello.txt
/home/gwmiller/test/ $ echo HELLO >HELLO.TXT
/home/gwmiller/test/ $ ls
hello.txt
/home/gwmiller/test/ $ cat hello.txt
HELLO
/home/gwmiller/test/ $ mv hello.txt Hello.txt
mv: `hello.txt' and `Hello.txt' are the same file
/home/gwmiller/test/ $
 
Hi,

I see the problem you have with the tool-chain scripts (I did not realise Oopo's scripts had all that with the normal build scripts :eek:). I can look to fix that however as the tool-chain uses gLibC for the Linux C library you will need a 'pseudo' Linux environment on your PC to support it (i.e. CygWin).

If you got the SVN from within CygWin that would get you all the files without issue (I think ;)) and as you will need CygWin to build the chain I think it maybe a moot point.

The other option is to build using MinGW/Msys (as DevKitGP2X does) but will need to compile gLibC on a Linux box as a 'Canadian cross' build targeting MinGW then ARM and move it over to the Windows box and merge it into the build with the rest of the bits of the tool-chain. This is the main reason DevKitGP2X is not updated much (it is a truly epic pain in the arse to build a GCC that needs gLibC on a Windows box without CygWin unfortunately).

John
 
Performing the SVN checkout will not work within Cygwin because Cygwin sits on top of the native Win32 file system and thus it will still have the same case-insensitive issues, as shown by Gary Miller in the previous post.

DevkitGP2X works just fine for me, and it's Win32 native. The interest in building a Win32 Open2X toolchain has faded.
 
Performing the SVN checkout will not work within Cygwin because Cygwin sits on top of the native Win32 file system and thus it will still have the same case-insensitive issues, as shown by Gary Miller in the previous post.

DevkitGP2X works just fine for me, and it's Win32 native. The interest in building a Win32 Open2X toolchain has faded.

You may be quite correct but CygWin does have it's own layering system on top of the file system to deal with some odities but then as you say it hardly matters (and may well not work, who cares). Sorry anyway as I did not realise part of the damm kernel source in the tool-chain area to support the build like it does (madness).

I can't see anything wrong with DevKitGP2X or any reason to change. The Open2x tool-chains (both Oopo's and mine) need CygWin to work on Windows, DevKitGP2X (that I also helped work out the build for) does not due to being part built on Linux and targeted for MinGW. It is always better to be productive and coding then pissing about with the dev kit :D.
 
Last edited by a moderator:
Back
Top