Subject: Pb compiliing linux-arm

From: [email-masked]
Date: Mon, 1 Feb 1999 13:38:01 +0100

linux 2.2.1 patched with patch-2.2.1-19990128-1, compiling for 
EBSA285.

christophe

make -C ../../../drivers/char
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/char'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/char'
/usr/local/bin/arm-linux-gcc -D__KERNEL__ -I/usr/src/linux.2.2.1-
arm/include  -mapcs-32 -mshort-load-bytes -mcpu=strongarm110 -
Wall -Wstrict-prototypes -O2  -pipe   -c -o ds1620.o ds1620.c
ds1620.c: In function `netwinder_ds1620_set_clk':
ds1620.c:49: warning: implicit declaration of function 
`gpio_modify_op'
ds1620.c:49: `GPIO_DSCLK' undeclared (first use in this function)
ds1620.c:49: (Each undeclared identifier is reported only once
ds1620.c:49: for each function it appears in.)
ds1620.c: In function `netwinder_ds1620_set_data':
ds1620.c:54: `GPIO_DATA' undeclared (first use in this function)
ds1620.c: In function `netwinder_ds1620_get_data':
ds1620.c:59: warning: implicit declaration of function `gpio_read'
ds1620.c:59: `GPIO_DATA' undeclared (first use in this function)
ds1620.c:60: warning: control reaches end of non-void function
ds1620.c: In function `netwinder_ds1620_set_data_dir':
ds1620.c:64: warning: implicit declaration of function 
`gpio_modify_io'
ds1620.c:64: `GPIO_DATA' undeclared (first use in this function)
ds1620.c: In function `netwinder_ds1620_reset':
ds1620.c:69: warning: implicit declaration of function `cpld_modify'
ds1620.c:69: `CPLD_DSRESET' undeclared (first use in this 
function)
ds1620.c: In function `ds1620_ioctl':
ds1620.c:265: `GPIO_FAN' undeclared (first use in this function)
ds1620.c:220: warning: `i' might be used uninitialized in this 
function
make[3]: *** [ds1620.o] Error 1
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/char'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/char'
make[1]: *** [_subdir_../../../drivers/char] Error 2
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/arch/arm/drivers'
make: *** [_dir_arch/arm/drivers] Error 2

#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_ARM=y

#
# System and processor type
#
# CONFIG_ARCH_ARC is not set
# CONFIG_ARCH_A5K is not set
# CONFIG_ARCH_RPC is not set
CONFIG_ARCH_EBSA110=y
# CONFIG_FOOTBRIDGE is not set
CONFIG_ARCH_EBSA285=y
# CONFIG_CATS is not set
CONFIG_ARCH_NETWINDER=y
# CONFIG_ARCH_ACORN is not set
CONFIG_ISA_DMA=y
CONFIG_CPU_32=y
# CONFIG_CPU_26 is not set
# CONFIG_CPU_ARM2 is not set
# CONFIG_CPU_ARM3 is not set
# CONFIG_CPU_ARM6 is not set
# CONFIG_CPU_ARM7 is not set
CONFIG_CPU_SA110=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_ALIGNMENT_TRAP is not set
CONFIG_TEXT_SECTIONS=y

#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y

#
# General setup
#
CONFIG_NET=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_CMDLINE="root=/dev/hda2 ro mem=32M 
parport=0x378,23 ide0=autotune"
CONFIG_LEDS=y
CONFIG_LEDS_TIMER=y
CONFIG_LEDS_CPU=y
# CONFIG_OLD_CONSOLE is not set

#
# Plug and Play support
#
# CONFIG_PNP is not set

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_IDE is not set
# CONFIG_BLK_DEV_HD_ONLY is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_RAM=y
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_BLK_DEV_XD is not set
CONFIG_PARIDE_PARPORT=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_HD is not set

#
# Character devices
#
# CONFIG_VT is not set
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_UNIX98_PTYS is not set
CONFIG_PRINTER=y
CONFIG_PRINTER_READBACK=y
CONFIG_MOUSE=y

#
# Mice
#
# CONFIG_ATIXL_BUSMOUSE is not set
# CONFIG_BUSMOUSE is not set
# CONFIG_MS_BUSMOUSE is not set
CONFIG_PSMOUSE=y
# CONFIG_82C710_MOUSE is not set
# CONFIG_PC110_PAD is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_WATCHDOG is not set
CONFIG_DS1620=y
CONFIG_NWBUTTON=y
CONFIG_NWBUTTON_REBOOT=y
# CONFIG_NVRAM is not set
CONFIG_RTC=y

#
# Video For Linux
#
# CONFIG_VIDEO_DEV is not set

#
# Joystick support
#
# CONFIG_JOYSTICK is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_NETLINK is not set
# CONFIG_FIREWALL is not set
CONFIG_NET_ALIAS=y
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_IP_ROUTER is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
CONFIG_IP_ALIAS=y
CONFIG_SYN_COOKIES=y
# CONFIG_INET_RARP is not set
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
# CONFIG_IPV6 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_BRIDGE is not set
# CONFIG_LLC is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
# CONFIG_CPU_IS_SLOW is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set

#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set

#
# IrDA subsystem support
#
# CONFIG_IRDA is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_EQUALIZER is not set
CONFIG_NET_ETHERNET=y
# CONFIG_ARM_AM79C961A is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_RTL8139 is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_ACENIC is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_EISA=y
# CONFIG_PCNET32 is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_CS89x0 is not set
# CONFIG_DE4X5 is not set
CONFIG_DEC_ELCP=y
# CONFIG_DGRS is not set
# CONFIG_EEXPRESS_PRO100 is not set
# CONFIG_LNE390 is not set
# CONFIG_NE3210 is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_ES3210 is not set
# CONFIG_EPIC100 is not set
# CONFIG_ZNET is not set
# CONFIG_NET_POCKET is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_DLCI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_RADIO is not set
# CONFIG_TR is not set
# CONFIG_SHAPER is not set
# CONFIG_HOSTESS_SV11 is not set
# CONFIG_COSA is not set
# CONFIG_RCPCI is not set

#
# SCSI support
#
# CONFIG_SCSI is not set

#
# Sound
#
# CONFIG_SOUND is not set

#
# Filesystems
#
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_FAT_FS is not set
CONFIG_MSDOS_FS=m
# CONFIG_UMSDOS_FS is not set
CONFIG_VFAT_FS=m
# CONFIG_ISO9660_FS is not set
# CONFIG_JOLIET is not set
# CONFIG_MINIX_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_QNX4FS_FS is not set
CONFIG_ROMFS_FS=y
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
# CONFIG_CODA_FS is not set
CONFIG_NFS_FS=y
CONFIG_NFSD=m
# CONFIG_NFSD_SUN is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set

#
# Partition Types
#
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_SMD_DISKLABEL is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_NLS is not set

#
# Kernel hacking
#
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_ERRORS=y
# CONFIG_DEBUG_USER is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_ARTHUR is not set

unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Mon, 1 Feb 1999 18:56:35 +0000 (GMT)

> # CONFIG_FOOTBRIDGE is not set

How the hell did you manage that?  That's invalid!  The EBSA110 architecture
is /not/ EBSA285.  You want 'Footbridge'.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |
 --------------------- Email-relevent MINI FAQ ----------------------
 Installer keys   : ALT-F1 installer, ALT-F2 shell, ALT-F3 installer
                    messages, ALT-F4 kernel messages
 Ether3/B problems: try latest 2.0.34 kernel and root disk.
 --------------------------------------------------------------------

---

From: [email-masked]
Date: Tue, 2 Feb 1999 10:05:43 +0100

> is /not/ EBSA285.  You want 'Footbridge'.

Thinks, it seems to be a bug in menuconfig: Choose 
FOOTBRIDGE: 
new options come. Then choose EBSA110, options dont go.
Exit menuconfig, then relaunch it: extra options have disappeared.

This time, here's the problem:

make all_targets
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/fs'
/usr/local/bin/arm-linux-gcc -D__KERNEL__ -I/usr/src/linux.2.2.1-
arm/include  -mapcs-32 -mshort-load-bytes -mcpu=strongarm110 -
Wall -Wstrict-prototypes -O2  -pipe   -c -o binfmt_elf.o binfmt_elf.c
binfmt_elf.c: In function `load_elf_interp':
binfmt_elf.c:231: invalid type argument of `->'
binfmt_elf.c: In function `do_load_elf_binary':
binfmt_elf.c:434: invalid type argument of `->'
binfmt_elf.c: In function `do_load_elf_library':
binfmt_elf.c:841: invalid type argument of `->'
make[2]: *** [binfmt_elf.o] Error 1
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/fs'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/fs'
make: *** [_dir_fs] Error 2

#

#
# CONFIG_ARCH_EBSA110 is not set
CONFIG_FOOTBRIDGE=y
CONFIG_HOST_FOOTBRIDGE=y
# CONFIG_ADDIN_FOOTBRIDGE is not set
CONFIG_PCI=y

#

#

#
# General setup
#
CONFIG_NET=y
CONFIG_SYSVIPC=y

#
# Plug and Play support
#
# CONFIG_PNP is not set

#
# Block devices
#

#
# Character devices
#
# CONFIG_VT is not set
# CONFIG_SERIAL is not set
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_21285=y
CONFIG_SERIAL_21285_CONSOLE=y
# CONFIG_UNIX98_PTYS is not set
CONFIG_PRINTER=y
CONFIG_PRINTER_READBACK=y
CONFIG_MOUSE=y

#
# Mice
#
# CONFIG_DS1620 is not set
# CONFIG_NWBUTTON is not set

#
# Video For Linux
#

#
# Joystick support
#

#

#
# Networking options
#
CONFIG_PACKET=y

#

#
# Amateur Radio support
#

#
# IrDA subsystem support
#
# CONFIG_IRDA is not set

#
# Network device support
#
CONFIG_NETDEVICES=y

#
# SCSI support
#
# CONFIG_SCSI is not set

#
# Sound
#

#
# Filesystems
#

#
# Network File Systems
#

#
# Partition Types
#

#
# Kernel hacking
#
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_ERRORS=y

---

From: Philip Blundell <[email-masked]>
Date: Tue, 02 Feb 1999 09:58:26 +0000

>binfmt_elf.c:841: invalid type argument of `->'

