[kaffe] Problem to generate kaffe binary with ecos on arm7 processor

daniel at fh-konstanz.de daniel at fh-konstanz.de
Tue Aug 16 08:32:02 PDT 2005



Hello list!

I want to port kaffe-1.1.5 on an embedded os called "eCos". As hardware platform
i use an arm 7 processor. Before configuring the kaffe-1.1.5 source code, i have
built an ecos library with the "arm-elf-gcc" cross compiler version 3.3.
The next step is to make and install 'native' kaffe. I have created three
directories:
'kaffe-1.1.5, where i stored the source code, 'kaffe-native' where i made native
kaffe, and 'kaffe-crossing', where i made cross compiled kaffe.

I changed the directory into 'kaffe-native' and did '../kaffe-1.1.5/configure'
and 'make; make install'. 

The next step was to create a cross compiled binary. First, i have set my
environment for cross-compiling:

KAFFEH=/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe-native/kaffe/kaffeh/kaffeh

LDFLAGS="-nostartfiles -Ttarget.ld -nostdlib
-L/usr/local/Diplomarbeit/Project/Kaffe_V1/version1_install/lib"

CFLAGS="-mcpu=arm7tdmi -mbig-endian -malignment-traps -Wall -WI,--gc-sections -g
-O2"

CPPFLAGS="-I/usr/local/Diplomarbeit/Project/Kaffe_V1/version1_install/include
-D__ECOS"

CC=arm-elf-gcc
export LD=arm-elf-ld
export NM=arm-elf-nm
export AR=arm-elf-ar
export RANLIB=arm-elf-ranlib
export CPP=arm-elf-cpp
export OBJCOPY=arm-elf-objcopy


After setting the environment, i have copied the directory
'kaffe-1.1.5/kaffe/kaffevm/systems/unix-pthreads' in the same directory and
named it with 'ecos-native' without modifiing the files in it.

I have adapted the 'config.sub' files in
'kaffe-1.1.5/kaffe/kaffevm/boehm-gc/boehm' and in 'kaffe-1.1.5/libltdl' by
adding 'ecos' as os machine and the 'configure' file in 'kaffe-1.1.5'. 

Then i changed into the 'kaffe-crossing' directory and did:

'../kaffe-1.1.5/configure --host=arm-ecos --build=i686-linux
--without-classpath-gtk-awt --enable-pure-java-math

The 'configure' script wis ok, but when i try to do 'gmake' after configuring, i
get some errors like this:

/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:50:
error: parse error before '(' token
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:
In function `jthread_initexceptions':
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:73:
error: `nullException' undeclared (first use in this function)
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:73:
error: (Each undeclared identifier is reported only once
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:73:
error: for each function it appears in.)
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:
At top level:
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:91:
error: parse error before '(' token
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:99:
warning: type defaults to `int' in declaration of `restoreSyncSignalHandler'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:99:
warning: parameter names (without types) in function declaration
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:99:
error: conflicting types for 'restoreSyncSignalHandler'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/jsignal.h:33:
error: previous declaration of 'restoreSyncSignalHandler' was here
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:99:
error: conflicting types for 'restoreSyncSignalHandler'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/jsignal.h:33:
error: previous declaration of 'restoreSyncSignalHandler' was here
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:99:
warning: data definition has no type or storage class
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:102:
warning: type defaults to `int' in declaration of `unblockSignal'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:102:
warning: parameter names (without types) in function declaration
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:102:
error: conflicting types for 'unblockSignal'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/jsignal.h:40:
error: previous declaration of 'unblockSignal' was here
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:102:
error: conflicting types for 'unblockSignal'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/jsignal.h:40:
error: previous declaration of 'unblockSignal' was here
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:102:
warning: data definition has no type or storage class
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:123:
error: parse error before numeric constant
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:123:
warning: type defaults to `int' in declaration of `nullHandler'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:123:
error: 'nullHandler' redeclared as different kind of symbol
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:54:
error: previous declaration of 'nullHandler' was here
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:123:
warning: data definition has no type or storage class
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:
In function `registerSignalHandler':
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:162:
error: `SIGIO' undeclared (first use in this function)
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:164:
error: `SIGCHLD' undeclared (first use in this function)
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:
In function `registerAsyncSignalHandler':
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:202:
error: `SIGIO' undeclared (first use in this function)
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:204:
error: `SIGCHLD' undeclared (first use in this function)
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:
At top level:
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:267:
error: conflicting types for 'restoreSyncSignalHandler'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:99:
error: previous declaration of 'restoreSyncSignalHandler' was here
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:267:
error: conflicting types for 'restoreSyncSignalHandler'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:99:
error: previous declaration of 'restoreSyncSignalHandler' was here
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:313:
error: conflicting types for 'unblockSignal'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:102:
error: previous declaration of 'unblockSignal' was here
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:313:
error: conflicting types for 'unblockSignal'
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:102:
error: previous declaration of 'unblockSignal' was here
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:
In function `unblockAsyncSignals':
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:331:
error: `SIGIO' undeclared (first use in this function)
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:333:
error: `SIGCHLD' undeclared (first use in this function)
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:
In function `blockAsyncSignals':
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:351:
error: `SIGIO' undeclared (first use in this function)
/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe/kaffevm/systems/ecos-native/signal.c:353:
error: `SIGCHLD' undeclared (first use in this function)
gmake[3]: *** [libkthread_la-signal.lo] Error 1
gmake[3]: Leaving directory
`/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe-crossing/kaffe/kaffevm/systems/ecos-native'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory
`/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe-crossing/kaffe/kaffevm/systems'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory
`/usr/local/Diplomarbeit/kaffe-1.1.5/kaffe-crossing/kaffe/kaffevm'
gmake: *** [all-recursive] Error 1

Can anybody help me. Do i have to add an additional configure option?
Thanks for helping!

 
 








More information about the kaffe mailing list