Error compiling for java

Andrew Haley aph@redhat.com
Tue Jan 9 11:44:00 GMT 2007


oneforall writes:
 > 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.
 > 
 > 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 .
Right, it doesn't: SYS_sigaction is 32-bit only.
 > 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
64-bit PPC libjava doesn't use SYS_sigaction. It uses
SYS_rt_sigaction.
On my system, syscalls are defined in two places:
/usr/include/asm-x86_64/unistd.h and /usr/include/asm-i386/unistd.h.
It should be similar on your system.
Andrew.


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /