Hello,
I want to cross-compile Java (GCJ) for a PowerPC 405 target
with crosstool
0.43.
With only "c, c++" languages, no problem.
But when I add "java" language, the cross-compiler
process stops when it
compiles prims.cc for libjava.
See the end of build log:
.../...
In file included from /usr/include/bits/socket.h:304,
from /usr/include/sys/socket.h:35,
from ./include/platform.h:31,
from
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc:12:
/usr/include/asm/socket.h:9:4: warning: #warning This
machine appears to be
neither x86_64 nor i386.
In file included from /usr/include/bits/sigcontext.h:28,
from /usr/include/signal.h:333,
from
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc:18:
/usr/include/asm/sigcontext.h:9:4: warning: #warning This
machine appears to
be neither x86_64 nor i386.
In file included from /usr/include/sys/syscall.h:25,
from ./include/java-signal.h:17,
from
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc:26:
/usr/include/asm/unistd.h:9:4: warning: #warning This
machine appears to be
neither x86_64 nor i386.
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/gc
c-4.1.1/libjava/java/lang/Class.h: In member function
'java::lang::Class*
java::lang::Class::getComponentType()':
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/gc
c-4.1.1/libjava/java/lang/Class.h:354: warning:
dereferencing type-punned
pointer will break strict-aliasing rules
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc: In function 'void catch_segv(int,
sigcontext*)':
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc:149: error: invalid use of
undefined type 'struct
sigcontext'
/usr/include/signal.h:336: error: forward declaration of
'struct sigcontext'
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc: In function 'jint
_Jv_CreateJavaVM(JvVMInitArgs*)':
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc:1274: error: '__NR_sigaction' was
not declared in
this scope
make[5]: *** [prims.lo] Erreur 1
make[5]: quittant le répertoire «
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/bu
ild-gcc/powerpc-405-linux-gnu/nof/libjava »
.../...
The warning is strange: "This machine appears to be
neither x86_64 nor
i386.". As if the compiler uses the header files of
native system instead of
target! It is my first feeling...
What do you thing ?
Thanks for your help,
Xavier
My native host system is: Linux version 2.16.17-12-386 (gcc
version 4.1.2)
on Ubuntu.
I put the sample command for prims.cc:
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/bu
ild-gcc/./gcc/xgcc -shared-libgcc
-B/home/gd/crosstool-0.43/build/powerpc-40
5-linux-gnu/gcc-4.1.1-glibc-2.3.6/build-gcc/./gcc
-nostdinc++ -L/home/gd/cro
sstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.
6/build-gcc/powe
rpc-405-linux-gnu/nof/libstdc++-v3/src
-L/home/gd/crosstool-0.43/build/power
pc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/build-gcc/powerpc-405
-linux-gnu/nof/l
ibstdc++-v3/src/.libs
-B/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-lin
ux-gnu/powerpc-405-linux-gnu/bin/
-B/opt/crosstool/gcc-4.1.1-glibc-2.3.6/pow
erpc-405-linux-gnu/powerpc-405-linux-gnu/lib/ -isystem
/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu/p
owerpc-405-linux
-gnu/include -isystem
/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu/p
owerpc-405-linux
-gnu/sys-include -msoft-float -fPIC -mstrict-align
-DHAVE_CONFIG_H -I. -I/ho
me/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-g
libc-2.3.6/gcc-4
.1.1/libjava -I./include -I./gcj
-I/home/gd/crosstool-0.43/build/powerpc-405
-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/libjava -Iinclude
-I/home/gd/cros
stool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6
/gcc-4.1.1/libja
va/include
-I/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.
1.1-g
libc-2.3.6/gcc-4.1.1/libjava/classpath/include
-I/home/gd/crosstool-0.43/bui
ld/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/lib
java/classpath/n
ative/fdlibm
-I/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.
1.1
-glibc-2.3.6/gcc-4.1.1/libjava/../boehm-gc/include
-I../boehm-gc/include -I/
home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1
-glibc-2.3.6/gcc
-4.1.1/libjava/libltdl
-I/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu
/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/libjava/libltdl
-I/home/gd/crosstool-0.43/b
uild/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/l
ibjava/.././libj
ava/../gcc
-I/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.
1.1-g
libc-2.3.6/gcc-4.1.1/libjava/../zlib
-I/home/gd/crosstool-0.43/build/powerpc
-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/libjava/../li
bffi/include -I.
./libffi/include -fno-rtti -fnon-call-exceptions
-fdollars-in-identifiers -W
switch-enum -D_FILE_OFFSET_BITS=64 -I/usr/include -Wextra
-Wall -D_GNU_SOURC
E
-DPREFIX="/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc
-405-linux-gnu" -D
LIBDIR="/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-4
05-linux-gnu/lib" -D
JAVA_HOME="/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerp
c-405-linux-gnu" -DB
OOT_CLASS_PATH="/opt/crosstool/gcc-4.1.1-glibc-2.3.6/p
owerpc-405-linux-gnu/
share/java/libgcj-4.1.1.jar"
-DJAVA_EXT_DIRS="/opt/crosstool/gcc-4.1.1-gli
bc-2.3.6/powerpc-405-linux-gnu/share/java/ext"
-DGCJ_ENDORSED_DIRS="/opt/c
rosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu/share/j
ava/gcj-endorsed
"
-DLIBGCJ_DEFAULT_DATABASE="/opt/crosstool/gcc-4.1.1-gl
ibc-2.3.6/powerpc-
405-linux-gnu/lib/nof/gcj-4.1.1/classmap.db"
-DLIBGCJ_DEFAULT_DATABASE_PATH
_TAIL="gcj-4.1.1/classmap.db"
-DTOOLEXECLIBDIR="/opt/crosstool/gcc-4.1.1-
glibc-2.3.6/powerpc-405-linux-gnu/powerpc-405-linux-gnu/lib/
nof" -g -O2 -D_
GNU_SOURCE -msoft-float -fPIC -mstrict-align -MT prims.lo
-MD -MP -MF
.deps/prims.Tpo -c
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.
1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc -fPIC -DPIC -o .libs/prims.o
And the beginning of build for parameters of Crosstool build
process :
+ TARBALLS_DIR=/home/gd/downloads
+ RESULT_TOP=/opt/crosstool
+ export TARBALLS_DIR RESULT_TOP
+ GCC_LANGUAGES=c,c++,java
+ export GCC_LANGUAGES
+ mkdir -p /opt/crosstool
++ cat powerpc-405.dat gcc-4.1.1-glibc-2.3.6.dat
+ eval TARGET=powerpc-405-linux-gnu 'TARGET_CFLAGS="-O'
'-mcpu=405"'
'GCC_EXTRA_CONFIG="--with-cpu=405'
'--enable-cxx-flags=-mcpu=405"'
'GLIBC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG'
'--without-fp"'
BINUTILS_DIR=binutils-2.16.1 GCC_CORE_DIR=gcc-3.3.6
GCC_DIR=gcc-4.1.1
GLIBC_DIR=glibc-2.3.6 LINUX_DIR=linux-2.6.15.4
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
GDB_DIR=gdb-6.5 sh
all.sh --notest
++ TARGET=powerpc-405-linux-gnu
++ TARGET_CFLAGS='-O -mcpu=405'
++ GCC_EXTRA_CONFIG='--with-cpu=405
--enable-cxx-flags=-mcpu=405'
++ GLIBC_EXTRA_CONFIG=' --without-fp'
++ BINUTILS_DIR=binutils-2.16.1
++ GCC_CORE_DIR=gcc-3.3.6
++ GCC_DIR=gcc-4.1.1
++ GLIBC_DIR=glibc-2.3.6
++ LINUX_DIR=linux-2.6.15.4
++ LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
++ GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
++ GDB_DIR=gdb-6.5
++ sh all.sh --notest
You set both LINUX_DIR and LINUX_SANITIZED_HEADER_DIR -
ignoring LINUX_DIR
for the build
DEJAGNU not set, so not running any regression tests
GLIBC_ADDON_OPTIONS not set, so building all glibc add-on's
KERNELCONFIG not set, so not configuring linux kernel
+ TOOLCOMBO=gcc-4.1.1-glibc-2.3.6
++ pwd
+
BUILD_DIR=/home/gd/crosstool-0.43/build/powerpc-405-linux-gn
u/gcc-4.1.1-glib
c-2.3.6
++ pwd
+ TOP_DIR=/home/gd/crosstool-0.43
+ test -z ''
+
SRC_DIR=/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/
gcc-4.1.1-glibc-
2.3.6
+ echo 'SRC_DIR not set, so source tarballs will be unpacked
in the build
directory'
SRC_DIR not set, so source tarballs will be unpacked in the
build directory
+ case x$PREFIX in
+ case x$USER in
+ test -w /tmp
+ TARBALLS_DIR=/home/gd/downloads
+ RESULT_TOP=/opt/crosstool
+
PREFIX=/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linu
x-gnu
--
For unsubscribe information see http://sourcewar
e.org/lists.html#faq
|