LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   kernel compile errors... (https://www.linuxquestions.org/questions/linux-software-2/kernel-compile-errors-125741/)

ash4stuff 12-14-2003 11:00 AM

kernel compile errors...
 
Until now, I havent had any real problems when I was trying to compile a kernel under debian. THe last one I did was 2.4.22. I decided to try the 2.6.0 series but didnt manage, and now I am compiling the 2.4.23 and I am getting linking errors. Ive tried thousands of configurations, but it doesnt work... what am I doind wrong?

I follow the steps that are described under: http://myrddin.org/howto/debian-kernel-recompile.html


compile output (last part):


depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/bttv.o
depmod: i2c_bit_del_bus_Rsmp_524ae534
depmod: i2c_master_send_Rsmp_1313dc33
depmod: i2c_bit_add_bus_Rsmp_baecbb4e
depmod: i2c_master_recv_Rsmp_f1041854
depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/msp3400.o
depmod: i2c_master_send_Rsmp_1313dc33
depmod: i2c_probe_Rsmp_59b95524
depmod: i2c_attach_client_Rsmp_e230575f
depmod: i2c_detach_client_Rsmp_293e7552
depmod: i2c_transfer_Rsmp_da722bad
depmod: i2c_add_driver_Rsmp_6ec4580a
depmod: i2c_del_driver_Rsmp_37c75d23
depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/tda7432.o
depmod: i2c_master_send_Rsmp_1313dc33
depmod: i2c_probe_Rsmp_59b95524
depmod: i2c_attach_client_Rsmp_e230575f
depmod: i2c_detach_client_Rsmp_293e7552
depmod: i2c_add_driver_Rsmp_6ec4580a
depmod: i2c_del_driver_Rsmp_37c75d23
depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/tda9875.o
depmod: i2c_master_send_Rsmp_1313dc33
depmod: i2c_probe_Rsmp_59b95524
depmod: i2c_attach_client_Rsmp_e230575f
depmod: i2c_detach_client_Rsmp_293e7552
depmod: i2c_transfer_Rsmp_da722bad
depmod: i2c_add_driver_Rsmp_6ec4580a
depmod: i2c_del_driver_Rsmp_37c75d23
depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/tda9887.o
depmod: i2c_master_send_Rsmp_1313dc33
depmod: i2c_probe_Rsmp_59b95524
depmod: i2c_attach_client_Rsmp_e230575f
depmod: i2c_detach_client_Rsmp_293e7552
depmod: i2c_add_driver_Rsmp_6ec4580a
depmod: i2c_del_driver_Rsmp_37c75d23
depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/tuner.o
depmod: i2c_master_send_Rsmp_1313dc33
depmod: i2c_probe_Rsmp_59b95524
depmod: i2c_attach_client_Rsmp_e230575f
depmod: i2c_detach_client_Rsmp_293e7552
depmod: i2c_master_recv_Rsmp_f1041854
depmod: i2c_add_driver_Rsmp_6ec4580a
depmod: i2c_del_driver_Rsmp_37c75d23
depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/tvaudio.o
depmod: i2c_master_send_Rsmp_1313dc33
depmod: i2c_probe_Rsmp_59b95524
depmod: i2c_attach_client_Rsmp_e230575f
depmod: i2c_detach_client_Rsmp_293e7552
depmod: i2c_transfer_Rsmp_da722bad
depmod: i2c_master_recv_Rsmp_f1041854
depmod: i2c_add_driver_Rsmp_6ec4580a
depmod: i2c_del_driver_Rsmp_37c75d23
make[2]: *** [_modinst_post] Error 1
make[2]: Leaving directory `/usr/src/linux-2.4.23'
make[1]: *** [real_stamp_image] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.23'

ilikejam 12-14-2003 05:39 PM

Hi.

Try doing

# make mrproper

before you do 'make config' or xconfig or whatever.

That should get rid of old object files.

Dave

teval 12-14-2003 08:51 PM

Also note that it's proper to link the kernel you are running to
/usr/linux
A lot of low-level programs need certain kernel files, and there might be big problems if you have the wrong kernel linked there while compiling things.
Just wanted to point that out since I saw you had make[1]: Leaving directory `/usr/src/linux-2.4.23' in there :)

ash4stuff 12-15-2003 03:32 AM

hhmmm..... "Just wanted to point that out since I saw you had make[1]: Leaving directory `/usr/src/linux-2.4.23' in there"

oh, that could be the problem... i always link the kernel sources to /usr/src/linux

are you sure i have to link to /usr/linux ? and not /usr/src/linux ? thats how ive seen it in most debian howtos, although i am compiling a src from kernel.org ill give it a try.

I donīt understand that he is trying to find ../src/linux-2.4.23 if there isnt any. Maybe I should link to ../src/linux-2.4.23 too :D

thanks!

ash4stuff 12-15-2003 03:52 AM

opps, stupid me... of course there is a .../linux-2-4-23, its the one im linking to /usr/src/linux... jeje

ash4stuff 12-15-2003 04:30 AM

it worked this time!!! aaaaaaaaaaaaaaaooooooooooooouuuuuuu!!!

now, i dont know exactly what solved it though..... jejeje... ill play around with it for awhile...

thanks!!

verigoth 12-15-2003 05:11 AM

the problem is that you had a bunch of bttv cards (tv-in cards) selected without i2c interface support (or so it seems). do you really need support for all these cards? if you have one find the one you have and enable that driver...most of that doesn't need to be there...imo if you're going to compile a kernel with a million modules use the one supplied by the distro...at least it works

verigoth

ash4stuff 12-15-2003 05:30 AM

in the 2.4.23, I can only select the BT848 in a block under Video for Linux, so it seems. At least from menuconfig, or do I have to do something else manually to get rid of the extra ones, I know for my video card to work I need at least 5 modules that come with the BT848 when i was compiling the 2.4.22. In the 2.4.23 all looks very different... so the bt848 tuner and so one is necessary.. the tda**** stuff i dont know...

Ill check the i2c interface support...

ash4stuff 12-15-2003 05:48 AM

oohh... hmmm... the i2c files are under ../include/linux/... and under modules.. but I dont find an option to include it under menuconfig. Im I doing something completely wrong?

ash4stuff 12-15-2003 05:49 AM

do i have to apply a patch to the kernel?

hmm, i didnt have to do this when i compiled 2.4.22

verigoth 12-15-2003 05:59 AM

i2c support submenu is under character devices in make menuconfig

ash4stuff 12-15-2003 06:08 AM

thanks, I had just found it... Ive gone over the menu at least 10 times one option at a time..... i think i need more sleep... ;) Thank you very much!

