Error building kernel Suse 11.1

I am trying to build a new kernel (2.6.27.29-0.1-default) to exclude generic processor support. I get the following error in make:

CC [M] drivers/ata/sata_sil.o
drivers/ata/sata_sil.c: In function â:
drivers/ata/sata_sil.c:608: error: array type has incomplete element type
drivers/ata/sata_sil.c:610: error: field name not in record or union initializer
drivers/ata/sata_sil.c:610: error: (near initialization for â)
drivers/ata/sata_sil.c:611: error: field name not in record or union initializer
drivers/ata/sata_sil.c:611: error: (near initialization for â)
drivers/ata/sata_sil.c:612: error: implicit declaration of function â
drivers/ata/sata_sil.c:612: error: â undeclared (first use in this function)
drivers/ata/sata_sil.c:612: error: (Each undeclared identifier is reported only once
drivers/ata/sata_sil.c:612: error: for each function it appears in.)
drivers/ata/sata_sil.c:613: error: â undeclared (first use in this function)
drivers/ata/sata_sil.c:616: error: field name not in record or union initializer
drivers/ata/sata_sil.c:616: error: (near initialization for â)
drivers/ata/sata_sil.c:621: error: implicit declaration of function â
drivers/ata/sata_sil.c:621: warning: initialization makes pointer from integer without a cast
drivers/ata/sata_sil.c:624: error: dereferencing pointer to incomplete type
drivers/ata/sata_sil.c:608: warning: unused variable â
make[2]: *** [drivers/ata/sata_sil.o] Error 1
make[1]: *** [drivers/ata] Error 2
make: *** [drivers] Error 2

Can anyone help please? Is it possible to exclude this driver in make xconfig?

Thanks for any help

Hi
Follow user lwfinger’s tip in this thread about compiling the kernel.
It works a treat :slight_smile:
http://forums.opensuse.org/pre-release-beta/421320-questions-help-regarding-kernel-2-6-31-a.html


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.27.29-0.1-default
up 5 days 2:02, 5 users, load average: 0.20, 0.09, 0.04
GPU GeForce 8600 GTS Silent - CUDA Driver Version: 190.18

Malcolm wrote:
>

> Hi
> Follow user lwfinger’s tip in this thread about compiling the kernel.
> It works a treat :slight_smile:
> http://forums.opensuse.org/pre-release-beta/421320-questions-help-regarding-kernel-2-6-31-a.html

To answer your question, you may exclude ANY driver that you do not
NEED. Knowing what you actually need is the question.

I’m not quite sure how you got to this point. If you are using the
source obtained through YaST, and the configuration from
/proc/config.gz, then the kernel should just plain build.

Yes I did get the source using yast. I then executed make xconfig then make. It should just plain build, but it doesn’t.

Ooops! Didn’t know about /proc/config.gz :shame:

Now builds OK.

Thanks for the tips! :slight_smile:

On 10/08/2009 11:06 AM, angelambayley wrote:
>
> Yes I did get the source using yast. I then executed make xconfig then
> make. It should just plain build, but it doesn’t.

The downloaded source does not have a configuration. When you did the
‘make xconfig’ step, you got the default configuration for your
architecture. That is not quite right. I would expect it to build but
not run.

In the article that Malcolm referenced, I give the correct set of
steps. Please read it now.

On 10/08/2009 11:26 AM, angelambayley wrote:
>
> lwfinger;2048608 Wrote:
>> Malcolm wrote:
>>>
>>> Hi
>>> Follow user lwfinger’s tip in this thread about compiling the
>> kernel.
>>> It works a treat :slight_smile:
>>> ‘Questions/help regarding kernel 2.6.31 - openSUSE Forums’
>> (http://tinyurl.com/yewmy73)
>>
>> To answer your question, you may exclude ANY driver that you do not
>> NEED. Knowing what you actually need is the question.
>>
>> I’m not quite sure how you got to this point. If you are using the
>> source obtained through YaST, and the configuration from
>> /proc/config.gz, then the kernel should just plain build.
>
> Ooops! Didn’t know about /proc/config.gz :shame:
>
> Now builds OK.
>
> Thanks for the tips! :slight_smile:

I hope you also saw and followed the admonition on not building as root.

Right! :wink:

Many thanks again for your help. The tips in your info are invaluable.

Actually as a postscript (hope someone is reading this…):’(

The original problem - as follows:

CC [M] drivers/ata/sata_sil.o
drivers/ata/sata_sil.c: In function â:
drivers/ata/sata_sil.c:608: error: array type has incomplete element
type
drivers/ata/sata_sil.c:610: error: field name not in record or union
initializer
drivers/ata/sata_sil.c:610: error: (near initialization for â)
drivers/ata/sata_sil.c:611: error: field name not in record or union
initializer
drivers/ata/sata_sil.c:612: error: implicit declaration of function â
drivers/ata/sata_sil.c:612: error: â undeclared (first use in this
function)
drivers/ata/sata_sil.c:612: error: (Each undeclared identifier is
reported only once
drivers/ata/sata_sil.c:612: error: for each function it appears in.)
drivers/ata/sata_sil.c:613: error: â undeclared (first use in this
function)
drivers/ata/sata_sil.c:616: error: field name not in record or union
initializer
drivers/ata/sata_sil.c:616: error: (near initialization for â)
drivers/ata/sata_sil.c:621: error: implicit declaration of function â
drivers/ata/sata_sil.c:621: warning: initialization makes pointer from
integer without a cast
drivers/ata/sata_sil.c:624: error: dereferencing pointer to incomplete
type
drivers/ata/sata_sil.c:608: warning: unused variable â
make[2]: *** [drivers/ata/sata_sil.o] Error 1
make[1]: *** [drivers/ata] Error 2
make: *** [drivers] Error 2

occurs even after following lwfinger’s instructions, re /proc/config.gz.

It seems to happen when I exclude ACPI in menu xconfig, this obviously conflicts with the sata_sil driver.

Can anyone help again?

Many thanks

Why would you want to exclude ACPI??

If you don’t need that sata_sil then just exclude it from building :slight_smile:

Sorry for asking such a stupid question but how do I exclude it in make xconfig?

Or am I missing the blindingly obvious??? :\

On 10/08/2009 02:26 PM, angelambayley wrote:
>
> BenderBendingRodriguez;2048688 Wrote:
>> Why would you want to exclude ACPI??
>>
>> If you don’t need that sata_sil then just exclude it from building :slight_smile:
>
> Sorry for asking such a stupid question but how do I exclude it in make
> xconfig?
>
> Or am I missing the blindingly obvious??? :\

It is not easy to find. It is under Device Drivers => Serial ATA… =>
ATA SFF Support => Silicon Image SATA Support

Are you sure you really want to exclude ACPI? A lot of stuff will
break, or do you need to set acpi=off in order to boot?

Been advised by the manufacturer that acpi should be turned off in the BIOS in order to receive interrupts from a pci bridge device.

If I do this and set acpi=off is this equivalent to building without acpi support?

Many thanks for your help

Yes and no.

  • Yes, it will switch off ACPI

  • No, because if needed later, you can easily switch back without having to rebuild the kernel

P.S.

http://catb.org/~esr/faqs/smart-questions.html#goal