Cisco module again doesn’t let us compile against the new kernel in Ubuntu 9.04 and 9.10 beta:
/home/lamnk/vpnclient/interceptor.c: In function ‘interceptor_init’:
/home/lamnk/vpnclient/interceptor.c:132: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/home/lamnk/vpnclient/interceptor.c:133: error: ‘struct net_device’ has no member named ‘get_stats’
/home/lamnk/vpnclient/interceptor.c:134: error: ‘struct net_device’ has no member named ‘do_ioctl’
/home/lamnk/vpnclient/interceptor.c: In function ‘add_netdev’:
/home/lamnk/vpnclient/interceptor.c:271: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/home/lamnk/vpnclient/interceptor.c:272: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/home/lamnk/vpnclient/interceptor.c: In function ‘remove_netdev’:
/home/lamnk/vpnclient/interceptor.c:294: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
make[2]: *** [/home/lamnk/vpnclient/interceptor.o] Error 1
make[1]: *** [_module_/home/lamnk/vpnclient] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-1-generic'
make: *** [default] Error 2
Failed to make module "cisco_ipsec.ko".
Before installtion I assume that you have the latest version 4.8.02.0030 and the required packages for compiling ie gcc, libstdc++6 … The kernel version should be from 2.6.30 to 2.6.32
- Download the client and extract it
- Go to vpnclient folder:
cd vpnclient
- Download patch file for 64 bit and apply it (users on 32bit systems can skip this step):
wget http://lamnk.com/download/vpnclient-linux-4.8.02-64bit.patch
patch < ./vpnclient-linux-4.8.02-64bit.patch
sed -i 's/^CFLAGS/EXTRA_CFLAGS' Makefile
- Download patch file for newer kernel (2.6.30+) and apply it:
wget http://lamnk.com/download/vpnclient-linux-2.6.31-final.diff
patch < ./vpnclient-linux-2.6.31-final.diff
- Next we must edit a kernel source file
sudo sed -i 's/const\ struct\ net_device_ops\ \*netdev_ops;/struct\ net_device_ops\ \*netdev_ops;/' `find /usr/src -name netdevice.h`
Yes, it is a one liner, you should copy & paste that command instead of typing The command's translation into English: find the string
const struct net_device_ops *netdev_ops;
and change it tostruct net_device_ops *netdev_ops;
in the file locates atfind /usr/src -name netdevice.h
- And finally, install Cisco VPN Client:
sudo ./vpn_install
The patch files are not from me. All credit goes to the people at tuxx-home.at forum
1 comment:
This worked form me really well. Thanks a ton!
Post a Comment