Hi Jim, Thanks for your suggession. After I changed it to.. /opt/jdk1.5/include/linux .. it started working. Thanks & Regards, -Dhiraj -----Original Message----- From: Jim Marshall [mailto:jim.marshall@xxxxxxxxxxxxxxxxx] Sent: Saturday, June 23, 2007 8:11 AM To: Dhiraj Nilange-DD Subject: Re: typedef conflict in GCC and JAVA Dhiraj.Nilange@xxxxxxxxxxxxxxxxxx wrote: >> From: Andrew Haley [mailto:aph-gcc@xxxxxxxxxxxxxxxxxxx] >> Sent: Friday, June 22, 2007 5:09 PM >> To: Dhiraj Nilange-DD >> Cc: gcc-help@xxxxxxxxxxx >> Subject: RE: typedef conflict in GCC and JAVA >> >> Please don't top-post. >> >> Dhiraj.Nilange@xxxxxxxxxxxxxxxxxx writes: >> >>> I am doing the following #include in my source:- >>> >>> #include <jni.h> >>> >>> And in the compilation command my include path is >>> -I/opt/jdk1.5/include > >> That's strange. Directories named by `-I' are searched before the >> standard system include directories, so gcc should pick up the >> jni_md.h in /opt/jdk1.5/include. Is it there? > > > Yes the file is very much there. I also have read permission for the > file. I find it strange. What could be the issue? > >> Andrew. > > Thanks, > -Dhiraj > jni_md.h is usually a platform specific header, for example on my windows (Sun JDK 1.5) it is in the /jdk15/include/win32 directory, on linux (again sun's jdk) it is in /usr/java/jdk1.5.0_06/include/linux. Usually you need to add a -I switch to the platform specific directory to pick it up. I presume you have not done that, and as such are picking up the GCJ version instead. HTH -Jim