Preparing for my ~9,000km round-trip to Darwin in August, I want to have a more efficient means of tethering my laptop & iphone for occaisional net access while on the road, without wasting power running a win xp virtual machine gateway.

Obvious first/easy choice is to use iTunnel (http://www.cs.toronto.edu/~jingsu/itunnel/).

The binary included in the iTunnel version 0.0.5 tar archive is 32bit, so I need to compile my own 64bit.

After extracting the iTunnel tar to somewhere, I clean and make a new build:

cd ~/itunnel-0.0.5
./make clean
./make

But it can't compile since some libraries are missing;

gcc -Wall -g -O0 -I/usr/local/include/ -L/usr/local/lib -lpthread -lusb -lrt -liphone ./iphone.o ./itunnel.o -o itunnel
/usr/bin/ld: cannot find -liphone

I first tried tried installing the iFuse project (http://matt.colyer.name/projects/iphone-linux/index.php?title=Main_Page) to get the libiphone library:

# First add repo sources and key as per the iFuse installation page !
sudo apt-get install ifuse

But that didn't work, so I installed the libiphone-dev package (from the same iFuse repository);

# With the iFuse repos in your sources.list as above
sudo apt-get install libiphone-dev

... and itunnel can now compile :-)

Oh, I also uninstalled iFuse, since I have no need for it and it's annoying having the /media/iPhone_ mounts.