# HELP:  Something broke, can no longer compile kernels

## theosib

I don't know what went wrong, but something's gone awry, and I can no longer build kernels.  I'm using genkernel, with these options:

```
INSTALL="yes"

OLDCONFIG="yes"

MENUCONFIG="yes"

CLEAN="yes"

MRPROPER="yes"

MOUNTBOOT="yes"

SAVE_CONFIG="yes"

USECOLOR="yes"

MDADM="yes"

DISKLABEL="yes"

BOOTLOADER="grub"

GK_SHARE="${GK_SHARE:-/usr/share/genkernel}"

CACHE_DIR="/var/cache/genkernel"

DISTDIR="${CACHE_DIR}/src"

LOGFILE="/var/log/genkernel.log"

LOGLEVEL=1

DEFAULT_KERNEL_SOURCE="/usr/src/linux"

BUSYBOX_VER="1.19.3"

BUSYBOX_SRCTAR="${DISTDIR}/busybox-${BUSYBOX_VER}.tar.bz2"

BUSYBOX_DIR="busybox-${BUSYBOX_VER}"

BUSYBOX_BINCACHE="%%CACHE%%/busybox-${BUSYBOX_VER}-%%ARCH%%.tar.bz2"

MDADM_VER="3.1.5"

MDADM_DIR="mdadm-${MDADM_VER}"

MDADM_SRCTAR="${DISTDIR}/mdadm-${MDADM_VER}.tar.bz2"

MDADM_BINCACHE="%%CACHE%%/mdadm-${MDADM_VER}-%%ARCH%%.tar.bz2"
```

And some other stuff that isn't relevant like LVM and SCSI.

When I compile a kernel, during the module building phase, it bombs out.  Here are some portions of that

```
...

  OBJCOPY arch/x86/boot/setup.bin

  BUILD   arch/x86/boot/bzImage

Setup is 13248 bytes (padded to 13312 bytes).

System is 3371 kB

CRC 846e2ba6

Kernel: arch/x86/boot/bzImage is ready  (#1)

*         >> Not installing firmware as it's included in the kernel already (CONFIG_FIRMWARE_IN_KERNEL=y)...

*         >> Compiling 3.4.0-gentoo modules...

COMMAND: make -j5 CC="gcc" LD="ld" AS="as" ARCH="x86"

make[1]: Nothing to be done for `all'.

make[1]: Nothing to be done for `relocs'.

  CHK     include/linux/version.h

  CHK     include/generated/utsrelease.h

  CALL    scripts/checksyscalls.sh

  CC [M]  arch/x86/kvm/vmx.o

  AS [M]  arch/x86/crypto/aes-x86_64-asm_64.o

  CC [M]  arch/x86/crypto/aes_glue.o

  CC [M]  arch/x86/kernel/msr.o

  AS [M]  arch/x86/crypto/twofish-x86_64-asm_64.o

...

  LD [M]  drivers/scsi/sym53c8xx_2/sym53c8xx.o

  CC [M]  drivers/scsi/qla4xxx/ql4_isr.o

  CC [M]  drivers/scsi/qla2xxx/qla_iocb.o

  CC [M]  drivers/scsi/qla2xxx/qla_isr.o

  CC [M]  drivers/scsi/lpfc/lpfc_nportdisc.o

  CC [M]  drivers/scsi/lpfc/lpfc_scsi.o

  CC [M]  drivers/scsi/qla4xxx/ql4_nx.o

cc1: warnings being treated as errors

drivers/scsi/lpfc/lpfc_scsi.c: In function ‘lpfc_bg_setup_bpl’:

drivers/scsi/lpfc/lpfc_scsi.c:1900:11: error: unused variable ‘rc’

drivers/scsi/lpfc/lpfc_scsi.c: In function ‘lpfc_bg_setup_bpl_prot’:

drivers/scsi/lpfc/lpfc_scsi.c:2037:11: error: unused variable ‘rc’

drivers/scsi/lpfc/lpfc_scsi.c: In function ‘lpfc_bg_setup_sgl’:

drivers/scsi/lpfc/lpfc_scsi.c:2256:11: error: unused variable ‘rc’

drivers/scsi/lpfc/lpfc_scsi.c: In function ‘lpfc_bg_setup_sgl_prot’:

drivers/scsi/lpfc/lpfc_scsi.c:2386:11: error: unused variable ‘rc’

make[3]: *** [drivers/scsi/lpfc/lpfc_scsi.o] Error 1

make[3]: *** Waiting for unfinished jobs....

  CC [M]  drivers/scsi/qla4xxx/ql4_nvram.o

  LD [M]  drivers/scsi/scsi_tgt.o

  CC [M]  drivers/scsi/qla4xxx/ql4_dbg.o

  CC [M]  drivers/scsi/qla2xxx/qla_gs.o

make[2]: *** [drivers/scsi/lpfc] Error 2

make[2]: *** Waiting for unfinished jobs....

  CC [M]  drivers/scsi/qla2xxx/qla_dbg.o

  CC [M]  drivers/scsi/qla4xxx/ql4_attr.o

...

make[1]: *** [drivers/scsi] Error 2

make: *** [drivers] Error 2

* Gentoo Linux Genkernel; Version 3.4.33.1^[[0m

* Running with options: all

* ERROR: Failed to compile the "modules" target...

*

```

