Libdnet.xs:46: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘TunHandle’If you can fix that, the other errors will also be fixed. Unfortunately, it's not apparent to me what the problem is. The relevant section of Libdnet.xs is:
39: typedef blob_t Blob;
40: typedef eth_addr_t EthAddr;
41: typedef eth_t EthHandle;
42: typedef intf_t IntfHandle;
43: typedef arp_t ArpHandle;
44: typedef fw_t FwHandle;
45: typedef route_t RouteHandle;
46: typedef tun_t TunHandle;
47: typedef ip_t IpHandle;
48: typedef struct intf_entry IntfEntry;
49: typedef struct arp_entry ArpEntry;
50: typedef struct fw_rule FwRule;
51: typedef struct route_entry RouteEntry;
So, why does it pick on line 46 ?
Could it be that the
run_t type is unknown ? (Perhaps your version of libdnet does not define the type.) But if that were the case, I would have also expected a warning along the lines of "data definition has no type or storage class". Yet I don't see any such warning.
Were there any warnings issued prior to the excerpt you've quoted above ?
Does your dnet.h (or one of the header files included by it) define the run_t type ?
Cheers,
Rob