This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: query regarding inclusion of old_net


>>>>> "Imran" == Imran Khan <imran@alumnux.com> writes:

    Imran> Sir,I m building my ecos kernel with old_net support but
    Imran> 'make' is not working .I gave following commands:
    Imran>  ecosconfig new linux old net
    Imran>  ecosconfig tree
    Imran>  make
    Imran> then I enabled the CYGPKG_NET_BRIDGE & CYGNUM_NET_BRIDGES
    Imran> ecos.ecc and then again tried to build tree & make but it
    Imran> showed following errors,


    Imran> /INFINEON/ecos1/install/lib/libextras.a(net_tcpip_sockio.o)(.bss.ifnet
    Imran> +0x0): In function `selwakeup':
    Imran> /INFINEON/ecos/packages/net/tcpip/current/src/sys/kern/sockio.c:181:
    Imran> multiple definition of `ifnet'
    Imran> /INFINEON/ecos1/install/lib/libextras.a(devs_eth_synth_ecosynth_syntheth.o)(.bss.ifnet+0x0):/INFINEON/ecos/packages/devs/eth/synth/ecosynth/current/src/syntheth.c:182: first defined here
    Imran> /INFINEON/ecos1/install/lib/libextras.a(net_tcpip_sockio.o)(.bss.ifindex2ifnet+0x0): multiple definition of `ifindex2ifnet'
    Imran> /INFINEON/ecos1/install/lib/libextras.a(devs_eth_synth_ecosynth_syntheth.o)(.bss.ifindex2ifnet+0x0): first defined here
    Imran> /INFINEON/ecos1/install/lib/libextras.a(net_tcpip_sockio.o)(.bss.if_index+0x0): multiple definition of `if_index'
    Imran> /INFINEON/ecos1/install/lib/libextras.a(devs_eth_synth_ecosynth_syntheth.o)(.bss.if_index+0x0): first defined here
    Imran> collect2: ld returned 1 exit status
    Imran> make[1]: *** [/INFINEON/ecos1/install/lib/extras.o] Error 1
    Imran> make[1]: Leaving directory `/INFINEON/ecos1/hal/common/current'
    Imran> make: *** [build] Error 2

    Imran> here ecos1 is directory where i m building my kernel using
    Imran> ecosconfig. Can u help me out of this problem by providing
    Imran> a solution.

I cannot reproduce this, but looking at the code it is likely to be a
compatibility problem with the toolchain you are using and this rather
old code - Linux tends to ship with rather newer toolchains than get
used for embedded targets, and the old TCP/IP stack does not get a lot
of maintenance attention.

Try the following and see if it makes a difference:

Index: include/net/if.h
===================================================================
RCS file: /cvs/ecos/ecos-opt/net/net/tcpip/current/include/net/if.h,v
retrieving revision 1.4
diff -u -r1.4 if.h
--- include/net/if.h	27 Nov 2003 15:25:16 -0000	1.4
+++ include/net/if.h	4 Aug 2006 09:42:56 -0000
@@ -435,7 +435,7 @@
 	}
 
 struct ifnet_head ifnet;
-struct ifnet **ifindex2ifnet;
+extern struct ifnet **ifindex2ifnet;
 #if 0
 struct ifnet loif[];
 #endif


-- 
Bart Veer                       eCos Configuration Architect
http://www.ecoscentric.com/     The eCos and RedBoot experts


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]