This is for kernel 3.4.0, but I have tried compiling 3.0.7, which I had no problem with before, and that too bombs out with errors.

Can someone please help me with this?

Thanks!

----------

## theosib

This isn't really a genkernel problem.  It's something else, because I get the same error when compiling without genkernel:

```
# make modules

scripts/kconfig/conf --silentoldconfig Kconfig

make[1]: Nothing to be done for `all'.

make[1]: Nothing to be done for `relocs'.

  CHK     include/linux/version.h

  CHK     include/generated/utsrelease.h

  CALL    scripts/checksyscalls.sh

  CC [M]  drivers/scsi/lpfc/lpfc_scsi.o

cc1: warnings being treated as errors

drivers/scsi/lpfc/lpfc_scsi.c: In function ‘lpfc_bg_setup_bpl’:

drivers/scsi/lpfc/lpfc_scsi.c:1900:11: error: unused variable ‘rc’

drivers/scsi/lpfc/lpfc_scsi.c: In function ‘lpfc_bg_setup_bpl_prot’:

drivers/scsi/lpfc/lpfc_scsi.c:2037:11: error: unused variable ‘rc’

drivers/scsi/lpfc/lpfc_scsi.c: In function ‘lpfc_bg_setup_sgl’:

drivers/scsi/lpfc/lpfc_scsi.c:2256:11: error: unused variable ‘rc’

drivers/scsi/lpfc/lpfc_scsi.c: In function ‘lpfc_bg_setup_sgl_prot’:

drivers/scsi/lpfc/lpfc_scsi.c:2386:11: error: unused variable ‘rc’

make[3]: *** [drivers/scsi/lpfc/lpfc_scsi.o] Error 1

make[2]: *** [drivers/scsi/lpfc] Error 2

make[1]: *** [drivers/scsi] Error 2

make: *** [drivers] Error 2

```

----------

## theosib

When I try to compile 3.0.7, a kernel that I have successfully compiled in the past, I get this error during the phase when genkernel creates the initrd:

```
...

  CC      libbb/unicode.o

  CC      util-linux/volume_id/volume_id.o

  CC      util-linux/mkfs_ext2.o

  CC      util-linux/mkfs_vfat.o

util-linux/mkfs_ext2.c:51:27: fatal error: linux/ext2_fs.h: No such file or directory

compilation terminated.

make[1]: *** [util-linux/mkfs_ext2.o] Error 1

make[1]: *** Waiting for unfinished jobs....

  CC      libbb/update_passwd.o

  AR      shell/lib.a

...

```

And indeed, there is no "/usr/include/linux/ext2_fs.h".  I figured that would be part of linux-headers, but I reemerged that, and there was no change.

----------

## Hello71

I think lots of people are having problems compiling 3.4 kernel on Gentoo.

----------

## Skillshot

This is fixed upstream. If you'd like to fix it by yourself, apply this against /usr/src/linux/drivers/scsi/lpfc/lpfc_scsi.c :

```

--- a/usr/src/linux/drivers/scsi/lpfc/lpfc_scsi.c   2012-05-23 10:14:04.279745747 +0200

+++ b/usr/src/linux/drivers/scsi/lpfc/lpfc_scsi.c   2012-05-23 10:01:41.591004127 +0200

@@ -1897,7 +1897,9 @@

    dma_addr_t physaddr;

    int i = 0, num_bde = 0, status;

    int datadir = sc->sc_data_direction;

+#ifdef CONFIG_SCSI_LPFC_DEBUG_FS

    uint32_t rc;

+#endif

    uint32_t checking = 1;

    uint32_t reftag;

    unsigned blksize;

@@ -2034,7 +2036,9 @@

    int datadir = sc->sc_data_direction;

    unsigned char pgdone = 0, alldone = 0;

    unsigned blksize;

+#ifdef CONFIG_SCSI_LPFC_DEBUG_FS

    uint32_t rc;

+#endif

    uint32_t checking = 1;

    uint32_t reftag;

    uint8_t txop, rxop;

@@ -2253,7 +2257,9 @@

    uint32_t reftag;

    unsigned blksize;

    uint8_t txop, rxop;

+#ifdef CONFIG_SCSI_LPFC_DEBUG_FS

    uint32_t rc;

+#endif

    uint32_t checking = 1;

    uint32_t dma_len;

    uint32_t dma_offset = 0;

@@ -2383,7 +2389,9 @@

    uint32_t reftag;

    uint8_t txop, rxop;

    uint32_t dma_len;

+#ifdef CONFIG_SCSI_LPFC_DEBUG_FS

    uint32_t rc;

+#endif

    uint32_t checking = 1;

    uint32_t dma_offset = 0;

    int num_sge = 0;

```

Hope that helps out.

----------

## ecko

 *theosib wrote:*   

> When I try to compile 3.0.7, a kernel that I have successfully compiled in the past, I get this error during the phase when genkernel creates the initrd:

 

Revert to genkernel-3.4.20. the version 3.4.24_p1 went stable a couple of days ago, you might have updated it without noticing. It fails compiling the kernel on my machine with the same errors you reported, and reverting solved the problem.

----------

## saellaven

 *theosib wrote:*   

> When I try to compile 3.0.7, a kernel that I have successfully compiled in the past, I get this error during the phase when genkernel creates the initrd:
> 
> ```
> ...
> 
> ...

 

it's now <ext2fs/ext2_fs.h>

----------

