2003-02-21 10:28:26

by Thomas Stuefe

[permalink] [raw]
Subject: 2.5.62 hisax compile broke. isac_setup double defined (hisax.o & hisax_isac.o)

hi all,

tried to compile 2.5.62.

when linking hisax/built-in.o, the linker complains about the function
isac_setup being defined twice, once in hisax.o and once in hisax_isac.o.


make -f scripts/Makefile.build obj=drivers/isdn/hisax
ld -m elf_i386 -r -o drivers/isdn/hisax/built-in.o
drivers/isdn/hisax/hisax.o drivers/isdn/hisax/hisax_isac.o
drivers/isdn/hisax/hisax_fcpcipnp.o drivers/isdn/hisax/hisax_hfcpci.o
drivers/isdn/hisax/hisax_isac.o: In function `isac_setup':
drivers/isdn/hisax/hisax_isac.o(.text+0x77e): multiple definition of
`isac_setup'
drivers/isdn/hisax/hisax.o(.text+0x1a732): first defined here
ld: Warning: size of symbol `isac_setup' changed from 39 to 587 in
drivers/isdn/hisax/hisax_isac.o


These are the relevant .config ISDN settings:

#
# ISDN subsystem
#
CONFIG_ISDN_BOOL=y

#
# CAPI subsystem
#
# CONFIG_ISDN_CAPI is not set

#
# Passive cards
#
CONFIG_ISDN_DRV_HISAX=y

#
# D-channel protocol features
#
CONFIG_HISAX_EURO=y
CONFIG_DE_AOC=y
CONFIG_HISAX_1TR6=y
CONFIG_HISAX_MAX_CARDS=1

#
# HiSax supported cards
#
CONFIG_HISAX_FRITZPCI=y
CONFIG_HISAX_FRITZ_PCIPNP=y


bye thomas


2003-02-21 11:38:33

by Ruud Linders

[permalink] [raw]
Subject: Re: 2.5.62 hisax compile broke. isac_setup double defined (hisax.o & hisax_isac.o)

Seems not the only bug in compiling ISDN, I have this for the last
few kernel versions (note the "....hisax 1..." probably should read "=1")

gcc -Wp,-MD,drivers/isdn/hisax/.fsm.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DHISAX_MAX_CARDS=2 -DKBUILD_BASENAME=fsm -DKBUILD_MODNAME=hisax -c -o drivers/isdn/hisax/fsm.o drivers/isdn/hisax/fsm.c
gcc -Wp,-MD,drivers/isdn/hisax/.cert.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DHISAX_MAX_CARDS=2 -DCERTIFICATION=/usr/src/linux-2.5.62/drivers/isdn/hisax 1 -DKBUILD_BASENAME=cert -DKBUILD_MODNAME=hisax -c -o drivers/isdn/hisax/cert.o drivers/isdn/hisax/cert.c
gcc: cannot specify -o with -c or -S and multiple compilations
make[3]: *** [drivers/isdn/hisax/cert.o] Error 1
make[2]: *** [drivers/isdn/hisax] Error 2
make[1]: *** [drivers/isdn] Error 2
make: *** [drivers] Error 2

>gcc --version
2.95.3

>grep ISDN .config
# ISDN subsystem
CONFIG_ISDN_BOOL=y
# Old ISDN4Linux
CONFIG_ISDN=y
# CONFIG_ISDN_NET_SIMPLE is not set
# CONFIG_ISDN_NET_CISCO is not set
CONFIG_ISDN_PPP=y
# CONFIG_ISDN_PPP_VJ is not set
# CONFIG_ISDN_MPP is not set
# CONFIG_ISDN_PPP_BSDCOMP is not set
# CONFIG_ISDN_AUDIO is not set
# ISDN feature submodules
# CONFIG_ISDN_DRV_LOOP is not set
# CONFIG_ISDN_DIVERSION is not set
# CONFIG_ISDN_CAPI is not set
# ISDN4Linux hardware drivers
CONFIG_ISDN_DRV_HISAX=y
# CONFIG_ISDN_DRV_ICN is not set
# CONFIG_ISDN_DRV_PCBIT is not set
# CONFIG_ISDN_DRV_SC is not set
# CONFIG_ISDN_DRV_ACT2000 is not set
# CONFIG_ISDN_DRV_EICON is not set
# CONFIG_ISDN_DRV_TPAM is not set

_
Ruud Linders

On Fri, Feb 21, 2003 at 11:38:19AM +0100, Thomas Stuefe wrote:
> hi all,
>
> tried to compile 2.5.62.
>
> when linking hisax/built-in.o, the linker complains about the function
> isac_setup being defined twice, once in hisax.o and once in hisax_isac.o.
>
>