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

Reply via email to