That looks like you've somehow got a mismatch between your header files and 
your kernel source.  But I don't see how it could have happened.

p.

---

From: Chris Bohme <[email-masked]>
Date: Tue, 02 Feb 1999 14:50:33 +0200

Hi !

> your kernel source.  But I don't see how it could have happened.

I have got the same problem and my only solution so far is to compile the
kernel without ELF support.........

Greets,
Chris

---

From: Philip Blundell <[email-masked]>
Date: Tue, 02 Feb 1999 14:16:58 +0000

>kernel without ELF support.........

Can you mail me the output of

/usr/local/bin/arm-linux-gcc -D__KERNEL__ -I/usr/src/linux.2.2.1-arm/include  
-E binfmt_elf.c

p.

---

From: [email-masked]
Date: Tue, 2 Feb 1999 15:52:14 +0100

Problem is in elf_check_arm macro of arm elf.h

include/asm-i386/elf.h:
#define elf_check_arch(x) ( ((x) == EM_386) || ((x) == EM_486) )

include/asm-arm/elf.h:
#define elf_check_arch(x) ( ((x)->e_machine == EM_ARM) && 
(ELF_PROC_OK((x))) )

fs/binfmt_elf.c:
	if (!elf_check_arch(interp_elf_ex->e_machine))
	if (!elf_check_arch(elf_ex.e_machine))
	   !elf_check_arch(elf_ex.e_machine) ||

