This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Error compiling for java


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]