ash4stuff 12-15-2003 06:21 AM

good this time it compiled with everything i need on it... (for now... still missing agp 8x support... )

thanks again,


Ashley

mudelf 01-01-2004 09:41 AM

Hello,

I am currently having exactly the same problem with the same make errors.
I read this post but the sollution is not totally clear.

Do you mean to say that I should have a sym pointing at my CURRENT kernel source

e.g. An ls of /usr.src would reveal amongst other things:-

linux -> 2.4.18-bf2.4

of should it point at:-

linux -> 2.6.0 ?


At the moment I do not have a "/usr/linux" directory and have not heard of this before - (this is a totally normal woody build) - I thought all kernel build stuff took place in /usr/src ?

Also annoyingly I did not have my kernel source installed so I did an apt-get install kernel-headers-2.4.18-bf2.4 which placed a kernel-headers dir in my usr/src directory - should I make a "linux" sym link to this?

Is there another way to upgrade to 2.6.0 using Debians package system and not the normal
way?


Thanks :)

ash4stuff 01-01-2004 04:46 PM

Hi! Youre trying to compile 2.6 right?

First check out the software requirements, some or listed here:

http://armin.emx.at/kernel_2.6/kernel_2.6_howto.html
(2.6 howto)

http://armin.emx.at/kernel_2.6/Changes-2.6.0
(changelog)


Heres another usefull link: http://kerneltrap.org/node/view/799


Upgrade the software you need via apt (THIS IS VERY IMPORTANT)
its important that you install module-init-tool and also upgrade menuconfig


As far as I know, there are no debian 2.6.0 kernel sources available (only test versions), but dont worry, its not hard to make your own package.

Take a look at:
http://myrddin.org/howto/debian-kernel-recompile.html

This is how I exactly do it:

--> download the kernel sources from www.kernel.org

cd /usr/src
bunzip2 -c kernel-source-2.6.0.tar.bz2 | tar x

# Now you have /usr/src/linux-2.6.0

ln -s linux-2.6.0 linux

# You need /usr/src/linux to point to the kernel sources that you want to compile
# While compiling certain "somethings" will look for the source there...
# Don't worry about if you didnt have this link before, you dont need until until you
# compile

cd linux
emacs (vi) Makefile

# Here you will see something like:

VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 0
EXTRAVERSION =

etc...etc..
######

# I modify the extraversion everytime I compile a kernel, it appends your "extraversion" to
# the linux kernel and modules directories, etc.. etc... (you get a
# vmlinuz-2.6.0-extraversion)
# Personally i put a date, a "version" number and a letter that denotes how "optimized" it is.

## example:

VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 0
EXTRAVERSION =-23122003-b02

#####

#Now under /usr/src/linux :

make mrproper # (dont know if this is really necesary, but just in case ;) )
make menuconfig

--> configure your kernel.... start with something simple!

# if it compiles well, I save the /usr/src/linux/.config to a dir that I have and I everytime I
# change something with menuconfig I write it to a file, so I can keep track of what I am
# doing.

# Now I can make a package:

make-kpkg kernel_image

# if it compiles well, I will have a deb file at /usr/src/. I save the /usr/src/linux/.config to a dir
# that I have and I everytime I change something with menuconfig I write it to a file, so I
# can keep track of what I am doing.

# and then I can install it:

dpkg -i kernel-image-2.6.0-extraversion.0_i386.deb


# now you only have to modify your grub or lilo to boot it :D
# but maybe you still dont have all you want on your kernel....
# so you ...

cd /usr/src/linux
make mrproper (cleans everything out)
cp ../configfiles/.config-2.6.0 ./.config
make menuconfig
--> add what ever you need and keep track of your changes...
make-kpkg kernel_image

# it would replace the deb you created before. If you want to create another deb with a
# different extraversion, you would have to change the Makefile, and sometimes it gives an
# error at compile time, so when I do that I delete the linux-2.6.0 where I was working and
# unpack a new one, change the Makefile and copy the .config file.


Im not an expert and there are probably better ways of doing things. I know there is a --append-to-version option with make-kpkg but I was getting some compile errors once although Im not sure if it was that.

Hope this helps :D
Ashley


All times are GMT -5. The time now is 09:06 PM.