---

From: Philip Blundell <[email-masked]>
Date: Tue, 02 Feb 1999 15:03:41 +0000

>	   !elf_check_arch(elf_ex.e_machine) ||

Where did you get your source code?  This is OK in the tree I have here as far 
as I can see.  The correct version is what's in asm-arm/elf.h and the first 
line you quoted from binfmt_elf; but this is different from the current state 
of the art on other architectures.

p.

---

From: [email-masked]
Date: Tue, 2 Feb 1999 16:21:46 +0100

> of the art on other architectures.

It's a old 2.1.10x patched across weeks to 2.2.1, then patched with 
2.2.1-19990128-1-arm

I'll get entire 2.2.1 and see ...

Christophe

---

From: Philip Blundell <[email-masked]>
Date: Tue, 02 Feb 1999 15:30:52 +0000

>I'll get entire 2.2.1 and see ...

OK.  Sounds like you may have dropped a patch somewhere.  If the problem still 
happens with a clean 2.2.1 tree then shout again.

p.

---

From: [email-masked]
Date: Tue, 2 Feb 1999 18:09:46 +0100

> happens with a clean 2.2.1 tree then shout again.

I've found the problem, it has nothing to do with the tree.
patch-2.2.1-19990128-1 tries to patch file de4x5.c.lock~  , which 
doesnt exist, and patch version 2.5 dumps core and dont patch the 
remaining files.

