Robin, Hmmm... This looks like a POSIX versus Solaris GCC issue. Keep in mind that I developed this on Solaris 9, but with POSIX compliance in mind where possible. I figured that if and when we came upon such issues as these, we would solve them when we got there. I guess we are there now ;-)
Perhaps there is a Linux equivalent to the interval timer below, or, better yet, a generic POSIX equivalent. I would like to use POSIX facilities whereever possible to maximize portability. Maybe we'll have to support explicitly Solaris and Linux, but who knows yet? We're just getting started. FYI-- This part of the code is _sure_ to contain the most exposure to such issues due to the OS facilities it invokes. This will be true for _all_ platforms to which this code is ported. Concerning build utilities, each directory under 'bootJVM' itself has an Eclipse project file for use with Eclipse and its C/C++ module. See 'config.sh' and 'README' for more info here. Do we need to add '.' to the include path? This should be a simple change and benign, even if on some platforms it is redundant. Perhaps some versions/platforms for GCC need it and some don't. But if it is added, it will solve the problem for all platforms. I am an avid fan of 'gmake', and always like to recommend it since I have built _exceedingly_ complex projects with it (like numerous languages, custom toolkits, specialized application scripts, multiple platforms for part/all code, etc.). If you are interested in this, I would be _glad_ for you to do some work with this "real build tool", as you rightly call it.. 8-) (Please let me know so we can strategize to make it complete yet simple.) Dan Lydick -----Original Message----- From: Robin Garner <[EMAIL PROTECTED]> Sent: Oct 20, 2005 5:20 PM To: harmony-dev@incubator.apache.org Subject: Build problem on Linux I'm having problems building the boot JVM. running jvm/build.sh I get src/timeslice.c:82:71: thread.h: No such file or directory src/timeslice.c: In function `timeslice_tick': src/timeslice.c:221: error: invalid use of undefined type `struct itimerval' src/timeslice.c: In function `timeslice_run': src/timeslice.c:260: error: invalid use of undefined type `struct itimerval' src/timeslice.c:262: error: invalid use of undefined type `struct itimerval' src/timeslice.c:264: error: invalid use of undefined type `struct itimerval' src/timeslice.c:266: error: invalid use of undefined type `struct itimerval' src/timeslice.c:279: warning: implicit declaration of function `setitimer' src/timeslice.c:279: error: `ITIMER_REAL' undeclared (first use in this function) src/timeslice.c:279: error: (Each undeclared identifier is reported only once src/timeslice.c:279: error: for each function it appears in.) src/timeslice.c:311: warning: implicit declaration of function `yield' src/timeslice.c: At top level: src/timeslice.c:178: error: storage size of `timeslice_period' isn't known gcc: bin/timeslice.o: No such file or directory Is this a header file missing ? I'm running gentoo with a 2.6.13 kernel and gcc 3.3. By the way, the top level config.sh/build.sh seems to expect that "." is in the path. And any chance of getting this to build using a real build tool ? Make ? Ant ? (or is ant only for java ?) cheers Dan Lydick