This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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


There is something wrong either with your libc or your cross-compiler configuration commands, I am not sure which.

Your libc build should include all the necessary headers before you start configuring and building the cross compiler. The fact that you are adding files to it indicates that it is badly broken.

The compiler build process will not clobber the libc header files if configured in a sane manner. Placing syscall.h in a place that is touched be the GCC build process is almost certainly a bad idea. Note that if you are not using --with-sysroot= to configure, GCC may make a copy of the headers. But that does not change the need for all the proper headers to exist in the libc include directory before you start.

You could try asking on crossgcc@sourceware.org as it appears that you are using crosstool. Many of the crosstool developers read that list and are generally fairly responsive to questions.

Goel, Mudit (Mudit) wrote:
I inlcuded the syscall.h in the PREFIX path /opt/crosstool/gcc-4.1.0-glibc-2.3.5/powerpc-750-linux-gnu/powerpc-750-linux
-gnu/include/bits. But I beleive this directory is newly created each time a new build is
started.So whatever I included is overwritten.!!!!
Is there a way around ? I also tried making syscall.h part of glibc-2.3.5.tar.bzip2 but then also no
luck. Could some one help me on this.


Regards
Mudit

-----Original Message-----
From: Andrew Haley [mailto:aph@redhat.com]
Sent: Wednesday, December 13, 2006 3:21 PM
To: Goel, Mudit (Mudit)
Cc: 'java@gcc.gnu.org'
Subject: Re: Error compiling for java


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.


--
For unsubscribe information see http://sourceware.org/lists.html#faq


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