This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Error compiling for java
- From: oneforall <oneforall59 at hotmail dot com>
- To: java at gcc dot gnu dot org
- Date: Mon, 8 Jan 2007 07:05:58 +0000 (UTC)
- Subject: Re: Error compiling for java
- References: <3BE48DD0EC7D3948BC183931D9150C210C72D536@ii0015exch001u.iprc.lucent.com> <17791.52471.42518.181916@zebedee.pink>
Andrew Haley <aph <at> redhat.com> writes:
>
> Goel, Mudit (Mudit) writes:
> > All,
> > I am trying to get a java cross compiler to be used with ppc750.
> > I am using dem0-ppc750.sh .This is a partial build output that I got.
> > Could someone help me fix this ?
> > the syscall.h is pressent in ./usr/include/bits/syscall.h and not in this
> > path. How can I go and change the path so that correct path is in place.
> >
> > In file included from ./include/java-signal.h:17,
> > from
> > /home/eplguser/Mudit/crosstool-0.42/build/powerpc-750-linux-gnu/gcc-4.1.0-gl
> > ibc-2.3.5/gcc-4.1.0/libjava/prims.cc:26:
> > /opt/crosstool/gcc-4.1.0-glibc-2.3.5/powerpc-750-linux-gnu/powerpc-750-linux
> > -gnu/include/sys/syscall.h:32:27: error: bits/syscall.h: No such file or
> > directory
> > /home/eplguser/Mudit/crosstool-0.42/build/powerpc-750-linux-gnu/gcc-4.1.0-gl
> > ibc-2.3.5/gcc-4.1.0/libjava/java/lang/Class.h: In member function
> > 'java::lang::Class* java::lang::Class::getComponentType()':
> > /home/eplguser/Mudit/crosstool-0.42/build/powerpc-750-linux-gnu/gcc-4.1.0-gl
> > ibc-2.3.5/gcc-4.1.0/libjava/java/lang/Class.h:354: warning: dereferencing
> > type-punned pointer will break strict-aliasing rules
> > /home/eplguser/Mudit/crosstool-0.42/build/powerpc-750-linux-gnu/gcc-4.1.0-gl
> > ibc-2.3.5/gcc-4.1.0/libjava/prims.cc: In function 'jint
> > _Jv_CreateJavaVM(JvVMInitArgs*)':
> > /home/eplguser/Mudit/crosstool-0.42/build/powerpc-750-linux-gnu/gcc-4.1.0-gl
> > ibc-2.3.5/gcc-4.1.0/libjava/prims.cc:1274: error: 'SYS_sigaction' was not
> > declared in this scope
> > make[5]: *** [prims.lo] Error 1
>
> /usr/include/bits/syscall.h is part of the target's operating system.
> On my system it's in the glibc-headers package. You need to take a
> copy of the target's syscall.h and place it in the prefix along with
> the other target headers.
>
> Andrew.
>
>
I''m having the same problem .cross compiling from slackware 32bit to 64. I used
the clfs book but had to change for the extra languages. java compiles at iirc
chapter 5 funal gcc(to cross-tools) then 6.4 iirc compiling to /tools. then I
did what was needed for the reboot. compiled glibc with the --prefix=/usr 32bit
build and then the 64bit build. It over writes the syscall.h of course. The
32bit one has both SYS_sigaction and SYS_rt_sigaction bit the 64bit only has the
SYS_rt_sigaction line . I notice in glibcheaders for FC etc rpms it has the same
syscall.h with no SYS_sigaction in it so how did FC over come this O.o thanks
(slackware I did recompile to gcc 4.1.1 before I started the cross compile
,needed for ada as 3.4.6 was too old) gcc 4.1.1,glibc 2.4