Know, I've got another problem: arch/arm/drivers/char/char.a is not 
built

/usr/local/bin/arm-linux-gcc -D__KERNEL__ -I/usr/src/linux.2.2.1-
arm/include  -mapcs-32 -mshort-load-bytes -mcpu=strongarm110 -
Wall -Wstrict-prototypes -O2  -pipe -DUTS_MACHINE='"arm"' -c -o 
init/version.o init/version.c
make -C  kernel
make[1]: Entering directory `/usr/src/linux.2.2.1-arm/kernel'
make all_targets
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/kernel'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/kernel'
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/kernel'
make -C  arch/arm/drivers
make[1]: Entering directory `/usr/src/linux.2.2.1-
arm/arch/arm/drivers'
make -C ../../../drivers/block
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/block'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/block'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/block'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/block'
make -C char1
make[2]: Entering directory `/usr/src/linux.2.2.1-
arm/arch/arm/drivers/char1'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-
arm/arch/arm/drivers/char1'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-
arm/arch/arm/drivers/char1'
make[2]: Leaving directory `/usr/src/linux.2.2.1-
arm/arch/arm/drivers/char1'
make -C ../../../drivers/char
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/char'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/char'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/char'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/char'
make -C ../../../drivers/net
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/net'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/net'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/net'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/net'
make -C ../../../drivers/misc
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/misc'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/misc'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/misc'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/misc'
make -C ../../../drivers/pci
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/pci'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/drivers/pci'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/pci'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/drivers/pci'
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/arch/arm/drivers'
make -C  mm
make[1]: Entering directory `/usr/src/linux.2.2.1-arm/mm'
make all_targets
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/mm'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/mm'
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/mm'
make -C  fs
make[1]: Entering directory `/usr/src/linux.2.2.1-arm/fs'
make -C partitions
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/fs/partitions'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/fs/partitions'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/partitions'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/partitions'
make -C ext2
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/fs/ext2'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/fs/ext2'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/ext2'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/ext2'
make -C proc
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/fs/proc'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/fs/proc'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/proc'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/proc'
make -C nfs
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/fs/nfs'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/fs/nfs'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/nfs'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/nfs'
make -C lockd
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/fs/lockd'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/fs/lockd'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/lockd'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/lockd'
make -C romfs
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/fs/romfs'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/fs/romfs'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/romfs'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/fs/romfs'
make all_targets
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/fs'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/fs'
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/fs'
make -C  net
make[1]: Entering directory `/usr/src/linux.2.2.1-arm/net'
make -C core
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/net/core'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/net/core'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/net/core'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/net/core'
make -C ethernet
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/net/ethernet'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/net/ethernet'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/net/ethernet'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/net/ethernet'
make -C sched
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/net/sched'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/net/sched'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/net/sched'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/net/sched'
make -C 802
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/net/802'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/net/802'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/net/802'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/net/802'
make -C ipv4
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/net/ipv4'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/net/ipv4'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/net/ipv4'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/net/ipv4'
make -C unix
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/net/unix'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/net/unix'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/net/unix'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/net/unix'
make -C packet
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/net/packet'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/net/packet'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/net/packet'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/net/packet'
make -C sunrpc
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/net/sunrpc'
make all_targets
make[3]: Entering directory `/usr/src/linux.2.2.1-arm/net/sunrpc'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/usr/src/linux.2.2.1-arm/net/sunrpc'
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/net/sunrpc'
make all_targets
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/net'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/net'
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/net'
make -C  ipc
make[1]: Entering directory `/usr/src/linux.2.2.1-arm/ipc'
make all_targets
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/ipc'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/ipc'
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/ipc'
make -C  lib
make[1]: Entering directory `/usr/src/linux.2.2.1-arm/lib'
make all_targets
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/lib'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/lib'
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/lib'
make -C  arch/arm/lib
make[1]: Entering directory `/usr/src/linux.2.2.1-arm/arch/arm/lib'
make all_targets
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/arch/arm/lib'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/arch/arm/lib'
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/arch/arm/lib'
make -C  arch/arm/kernel
make[1]: Entering directory `/usr/src/linux.2.2.1-
arm/arch/arm/kernel'
make -C ../lib constants.h
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/arch/arm/lib'
make[2]: `constants.h' is up to date.
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/arch/arm/lib'
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/arch/arm/kernel'
make -C  arch/arm/mm
make[1]: Entering directory `/usr/src/linux.2.2.1-arm/arch/arm/mm'
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/arch/arm/lib'
make[2]: `constants.h' is up to date.
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/arch/arm/lib'
make all_targets
make[2]: Entering directory `/usr/src/linux.2.2.1-arm/arch/arm/mm'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/usr/src/linux.2.2.1-arm/arch/arm/mm'
make[1]: Leaving directory `/usr/src/linux.2.2.1-arm/arch/arm/mm'
/usr/local/bin/arm-linux-ld -m elf32arm -T /usr/src/linux.2.2.1-
arm/arch/arm/vmlinux-armv.lds -e stext -Ttext 0xC0008000 
arch/arm/kernel/head-armv.o arch/arm/kernel/init_task.o init/main.o 
init/version.o \
--start-group \
arch/arm/kernel/kernel.o arch/arm/mm/mm.o kernel/kernel.o 
mm/mm.o fs/fs.o ipc/ipc.o \
fs/filesystems.a \
net/network.a \
drivers/block/block.a arch/arm/drivers/char/char.a 
drivers/misc/misc.a drivers/net/net.a drivers/pci/pci.a \
arch/arm/lib/lib.a /usr/src/linux.2.2.1-arm/lib/lib.a `/usr/local/bin/arm-
linux-gcc -D__KERNEL__ -I/usr/src/linux.2.2.1-arm/include  -
mapcs-32 -mshort-load-bytes -mcpu=strongarm110 --print-libgcc-
file-name` \
	--end-group \
	-o vmlinux
/usr/local/bin/arm-linux-ld: cannot open 
arch/arm/drivers/char/char.a: No such file or directory
make: *** [vmlinux] Error 1

Christophe

---

From: Philip Blundell <[email-masked]>
Date: Tue, 02 Feb 1999 17:38:53 +0000

>Know, I've got another problem: arch/arm/drivers/char/char.a is not 

Try turning on CONFIG_FB (which should suppress char/char.a altogether) or the 
old Acorn console drivers (which should get it built).

p.

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Tue, 2 Feb 1999 20:42:45 +0000 (GMT)

> old Acorn console drivers (which should get it built).

This problem is fixed in my later kernel (due out RSN).
   _____

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Tue, 2 Feb 1999 22:32:24 +0000 (GMT)

> Exit menuconfig, then relaunch it: extra options have disappeared.

Ok, I've changed it from a choice to a bool.
   _____

---

From: Nicolas Pitre <[email-masked]>
Date: Tue, 2 Feb 1999 20:39:44 -0500 (EST)

> Ok, I've changed it from a choice to a bool.

Thing is if you have a default value for a choice and you select another,
the previous (default) value doesn't get discarded.  So you get two
definition from the same choice prompt.  The 'choice' command should
discard all variable but the one selected, not just defining the one that
you select.

Nicolas Pitre, B. ing.
[email-masked]

---

From: Russell King <[email-masked]>
Date: Wed, 3 Feb 1999 09:22:02 +0000 (GMT)

Please note that I don't think that any of the people concerned with
this problem are on l-k.  Please post any replies to linux-arm as well
as linux-kernel.  Thanks.

> discard all variable but the one selected, not just defining the one that

It's actually more complicated than that.  'choice' does not behave the same
way as the other commands in the config file - it is never grayed out under
any circumstances, and I also suspect that even when it is supposed to be
grayed out and no options selected, it still defines one option.

I don't think it's a case of undefining the unselected variables.  The
config is:

  select machine using choice

  if machine was a footbridge
    select host or add-in from a choice

Since the 'if' makes no odds to the second choice in xconfig, it breaks.

I'll post this to linux-kernel as well.  If they want to see the exact case,
have a look at the latest ARM config.in patches for 2.2.1 on
ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel-sources/v2.2

--
Russell King ([email-masked])