From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kai Ruottu To: Meir Hacohen Cc: crossgcc@sourceware.cygnus.com, crossgcc@sources.redhat.com Subject: Re: problem installing gcc 2.95.2 on m68k-coff (fwd) Date: Thu, 21 Sep 2000 13:06:00 -0000 Message-id: <39CA6B1E.35EF9D92@luukku.com> References: X-SW-Source: 2000-09/msg00097.html Meir Hacohen wrote: > > I tried to install a GCC cross compiler 2.95 and 2.95.2 for target > m68k-coff and I failed. I tried it at HPUX after I succeeded to install > the native compiler. I got some compilation errors while the "make" is > running. > > Following are some of the compilation errors I got : > > ******************************************************************************* > > gcc -c -DIN_GCC -g -O2 -DHAVE_CONFIG_H -I. -I../../gcc-2.95.2/gcc > -I../../gcc-2.95.2/gcc/config -I../../gcc-2.95.2/gcc/../include > ../../gcc-2.95.2/gcc/config/m68k/m68k.c > ../../gcc-2.95.2/gcc/config/m68k/m68k.c: In function > `valid_dbcc_comparison_p': > ../../gcc-2.95.2/gcc/config/m68k/m68k.c:869: `cc_prev_status' undeclared > (first use in this function) > ******************************************************************************* > Is there a known problem in doing this ? No AFAIK, but your host can cause this somehow. The hint is : - the 'cc_prev_status' etc. are declared in the 'gcc-2.95.2/gcc/conditions.h'. Could it be possible that your native headers have a file with the same name and it will be used instead of the GCC-one? The 'gcc-2.95.2/gcc/config/m68k/m68k.c' includes it using '"'s instead of '<' and '>', so taking it from the system headers isn't expected... Your build-dir seems to be `/gnu/gcc-obj', and your sources to be in '/gnu/gcc-2.95.2'. Although the '-I../../gcc-2.95.2/gcc' is the second in the list and GCC should search from it after the 'gcc' build dir, and no environment settings for GCC could change this, not even C_INCLUDE_PATH : ------------------------------ clip ---------------------------------------- C_INCLUDE_PATH CPLUS_INCLUDE_PATH OBJC_INCLUDE_PATH These environment variables pertain to particular languages. Each variable's value is a colon-separated list of directories, much like PATH. When GCC searches for header files, it tries the directories listed in the variable for the language you are using, after the directories specified with -I but before the standard header file directories. ------------------------------ clip ---------------------------------------- somehow it takes the header somewhere else... Please try the '-v' option, using 'make CFLAGS="-v -O2"' and see what your 'cpp' gives for the search order for the headers... There must be something wrong now... If the search order is ok, perhaps your 'gcc/conditions.h' has been removed by an accident... BTW, the file(s) where the 'cc_prev_status' is declared could be found by a simple 'grep cc_prev_status *.h *.c' command, done in the 'gcc' source directory. Using 'grep' in cases like this is very useful... Cheers, Kai ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com