Saturday 26 May 2012

Hi
I am creating a module for Cellular IPv6 (
http://tools.ietf.org/html/draft-shelby-seamoby-cellularipv6-00) as part of
my Masters project. I have used AODV as the foundation for creating the
Cellular Ip routing protocol. However I am getting the following error on
building the module:

./libns3-dev-cellip6-debug.so: undefined reference to `typeinfo for
ns3::cellip6::CellIpv6RoutingProtocol'
./libns3-dev-cellip6-debug.so: undefined reference to `vtable for
ns3::cellip6::CellIpv6RoutingProtocol'
collect2: ld returned 1 exit status

I have followed the exact procedure give in the tutorials (running
src/create_module.py, adding source and header files in wscript etc).
A google search says that this error occurs when virtual functions in base
class are left undefined in child class. But I have defined all virtual
functions in Ipv6RoutingProtocol (base) inside CellIpv6RoutingProtocol
(child class).

Is there any other reason this error occurs when building with waf? I have
not generated the python bindings for the module because I think it is
optional. Is the error because of that?

Any help would be appreciated. Thanks in advance.

1 comment:

  1. Hi Imraan,
    I modified AODV to obtan the base to my new protocol for clustering. And I inherits frop Ipv4RoutingProtocol class then I implemented all virtual methods. Finally, I obtaned the same 2 errors you indicated:
    debug/libns3.so: undefined reference to `typeinfo for ns3::ClusterProtocol'
    debug/libns3.so: undefined reference to `vtable for ns3::ClusterProtocol'
    collect2: ld returned 1 exit status

    Do you have an idea about what is missing or wrong (I'm in the same case of you)?

    Best regards,
    Hanene

    ReplyDelete