PDA

View Full Version : [2.6.11] Compile Errors



Dracontopes
April 17th, 2005, 10:39 AM
I am trying to build a custom kernel with gcc 4.0.

I used the standard kernel config file which comes with the ubuntu linux-image.

The first problem I encountered was some problem with include/linux/fb.h
Apparently, gcc 4.0 does not like that file. I fixed that problem by applying a patch here:
http://marc.theaimsgroup.com/?l=linux-kernel&m=110849581519729&w=2

But now, I got another error:



...
CC [M] fs/ext3/file.o
CC [M] fs/ext3/fsync.o
CC [M] fs/ext3/ialloc.o
CC [M] fs/ext3/inode.o
CC [M] fs/ext3/ioctl.o
CC [M] fs/ext3/namei.o
CC [M] fs/ext3/super.o
fs/ext3/super.c: In function 'ext3_fill_super':
fs/ext3/super.c:1639: internal compiler error: Segmentatie fout
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.
make[3]: *** [fs/ext3/super.o] Fout 1
make[2]: *** [fs/ext3] Fout 2
make[1]: *** [fs] Fout 2
make[1]: Leaving directory `/usr/src/linux-source-2.6.11'
make: *** [stamp-build] Fout 2
chris@chris:/usr/src/linux-source $


Translation: Fout = Error :)

nautilus
April 17th, 2005, 10:55 AM
Well, first of all, you're using GCC 4.0.... That's about as stable as a psychotic maniac in a clown parade on halloween without medication.

I suggest using GCC 3.x, 3.4 at *most*.

What's happening is the compiler is dying due to it's internals doing something stupid.

edit:
Wait, FIRST, go to http://gcc.gnu.org/bugs.html and fill out a bug report for this. It only takes a minute; really :P

Help them fix it ;)

Dracontopes
April 17th, 2005, 11:07 AM
Thanks for replying,

When I run the make-kpkg etc command again, I do not get this error again. Maybe my RAM is just bad... or something else is f***** Then it continues with building more modules etc, and another erros pops up but this time it's not a segmentation error but something more serious I think:



CC [M] drivers/i2c/i2c-core.o
In file included from drivers/i2c/i2c-core.c:29:
include/linux/i2c.h:58: error: arraytype heeft onvolledig elementtype
include/linux/i2c.h:197: error: arraytype heeft onvolledig elementtype
drivers/i2c/i2c-core.c: In function 'i2c_transfer':
drivers/i2c/i2c-core.c:594: error: het type van formele parameter 2 is onvolledig
drivers/i2c/i2c-core.c: In function 'i2c_master_send':
drivers/i2c/i2c-core.c:620: error: het type van formele parameter 2 is onvolledig
drivers/i2c/i2c-core.c: In function 'i2c_master_recv':
drivers/i2c/i2c-core.c:649: error: het type van formele parameter 2 is onvolledig
make[3]: *** [drivers/i2c/i2c-core.o] Fout 1
make[2]: *** [drivers/i2c] Fout 2
make[1]: *** [drivers] Fout 2
make[1]: Leaving directory `/usr/src/linux-source-2.6.11'
make: *** [stamp-build] Fout 2
chris@chris:/usr/src/linux-source $


het type van formele parameter 2 is onvolledig = the type of formal parameter 2 is uncomplete (bad translation I know)

On google I found a message about a patch being written etc, but then the patch is nowhere to be found... :| It's been send to -mm etc what the **** that is :)

Anyway, maybe the 2.6.12 unstable kernels do it better :P I will keep my existing_working kernels intact just in case :P

nautilus
April 17th, 2005, 11:25 AM
"struct i2c_msg" isn't defined...

that's an odd one, because those errors in i2c.h? well, at line ~401:


struct i2c_msg {
__u16 addr; /* slave address */
__u16 flags;
#define I2C_M_TEN 0x10 /* we have a ten bit chip address */
#define I2C_M_RD 0x01
#define I2C_M_NOSTART 0x4000
#define I2C_M_REV_DIR_ADDR 0x2000
#define I2C_M_IGNORE_NAK 0x1000
#define I2C_M_NO_RD_ACK 0x0800
__u16 len; /* msg length */
__u8 *buf; /* pointer to msg data */
};


Hi, defined!

Okay, well, basically, I suggest you do a "make distclean" and start the compile over from scratch.

Looks like you started compiling, then changed something ;)

Dracontopes
April 17th, 2005, 04:39 PM
Hehe ah well, I ditched gcc 4.0 because it gave me more and more errors with the kernel compile :)

So, I removed gcc package and gcc-4.0 package with synaptic. THen I made symlinks /usr/bin/gcc to /usr/bin/gcc-3.4 and the kernel compiled OKAY!

Everything compiled okay, but at the end, something odd is happening:



...
INSTALL sound/soundcore.ko
INSTALL sound/synth/emux/snd-emux-synth.ko
INSTALL sound/synth/snd-util-mem.ko
INSTALL sound/usb/snd-usb-audio.ko
INSTALL sound/usb/snd-usb-lib.ko
INSTALL sound/usb/usx2y/snd-usb-usx2y.ko
if [ -r System.map ]; then /sbin/depmod -ae -F System.map -b /usr/src/linux-2.6.11.7/debian/tmp-image -r 2.6.11.7mykernel; fi
make[2]: Leaving directory `/usr/src/linux-2.6.11.7'
test ! -e debian/tmp-image/lib/modules/2.6.11.7mykernel/source || \
mv debian/tmp-image/lib/modules/2.6.11.7mykernel/source ./debian/source-link
test ! -e debian/tmp-image/lib/modules/2.6.11.7mykernel/build || \
mv debian/tmp-image/lib/modules/2.6.11.7mykernel/build ./debian/build-link
depmod -q -FSystem.map -b debian/tmp-image 2.6.11.7mykernel;
test ! -e ./debian/source-link || \
mv ./debian/source-link debian/tmp-image/lib/modules/2.6.11.7mykernel/source
test ! -e ./debian/build-link || \
mv ./debian/build-link debian/tmp-image/lib/modules/2.6.11.7mykernel/build
cp arch/i386 /boot/bzImage debian/tmp-image/boot/vmlinuz-2.6.11.7mykernel
cp: `debian/tmp-image/boot/vmlinuz-2.6.11.7mykernel': specified destination directory does not exist
Probeer `cp --help' voor meer informatie.
make[1]: *** [real_stamp_image] Fout 1
make[1]: Leaving directory `/usr/src/linux-2.6.11.7'
make: *** [kernel-image-deb] Fout 2
chris@chris:/usr/src/linux-2.6.11.7 $


It does not create the .deb file I want...