It's a neverending story: Compiling a Cisco VPN client on your Linux box is a real pain in the... sorry, I lost my temper. Every time you update your kernel it's mere luck whether the client compiles or not. Let me express it diplomatically: The Cisco guys don't have their main focus on maintaining the Linux sources.
When you google your way through the different support forums, you learn that most of the hints only work for one specific kernel version on one specific Distribution. So all I can say for the solution below, is: It worked for me, it might not work for you.
"Why don't you use vpnc?" I hear you ask. The answer is: I tried, but I failed to adapt my certificates and configuration to vpnc. My attempts ended up in obscure error messages. If someone knows how to do this, please drop me a line.
Here is what I did:
Tested system: Linux wo.nz 2.6.28-13-generic #44-Ubuntu SMP Tue Jun 2 07:57:31 UTC 2009 i686 GNU/Linux
Download the VPN client here (in my case vpnclient-linux-x86_64-4.8.01.0640-k9.tar.gz) and untar the archive.
tar xfvz Desktop/vpnclient-linux-x86_64-4.8.01.0640-k9.tar.gz
Download the patches here. For me,
vpnclient-linux-2.6.24-final.diff did the job.
cd to vpnclient and apply the patches
email@example.com:~/vpnclient$ patch -p1 < ~/Desktop/vpnclient-linux-2.6.24-final.diff
patching file GenDefs.h
patching file interceptor.c
After that, compile your client as usual
This worked well for me, but I assume the compile errors will come back, so I choose to put a number in this article's headline.