Is there a PPA available for the most recent libimobiledevice 1.2 version with support for iOS 8 or can someone explain how to build it from source without messing up everything?
-
I didn't find any, but it's not hard to build and package the current version yourself: help.ubuntu.com/community/UpdatingADeb.– David FoersterMar 20, 2015 at 1:24
-
Thanks I guess I will have to try it out then. I'm little bit concerend about breaking the integration with nautilus.– tristankApr 4, 2015 at 9:32
-
Have you been successful with it? Are you able to mount the "Documents of..." folder again? I managed to build and install, but mounting and charging did not work at all. Therefore, I downgraded and wait for someone more skilled to set up a ppa.– WeidenrindeJun 7, 2015 at 10:07
5 Answers
Using the GitHub repository.
Bear in mind, each step works only if the previous step was successful.
Clone the repository
mkdir -p ~/src cd ~/src git clone https://github.com/libimobiledevice/libimobiledevice.git cd libimobiledevice
Install the necessary development libraries
You may need more libraries or header packages as listed below. You will see this if you have error messages during the configuration step later. Add a comment if you have problems.
sudo apt-get install libusbmuxd-dev libplist-dev libplist++-dev libgnutls-dev libssl-dev python-dev
Install some additional software
The following software is needed to prepare the software for compilation and then compile it.
sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc
Install optional software
The following software is used to make parts of the finished package a run faster and create documentation.
sudo apt-get install cython doxygen
Install an installation helper
Checkinstall creates a debian package so the software is managed by the package manager.
sudo apt-get install checkinstall
Configure and build
./autogen.sh make
Install
With the command below, a deb package with the name
libimobiledevice
will be created and installed.sudo checkinstall
You will see this warning:
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL. ***************************************** **** Debian package creation selected *** ***************************************** *** Warning: The package version "1.2.1 1.2.1 1.2.1 1.2.1 1.2.1 1.2.1 1.2.1 1.2.1 1.2.1 1.2.1" is not a *** Warning: debian policy compliant one. Please specify an alternate one This package will be built according to these values: 0 - Maintainer: [ root@aboettger-VirtualBox ] 1 - Summary: [ Package created with checkinstall 1.6.2 ] 2 - Name: [ libimobiledevice ] 3 - Version: [ ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ i386 ] 8 - Source location: [ libimobiledevice ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ libimobiledevice ] 12 - Conflicts: [ ] 13 - Replaces: [ ]
Simply press 3 and type
1.2.1
and EnterEnter a number to change any of them or press ENTER to continue: 3 Enter new version: >> 1.2.1
Check the installed files
dpkg -L libimobiledevice
and you will see something like this
/. /usr /usr/share /usr/share/doc /usr/share/doc/libimobiledevice /usr/share/doc/libimobiledevice/COPYING.LESSER /usr/share/doc/libimobiledevice/AUTHORS /usr/share/doc/libimobiledevice/NEWS /usr/share/doc/libimobiledevice/README /usr/share/doc/libimobiledevice/docs /usr/share/doc/libimobiledevice/docs/idevice_id.1 /usr/share/doc/libimobiledevice/docs/idevicenotificationproxy.1 /usr/share/doc/libimobiledevice/docs/idevicepair.1 /usr/share/doc/libimobiledevice/docs/ideviceprovision.1 /usr/share/doc/libimobiledevice/docs/ideviceimagemounter.1 /usr/share/doc/libimobiledevice/docs/Makefile /usr/share/doc/libimobiledevice/docs/idevicedebug.1 /usr/share/doc/libimobiledevice/docs/idevicename.1 /usr/share/doc/libimobiledevice/docs/idevicebackup.1 /usr/share/doc/libimobiledevice/docs/idevicedebugserverproxy.1 /usr/share/doc/libimobiledevice/docs/ideviceenterrecovery.1 /usr/share/doc/libimobiledevice/docs/idevicecrashreport.1 /usr/share/doc/libimobiledevice/docs/ideviceinfo.1 /usr/share/doc/libimobiledevice/docs/Makefile.in /usr/share/doc/libimobiledevice/docs/Makefile.am /usr/share/doc/libimobiledevice/docs/idevicescreenshot.1 /usr/share/doc/libimobiledevice/docs/idevicedate.1 /usr/share/doc/libimobiledevice/docs/idevicesyslog.1 /usr/share/doc/libimobiledevice/docs/idevicediagnostics.1 /usr/share/doc/libimobiledevice/docs/idevicebackup2.1 /usr/share/doc/libimobiledevice/COPYING /usr/local /usr/local/bin /usr/local/bin/idevicepair /usr/local/bin/idevicename /usr/local/bin/ideviceinfo /usr/local/bin/idevicebackup2 /usr/local/bin/ideviceprovision /usr/local/bin/idevicecrashreport /usr/local/bin/ideviceimagemounter /usr/local/bin/idevice_id /usr/local/bin/idevicenotificationproxy /usr/local/bin/ideviceenterrecovery /usr/local/bin/idevicescreenshot /usr/local/bin/idevicediagnostics /usr/local/bin/idevicedebug /usr/local/bin/idevicebackup /usr/local/bin/idevicedebugserverproxy /usr/local/bin/idevicesyslog /usr/local/bin/idevicedate /usr/local/lib /usr/local/lib/libimobiledevice.la /usr/local/lib/pkgconfig /usr/local/lib/pkgconfig/libimobiledevice-1.0.pc /usr/local/lib/libimobiledevice.so.6.0.0 /usr/local/lib/libimobiledevice.a /usr/local/share /usr/local/share/man /usr/local/share/man/man1 /usr/local/share/man/man1/idevicebackup2.1.gz /usr/local/share/man/man1/ideviceprovision.1.gz /usr/local/share/man/man1/idevicebackup.1.gz /usr/local/share/man/man1/idevicecrashreport.1.gz /usr/local/share/man/man1/idevice_id.1.gz /usr/local/share/man/man1/ideviceenterrecovery.1.gz /usr/local/share/man/man1/ideviceimagemounter.1.gz /usr/local/share/man/man1/idevicename.1.gz /usr/local/share/man/man1/idevicescreenshot.1.gz /usr/local/share/man/man1/idevicedebug.1.gz /usr/local/share/man/man1/idevicenotificationproxy.1.gz /usr/local/share/man/man1/idevicedebugserverproxy.1.gz /usr/local/share/man/man1/idevicedate.1.gz /usr/local/share/man/man1/ideviceinfo.1.gz /usr/local/share/man/man1/idevicesyslog.1.gz /usr/local/share/man/man1/idevicediagnostics.1.gz /usr/local/share/man/man1/idevicepair.1.gz /usr/local/include /usr/local/include/libimobiledevice /usr/local/include/libimobiledevice/syslog_relay.h /usr/local/include/libimobiledevice/lockdown.h /usr/local/include/libimobiledevice/diagnostics_relay.h /usr/local/include/libimobiledevice/screenshotr.h /usr/local/include/libimobiledevice/property_list_service.h /usr/local/include/libimobiledevice/installation_proxy.h /usr/local/include/libimobiledevice/restore.h /usr/local/include/libimobiledevice/file_relay.h /usr/local/include/libimobiledevice/mobile_image_mounter.h /usr/local/include/libimobiledevice/mobilebackup2.h /usr/local/include/libimobiledevice/afc.h /usr/local/include/libimobiledevice/service.h /usr/local/include/libimobiledevice/webinspector.h /usr/local/include/libimobiledevice/heartbeat.h /usr/local/include/libimobiledevice/libimobiledevice.h /usr/local/include/libimobiledevice/mobilesync.h /usr/local/include/libimobiledevice/misagent.h /usr/local/include/libimobiledevice/debugserver.h /usr/local/include/libimobiledevice/mobilebackup.h /usr/local/include/libimobiledevice/house_arrest.h /usr/local/include/libimobiledevice/sbservices.h /usr/local/include/libimobiledevice/notification_proxy.h /usr/local/lib/libimobiledevice.so /usr/local/lib/libimobiledevice.so.6
-
Are you able to mount the "Documents of..." folder again? Does is work with ios 9 / 10? Oct 19, 2016 at 22:20
OK, this is what worked for me.
The order is:
libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse, ideviceinstaller, ...
Source: https://github.com/libimobiledevice/usbmuxd/issues/10
mkdir -p ~/src
cd ~/src
sudo apt-get -y install libusbmuxd-dev libplist-dev libplist++-dev libgnutls-dev libssl-dev usbmuxd make automake autoconf libtool pkg-config gcc cython doxygen checkinstall libusb-1.0-0-dev libssl-dev
git clone https://github.com/libimobiledevice/libplist.git
cd libplist/
./autogen.sh
make
sudo make install
cd ..
git clone https://github.com/libimobiledevice/libusbmuxd.git
cd libusbmuxd/
./autogen.sh
make
sudo make install
cd ..
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledevice/
./autogen.sh
make
sudo checkinstall
In checkinstall
prompt:
> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]
-
-
Had to also install this github.com/libimobiledevice/libimobiledevice-glue on Ubuntu 20.04 Nov 4, 2021 at 3:16
This is what I did to build libimobiledevice-1.2.0:
Install build tools and dependencies
sudo apt-get install build-essential fakeroot devscripts pbuilder sudo apt-get build-dep libimobiledevice
Download the source and Debian build scripts of the currently packaged version (1.1.5 on Ubuntu 14.04):
apt-get source libimobiledevice cd libimobiledevice-1.1.5
Scan for and download new upstream version:
uscan --verbose
Unpack it, put the Debian build scripts in place and update the change log:
uupdate ../libimobiledevice_1.2.0.orig.tar.bz2 cd ../libimobiledevice-1.2.0
Build the binary package (in parallel with as many workers as available CPU cores):
debuild -b -j$(getconf _NPROCESSORS_ONLN)
(
-j
instructs the build system to run individual build tasks in parallel, if possible. Since this sometimes leads to problems, it may be worthwhile to try to re-run the build without that flag or to drop it in the first place.)Install the built package:
sudo dpkg -i ../libimobiledevice_1.2.0*.deb
Actually I cheated a bit. I couldn't satisfy the build dependencies, because a library isn't available in sufficiently recent versions in Ubuntu 14.04: libimobiledevice-1.2.0 requires libusbmuxd-dev (>= 1.0.9)
, so you'll have to build it from source first with the same recipe.
-
1While trying to build the upgraded libusbmux-d, after adding some dependencies, I ran into: dh_auto_configure -- -DCMAKE_INSTALL_PREFIX="/usr" -DCMAKE_SKIP_RPATH=true -DLIB_SUFFIX= -DUSB_PKGCONF_INCLUDE_DIRS="/usr/include/libusb-1.0" configure: error: unrecognized option: `-DCMAKE_INSTALL_PREFIX=/usr' Any idea? Is there some chance that you (or others) will post the result of you efforts in a ppa? May 29, 2015 at 19:34
-
Please open a new question for your issue. You can send me a link through this comment sections to draw my attention to it. As a quick idea, consult the output of
./configure --help
for a list of available options. May 29, 2015 at 21:03 -
1Actually, someone else did this, because they run into the same problem... askubuntu.com/questions/616501/… May 30, 2015 at 16:18
-
1
-
1
I use this PPA, it has latest libimobiledevice, but not all components are represented there: https://launchpad.net/~martin-salbaba/+archive/ubuntu/ppa+libimobiledevice
-
What components are missing? Those that enable viewing apps' shared documents?– NoBugsOct 24, 2015 at 0:26
-
-
16.04 will have 1.2. I was able to download the debs from launchpad (https://launchpad.net/ubuntu/xenial/+source/libimobiledevice) and install them on 15.10. I needed libusbmuxd4
, libimobiledevice6
, and libimobiledevice-dev
. Then I installed ifuse 1.1.3 by following these directions: https://askubuntu.com/a/691758