2

I downloaded kernel 3.2.1 from the kernel.org. Compiled it "successfully" on OpenSuse 11.3 64 bit.

When I tried to compile the same kernel source on Ubuntu 11.10, I got:

ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined

Then, I copied the .config from the default kernel (of Ubuntu) present on that machine (one with Ubuntu by default) to the kernel 3.2.1's folder. Did make menuconfig again, saved it without any changes. But, the same error prevailed. Also, tried with .config.old but that didn't help either.

Anyway, my question here is that if the kernel is unbiased and untouched, then why would the compilation results differ on different distributions assuming:
1. Both the machines are x bits?
2. Both the machines are latest, so is the kernel.

Doesn't the kernel read the .config in its own folder and decides on that basis which module to load and which not to? What has that to do with existing distribution during the compilation period?

5
  • It's not clear what you did on the second machine. Did you use the same .config as on the SuSE box, and run make oldconfig? Also this question is very, very similar to your previous one - would have been better to just edit that IMO.
    – Mat
    Jan 27, 2012 at 11:57
  • @Mat This is a VERY different question from the previous one. I am NOT looking for a solution to that error here. Anyway, the old .configs I tried were from the previous Ubuntu's installations on that machine. Jan 27, 2012 at 12:12
  • Here's what I understand: you compiled kernel 3.2.1 on OpenSuSE with config A. This compiled cleanly. Then you compiled kernel 3.2.1 on Ubuntu with config B, and it failed. You then ask why the results of these compilations differ. To me, this makes no sense. There is no reason to have or expect the same compilation results for different configurations, even if the underlying distro was identical.
    – Mat
    Jan 27, 2012 at 12:21
  • @Mat Listen, Will it make sense to you if you get an error with the same kernel source and the same config on two different distributions? Read the question again please, I changed the config for heck of it when the default config failed. I said When I tried to compile the same kernel source on Ubuntu 11.10, I got this error. When I got that error THEN I changed the config, and that didn't work too. Is it clear enough now? Jan 27, 2012 at 12:25
  • Starting to make sense, but still not precise enough. Exactly what file did you copy from the successful SuSE build to the Ubuntu machine? What command did you run on the Ubuntu machine before running the real compile? (e.g make menuconfig, make oldconfig, nothing?) If you didn't copy anything, how did you generate the configurations on both systems initially (before trying the Ubuntu-specific config)?
    – Mat
    Jan 27, 2012 at 12:38

1 Answer 1

2

I think this is just a dependency problem for the code of rts5139 on Ubuntu. I bet there are other related warnings about unfulfilled dependencies (during the build-process of that kernel-module).

So the answer is probably: There is a dependency missing on Ubuntu that is fulfilled in OpenSuSE. The latter has it (probably some kind of tool or library) installed by chance.

Perhaps you can check the build-output for rts5139 on OpenSuSE to see what is there as opposed to missing in Ubuntu.

3
  • The kernel source is self-contained, there should not be any "external missing dependency" (unless you use a configuration for a patched kernel with unofficial drivers).
    – vonbrand
    Jan 18, 2013 at 1:14
  • @vonbrand Nice theory. How many kernels have you compiled so far?
    – Nils
    Jan 19, 2013 at 21:32
  • Several hundred, on i?86, SPARC64, x86_64 lately.
    – vonbrand
    Jan 19, 2013 at 23:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .