Comment 28 for bug 1623666

Revision history for this message
Adam Szmigin (smidge) wrote : Re: iOS10 will not connect to Ubuntu

In case this helps the non-gurus, I needed to do a fraction more than Brad Lucier's suggestions, but a lot less than samrocketman's suggestions, in order to get things working with my wife's iOS 10.2 device on Linux Mint 18:

1) Install dependencies for compilation
$ sudo apt install build-essential git
$ sudo apt install automake libtool pkg-config libplist-dev libplist++-dev python-dev libssl-dev libusb-1.0-0-dev libfuse-dev

2) Clone libimobiledevice, build, install
$ cd ~/path/to/my/build/dir
$ git clone https://github.com/libimobiledevice/libimobiledevice.git
$ cd libimobiledevice
$ ./autogen.sh --prefix=/usr/local/libimobiledevice
$ make
$ sudo make install

3) Configure the dynamic linker
$ echo "/usr/local/libimobiledevice/lib" | sudo tee /etc/ld.so.conf.d/000-libimobiledevice.conf
$ sudo ldconfig

Just cloning and compiling libimobiledevice from the git sources will not build tools like ifuse, and it seems it is not necessary to do so, provided the dynamic linker is set up correctly. Apparently, using ldconfig is preferred to setting LD_LIBRARY_PATH on Ubuntu and LM, so I hear. You can see if it's doing the right thing by looking at ldd.

It should show something like this:
$ ldd `which ifuse` | grep libimobiledevice
  libimobiledevice.so.6 => /usr/local/libimobiledevice/lib/libimobiledevice.so.6

If ldd shows something like this, the linker is not finding your rebuilt libs:
$ ldd `which ifuse` | grep libimobiledevice
  libimobiledevice.so.6 => /usr/lib/x86_64-linux-gnu/libimobiledevice.so.6

Hope this helps until a strategic solution is in place.