Jump to content

I don't understand why my kernel compile is failing...?


pastored
 Share

Recommended Posts

Hello, everyone. Thanks for reading this post.

 

I'm trying to recompile my kernel, as per the tutorial mentioned in the FAQ. However, I get to a certain point, and this is the error message I get:

 

structure has no member named `users'

 

(it's for a videodev module - I'm trying to enable video capturing in Linux)

 

Help! I REALLY don't want to go back to Windoze just to capture video!!

 

Any help would be greatly appreciated.

Link to comment
Share on other sites

It would be more helpful if you would be more specific about which point is 'a certain point', please. Maybe post a couple lines before and after. I'm assuming it's during 'make modules', but it would still be helpful to see some of the actual output.

Link to comment
Share on other sites

Thanks again for all your help, guys.

 

By the way, I'm following the tutorial at

 

http://www.mandrakeusers.org/viewtopic.php?t=4595

 

and I'm using this page for some pointers

 

http://www.reades.com/radeon.html

 

Anyway, when I

 

make dep bzImage

 

I see this:

 

 

make[3]: Entering directory `/usr/src/linux-2.4.21-0.13mdk/drivers/media/video'

make all_targets

make[4]: Entering directory `/usr/src/linux-2.4.21-0.13mdk/drivers/media/video'

gcc -D__KERNEL__ -I/usr/src/linux-2.4.21-0.13mdk/include  -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc -iwithprefix include -DKBUILD_BASENAME=videodev  -DEXPORT_SYMTAB -c videodev.c

videodev.c: In function `video_read':

videodev.c:73: warning: implicit declaration of function `video_devdata'

videodev.c:73: warning: initialization makes pointer from integer without a cast

videodev.c: In function `video_write':

videodev.c:89: warning: initialization makes pointer from integer without a cast

videodev.c: At top level:

videodev.c:97: warning: type mismatch with previous implicit declaration

videodev.c:89: warning: previous implicit declaration of `video_devdata'

videodev.c:97: warning: `video_devdata' was previously implicitly declared to return `int'

videodev.c: In function `video_open':

videodev.c:157: structure has no member named `users'

videodev.c:161: structure has no member named `users'

videodev.c:169: structure has no member named `users'

videodev.c: In function `video_release':

videodev.c:201: structure has no member named `users'

videodev.c: In function `video_exclusive_open':

videodev.c:311: structure has no member named `lock'

videodev.c:312: structure has no member named `users'

videodev.c:315: structure has no member named `users'

videodev.c:317: structure has no member named `lock'

videodev.c: In function `video_exclusive_release':

videodev.c:325: structure has no member named `users'

videodev.c: In function `video_register_device':

videodev.c:586: structure has no member named `lock'

videodev.c: At top level:

videodev.c:639: warning: static declaration for `videodev_init' follows non-static

make[4]: *** [videodev.o] Error 1

make[4]: Leaving directory `/usr/src/linux-2.4.21-0.13mdk/drivers/media/video'

make[3]: *** [first_rule] Error 2

make[3]: Leaving directory `/usr/src/linux-2.4.21-0.13mdk/drivers/media/video'

make[2]: *** [_subdir_video] Error 2

make[2]: Leaving directory `/usr/src/linux-2.4.21-0.13mdk/drivers/media'

make[1]: *** [_subdir_media] Error 2

make[1]: Leaving directory `/usr/src/linux-2.4.21-0.13mdk/drivers'

make: *** [_dir_drivers] Error 2

 

So, what does that MEAN? I'm way lost here...

Link to comment
Share on other sites

You are correct! At least on Mandrake kernels. Doing 'make clean' didn't sit well with LFS.

 

I do;

make mrproper

make xconfig

make dep clean bzImage && make -j5 modules && make modules_install

 

and so on.

 

I'll pm aru about the FAQ. :wink:

Link to comment
Share on other sites

hehe, I was pretty sure of that (bvc, check the PM I sent you) :mrgreen: ;)

 

 

I don't think there is anything wrong with the FAQ you are following (I've edited it this morning to clarify things a bit more anyhow). I think that the problem is with your kernel configuration.

 

When you configured your kernel, did you read the help when you enabled those video features? Probably you missed to enable something else needed for the feature you are trying to compile.

 

HTH

Link to comment
Share on other sites

Also try to keep it simple. For the video section, try to keep a consistency btween what's in the kernel and what's a module. Either make them modules (best way) or put them in the kernel....not both.

 

On the clean thing......like I told aru, it's how I've always done it based on intructions on the internet for mdk kernels. It's always worked for me and as aru pointed out may not actually be doing anything :roll: but I always figured it was cleaning up after make xconfig and dep b4 running bzImage.

 

Is it happening at make dep?...or make bzImage? The first thing I do when having probs is run them individually instead of together, so it's easier to pinpoint the prob. You may not even be getting to make clean yet :shock: :wink:

Link to comment
Share on other sites

Also try to keep it simple. For the video section, try to keep a consistency btween what's in the kernel and what's a module. Either make them modules (best way) or put them in the kernel....not both.

I agree with you in that point.

 

 

Is it happening at make dep?...or make bzImage?
It is probably happening at make bzImage as per how the output looks like.

 

I think you should compile all that stuff as modules.

Link to comment
Share on other sites

In the Makefile I've found a rule named checkconfig, I'm wondering if running that one after editing the configuration would show misconfiguration failures.

 

make checkconfig --> runs the script "/usr/src/linux/scripts/checkconfig.pl"

 

Another promising one is:

 

make checkincludes --> runs "[..]/scripts/checkincludes.pl"

 

 

I 've never tried them, and I'm too lazy and tired now to check if those things work or not :P

Link to comment
Share on other sites

  • 2 weeks later...

Whoo Hoo!

 

Of course, I cheated. I completely reinstalled Mandrake 9.1, and so I was able to start with a fresh installation.

 

I think my PROBLEM was that I had tried to add some extra module to get my video capture to work... but when I tried the recompile with a "pure" source, it worked like a charm.

 

I am now posting from a newly "Duronized" kernel. MUCH faster. :D

 

Now if I can just figure out how to "duronize" my other apps... :D

 

Thanks for your help guys!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...