I am attempting to installed iTunes primarily so I can then install the PdaNet Desktop Client under WINE... and maybe, hopefuly, tether my iPhone with Ubuntu via USB.

Since iTunes is "required" (whatever that means) by the PdaNet Desktop Client, part 1 is to get iTunes installed.

At this point I'm not interested how functional the iTunes install is; I really just want to make the PdaNet Desktop Client installer happy :-)

I have attempted to install iTunes using the steps on the WINE HQ App DB page for iTunes 8 (posted a copy of the steps here in-case the WINE HQ page changes):


1. open up a console and build the necessary wine dependencies

sudo apt-get install build-essential
sudo apt-get build-dep wine

2.   Install git

sudo apt-get install git-core gitk

3. clone the wine git repository

git clone git://source.winehq.org/git/wine.git wine
cd wine

4. open a text editor and paste the following text, save it as msipatch.txt in your wine folder

   From f4ce24960d26c69534e55b9e2e398480f63eae89 Mon Sep 17 00:00:00 2001
From: eric <[email protected](none)>
Date: Sat, 6 Dec 2008 10:04:44 -0600
Subject: msi: hack for iTunes installer

 dlls/msi/action.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 5d9ba65..b7de7d6 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -872,7 +872,8 @@ static UINT ITERATE_Actions(MSIRECORD *row, LPVOID param)
     if (rc != ERROR_SUCCESS)
         ERR("Execution halted, action %s returned %i\n", debugstr_w(action), rc);
+    if( rc == 1603 )
+        rc = ERROR_SUCCESS;
     return rc;

5. apply the patch to your wine source code

git apply "msipatch.txt"

6. compile the source code

./configure && make depend && make

7. Install the modified version of wine

sudo make install

8. Run the iTunes installer with wine

wine iTunesSetup.exe

All of the above is taken from the WINE HQ page for iTunes 8 (at the time of writing), I take no credit!


I receive an error from make (step 6):

/usr/bin/ld: cannot find -lXext

I literally haven't touched the laptop since this error, so I assume I just need to do some googling and the solution will be easy :-)

Update coming soon.