GCC version?
I'm trying to compile a 2.4.37 kernel, however it comes up with an error saying the GCC version should be less than 4.2 .
The question is if I were to compile and install GCC 3.3.x in the /opt directory, how would I get the kernel to use the GCC installed there instead of GCC 4.2 which is in /usr/bin? Thanks in advance. |
On Debian, I've just replaced the symlink from /usr/bin/gcc from /usr/bin/gcc-4.2 to /opt/gcc-3.X. Not sure if that'll do it on Slackware, or if you also have to change some library paths...
|
I think, you should try this : gcc34-3.4.6-i486-2compat.tgz
( gcc34-g++34-3.4.6-i486-2compat.tgz ) http://www.slackware.com/~alien/slac...cc34/pkg/12.0/ .... I'm using this in Slackware 12.2 . No problem having 2-4 different gcc's, like in Debian, examples ..... ./configure CC=/usr/gcc34/bin/gcc34 CXX=/usr/gcc34/bin/g++34 ( make CC=gcc34 , ... if you make a link to e.g. /usr/bin/ ) ..... For kernel compilation it may be necessary to replace the /usr/bin/gcc link temporarely, like said by pljvaldez. ..... |
Thanks for your replies.
Compiled 3.3.6 and installed it in /opt/ . After a bit of reading around it appears I also require "i486-slackware-linux" for the version of gcc i'm trying to install in /usr/lib/gcc and luckly this was distributed with a slackware version, so downleaded the *.tgz package, extracted the folder and placed it in /usr/lib/gcc/i486-slackware-linux . And... ~/gcc-3.3.6/configure --prefix=/usr --enable-shared --enable-languages=ada,c,c++,objc --enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld --verbose --with-arch=i486 --target=i486-slackware-linux --host=i486-slackware-linux (Did gcc -v to get the above and modified it for 3.3.6) also doing this speeded up compilation drastically compared to when I tried to compile 4.1.2 using just ~/gcc-4.1.2/configure --prefix=/opt only. It also appears to compile the kernel I had to amend the CROSS_COMPILE in the Makefile as per below. CROSS_COMPILE = /opt/gcc/bin/ Also symlink the following to point to : - ar -> /usr/bin/ar as -> /usr/bin/as ld -> /usr/bin/ld objcopy -> /usr/bin/objcopy Job done! tools/build -b bbootsect bsetup compressed/bvmlinux.out CURRENT > bzImage Root device is (22, 3) Boot sector 512 bytes. Setup is 2513 bytes. System is 1038 kB warning: kernel is too big for standalone boot from floppy Any ideas why 1038kB is too big for a floppy when a floppy can hold nearly 1474kB? |
Quote:
? Old lilo convention, bzImage max 512 KB ..... ? I remember that, its long time ago. Just google .. kernel too big for a floppy .. to get lots of hits, e.g. http://lists.us.dell.com/pipermail/l...er/004579.html http://lkml.indiana.edu/hypermail/li...02.0/0867.html ..... |
After a bit of digging around it appears to be down to inodes.
A floppy has around 184 inodes but when you make it bootable it uses up a high proportion of inodes compared storage space. In my case the floppy which holds 1500 odd kB after making it bootable with a kernel of 800 oddish kB has only around 20 inodes remaining. |
All times are GMT -5. The time now is 06:07 AM. |