# cannot compile kernel 2.6.38-gentoo-r1

## Aquous

Hi guys

I can't seem to compile 2.6.38-gentoo-r1. It compiles just fine until it gets to ipv4:

```
  CHK     include/linux/version.h

  CHK     include/generated/utsrelease.h

  CALL    scripts/checksyscalls.sh

  CHK     include/generated/compile.h

make[3]: *** No rule to make target 'net/ipv4/netfilter/ipt_LOG.o', required by 'net/ipv4/netfilter/built-in.o'.  Aborted.

make[2]: *** [net/ipv4/netfilter] Error 2

make[1]: *** [net/ipv4] Error 2

make: *** [net] Error 2
```

I configured the kernel .config simply by doing 'zcat /proc/config.gz>.config && make oldconfig' from my running 2.6.38-gentoo kernel - it prompted me to answer one change (something about a game controller or something like that) and after that exited just fine.

Any thoughts?

----------

## DONAHUE

bad copy of kernel source?

I'm using 2.6.38-r1. No problem emerging a week or so back or using now.

```
ls /usr/src/linux/net/ipv4/netfilter/Makefile
```

Got one?

I would blow away all of 2.6.38-r1 as in:

```
emerge --umnerge =sys-kernel/gentoo-sources-2.6.38-r1

rm -rf /usr/src/linux

emerge gentoo-sources
```

get a config file from http://kernel-seeds.org/ configure the drivers and see what happens

----------

## Aquous

Deleted /usr/src/linux/*, deleted /usr/portage/distfiles/*, re-emerged gentoo-sources, no change.

I do have the makefile and I re-created my config from scratch using pappy's seed, but still no go.  :Sad: 

If it means anything, here are the contents of the offending Makefile:

```
#

# Makefile for the netfilter modules on top of IPv4.

#

# objects for l3 independent conntrack

nf_conntrack_ipv4-y   :=  nf_conntrack_l3proto_ipv4.o nf_conntrack_proto_icmp.o

ifeq ($(CONFIG_NF_CONNTRACK_PROC_COMPAT),y)

ifeq ($(CONFIG_PROC_FS),y)

nf_conntrack_ipv4-objs   += nf_conntrack_l3proto_ipv4_compat.o

endif

endif

nf_nat-y      := nf_nat_core.o nf_nat_helper.o nf_nat_proto_unknown.o nf_nat_proto_common.o nf_nat_proto_tcp.o nf_nat_proto_udp.o nf_nat_proto_icmp.o

iptable_nat-y   := nf_nat_rule.o nf_nat_standalone.o

# connection tracking

obj-$(CONFIG_NF_CONNTRACK_IPV4) += nf_conntrack_ipv4.o

obj-$(CONFIG_NF_NAT) += nf_nat.o

# defrag

obj-$(CONFIG_NF_DEFRAG_IPV4) += nf_defrag_ipv4.o

# NAT helpers (nf_conntrack)

obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_amanda.o

obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o

obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o

obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o

obj-$(CONFIG_NF_NAT_PPTP) += nf_nat_pptp.o

obj-$(CONFIG_NF_NAT_SIP) += nf_nat_sip.o

obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o

obj-$(CONFIG_NF_NAT_TFTP) += nf_nat_tftp.o

# NAT protocols (nf_nat)

obj-$(CONFIG_NF_NAT_PROTO_DCCP) += nf_nat_proto_dccp.o

obj-$(CONFIG_NF_NAT_PROTO_GRE) += nf_nat_proto_gre.o

obj-$(CONFIG_NF_NAT_PROTO_UDPLITE) += nf_nat_proto_udplite.o

obj-$(CONFIG_NF_NAT_PROTO_SCTP) += nf_nat_proto_sctp.o

# generic IP tables 

obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o

# the three instances of ip_tables

obj-$(CONFIG_IP_NF_FILTER) += iptable_filter.o

obj-$(CONFIG_IP_NF_MANGLE) += iptable_mangle.o

obj-$(CONFIG_NF_NAT) += iptable_nat.o

obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o

obj-$(CONFIG_IP_NF_SECURITY) += iptable_security.o

# matches

obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o

obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o

obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o

# targets

obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o

obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o

obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o

obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o

obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o

obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o

obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o

obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o

# generic ARP tables

obj-$(CONFIG_IP_NF_ARPTABLES) += arp_tables.o

obj-$(CONFIG_IP_NF_ARP_MANGLE) += arpt_mangle.o

# just filtering instance of ARP tables for now

obj-$(CONFIG_IP_NF_ARPFILTER) += arptable_filter.o

obj-$(CONFIG_IP_NF_QUEUE) += ip_queue.o
```

(I have no idea whether this is OK or not, I don't know Makefile-speech).

----------

## DONAHUE

ran meld diff viewer, I have identical makefile.

really crazy time: 

```
emerge --sync

eselect python list
```

Expect *Quote:*   

> ~ # eselect python list
> 
> Available Python interpreters:
> 
>   [1]   python2.7 *
> ...

 If needed 

```
emerge python

eselect python set python2.7

python-updater

perl-cleaner reallyall

lafilefixer --justfixit

revdep-rebuild

emerge gcc

gcc-config -l
```

set gcc to the latest in the list

```
emerge -e system
```

----------

## Aquous

coincidentally I had already run emerge -e world system yesterday due to finally adding graphite to my cflags.

I've applied your other suggestions and still no go.

Could you do me a favor and check something for me?

```
cd /usr/src/linux

find>~/files.list
```

and upload /home/you/files.list to pastebin? I'll see if there're any differences (well, of course there'll be, you'll have a compiled kernel and object files and I won't, but maybe I'll be able to spot anything suspicious)

----------

## DONAHUE

http://paste.pocoo.org/show/365389/

----------

## Aquous

Thanks!

When I saw the difference between our files I immediately realized that I had just been an idiot...

 *Quote:*   

> INSTALL_MASK="COPYING *LICENSE* *LICENCE* *AUTHORS* *INSTALL* *DEVELOP* *NEWS* *NOTES* *CHANGE* *ChangeLog* *.example *ABOUT* *CREDITS* *STANDARDS* *LOG* *BUGS* *TODO* *ANNOUNCE* *COMMIT* *COPYRIGHT* *RELEASE* *THANKS* *MANIFEST* *INFO* *START* *FAQ* *PORTING* *EULA* .keep*"

 

PEBKAC... the worst kind of problems   :Embarassed:   :Embarassed: 

*deeply ashamed*   :Embarassed:   :Embarassed: 

----------

## DONAHUE

I think it brilliant to ask for the list and locate the problem from it.

At least your system is now squeaky clean.   :Laughing: 

----------

