Downgrading Problems

Harsha Srinath srinath@usc.edu
Mon Apr 4 19:20:00 GMT 2005


Folks,

I am trying to downgrade gcc to 3.2.2 from 3.4.2 since I have to compile 
a 2.4 Linux kernel for some application I am testing.

Unfortunately, this is proving to be extremely painful. Here is the 
problem when I do a 'make bzImage':-
/********************************************************************/
.
.
.
gmake[2]: Entering directory `/usr/src/linux-2.4.21/kernel'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.21/include -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno
-strict-aliasing -fno-common -fomit-frame-pointer -pipe 
-mpreferred-stack-boundary=2 -march=i686
  -nostdinc -iwithprefix include -DKBUILD_BASENAME=sched 
-fno-omit-frame-pointer -c -o sched.o sch
ed.c
In file included from /usr/src/linux-2.4.21/include/linux/wait.h:13,
                  from /usr/src/linux-2.4.21/include/linux/fs.h:12,
                  from /usr/src/linux-2.4.21/include/linux/capability.h:17,
                  from /usr/src/linux-2.4.21/include/linux/binfmts.h:5,
                  from /usr/src/linux-2.4.21/include/linux/sched.h:9,
                  from /usr/src/linux-2.4.21/include/linux/mm.h:4,
                  from sched.c:23:
/usr/src/linux-2.4.21/include/linux/kernel.h:10:20: stdarg.h: No such file
In file included from /usr/src/linux-2.4.21/include/linux/wait.h:13,
                  from /usr/src/linux-2.4.21/include/linux/fs.h:12,
                  from /usr/src/linux-2.4.21/include/linux/capability.h:17,
                  from /usr/src/linux-2.4.21/include/linux/binfmts.h:5,
                  from /usr/src/linux-2.4.21/include/linux/sched.h:9,
                  from /usr/src/linux-2.4.21/include/linux/mm.h:4,
                  from sched.c:23:
/usr/src/linux-2.4.21/include/linux/kernel.h:74: parse error before "va_lis
/usr/src/linux-2.4.21/include/linux/kernel.h:74: warning: function declarat
/usr/src/linux-2.4.21/include/linux/kernel.h:77: parse error before "va_lis
/usr/src/linux-2.4.21/include/linux/kernel.h:77: warning: function declarat
/usr/src/linux-2.4.21/include/linux/kernel.h:81: parse error before "va_lis
/usr/src/linux-2.4.21/include/linux/kernel.h:81: warning: function declarat
gmake[2]: *** [sched.o] Error 1
gmake[2]: Leaving directory `/usr/src/linux-2.4.21/kernel'
gmake[1]: *** [first_rule] Error 2
gmake[1]: Leaving directory `/usr/src/linux-2.4.21/kernel'
gmake: *** [_dir_kernel] Error 2
[root@postel linux-2.4.21]#
/********************************************************************/

For instructions to run multiple gcc versions, I used these sources :-

http://www.tellurian.com.au/whitepapers/multiplegcc.php
[This is pretty much what I did]

http://gcc.gnu.org/faq.html#multiple
http://www.faqs.org/docs/Linux-HOWTO/GCC-HOWTO.html

As you see in the log above, the problem is with inclusion of stdarg.h 
and I suspect some path or link is not being taken properly.

After I had compiled gcc 3.2.2, to force the default gcc to be this, I 
did a :-
[root@postel ~]# ln -s /usr/local/etc/3.2gcc/bin/gcc /usr/local/bin/gcc

I am not sure if this was right.

Since I had used a --prefix, I suspected the problem may be the one 
specified in :-
http://gcc.gnu.org/faq.html
and in particular, "How to install multiple versions of GCC". This adds 
the solution would be:-
http://gcc.gnu.org/faq.html#gas

But I am not sure if this really is the problem and I am hoping you guys 
can shed some light on this.

Thanks,
Harsha Srinath




Harsha Srinath
Graduate Student (Computer Science)
University of Southern California
Los Angeles, CA - 90089



More information about the Gcc-help mailing list