libimobiledevice 1.2 (поддержка iOS 8) для Ubuntu 14.04 Trusty
Есть ли PPA для самой последней версии libimobiledevice 1.2 с поддержкой iOS 8, или кто-то может объяснить, как собрать его из исходного кода, не испортив все?
5 ответов
Использование репозитория GitHub.
Помните, что каждый шаг работает, только если предыдущий шаг был успешным.
Клонировать хранилище
mkdir -p ~/src cd ~/src git clone https://github.com/libimobiledevice/libimobiledevice.git cd libimobiledevice
Установите необходимые библиотеки разработки
Вам может понадобиться больше библиотек или пакетов заголовков, как указано ниже. Вы увидите это, если у вас появятся сообщения об ошибках на этапе настройки позже. Добавьте комментарий, если у вас есть проблемы.
sudo apt-get install libusbmuxd-dev libplist-dev libplist++-dev libgnutls-dev libssl-dev python-dev
Установите дополнительное программное обеспечение
Следующее программное обеспечение необходимо для подготовки программного обеспечения к компиляции и последующей компиляции.
sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc
Установите дополнительное программное обеспечение
Следующее программное обеспечение используется для ускорения работы частей готового пакета и создания документации.
sudo apt-get install cython doxygen
Установить помощник по установке
Checkinstall создает пакет debian, поэтому программное обеспечение управляется менеджером пакетов.
sudo apt-get install checkinstall
Настроить и собрать
./autogen.sh make
устанавливать
С помощью команды ниже, пакет deb с именем
libimobiledevice
будет создан и установлен.sudo checkinstall
Вы увидите это предупреждение:
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: [ ]
Просто нажмите 3 и введите
1.2.1
и введитеEnter a number to change any of them or press ENTER to continue: 3 Enter new version: >> 1.2.1
Проверьте установленные файлы
dpkg -L libimobiledevice
и вы увидите что-то вроде этого
/. /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
ОК, это то, что сработало для меня.
Заказ:
libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse, ideviceinstaller, ...
Источник: 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
В checkinstall
незамедлительный:
> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]
Вот что я сделал для сборки libimobiledevice-1.2.0:
Установите инструменты сборки и зависимости
sudo apt-get install build-essential fakeroot devscripts pbuilder sudo apt-get build-dep libimobiledevice
Загрузите исходный код и сценарии сборки Debian текущей упакованной версии (1.1.5 в Ubuntu 14.04):
apt-get source libimobiledevice cd libimobiledevice-1.1.5
Просканируйте и загрузите новую версию апстрима:
uscan --verbose
Распакуйте его, поместите сценарии сборки Debian на место и обновите журнал изменений:
uupdate ../libimobiledevice_1.2.0.orig.tar.bz2 cd ../libimobiledevice-1.2.0
Создайте двоичный пакет (параллельно с таким количеством рабочих, сколько доступно процессорных ядер):
debuild -b -j$(getconf _NPROCESSORS_ONLN)
(
-j
поручает системе сборки запускать отдельные задачи сборки параллельно, если это возможно. Так как это иногда приводит к проблемам, возможно, стоит попытаться перезапустить сборку без этого флага или вообще отбросить ее.)Установите собранный пакет:
sudo dpkg -i ../libimobiledevice_1.2.0*.deb
На самом деле я немного обманул. Я не смог удовлетворить зависимости при сборке, потому что библиотека не достаточно доступна в последних версиях Ubuntu 14.04: libimobiledevice-1.2.0 требует libusbmuxd-dev (>= 1.0.9)
, так что вам придется сначала собрать его из исходного кода по тому же рецепту.
Я использую этот PPA, он имеет последнее libimobiledevice, но там представлены не все компоненты: https://launchpad.net/~martin-salbaba/+archive/ubuntu/ppa+libimobiledevice
16.04 будет иметь 1,2. Мне удалось загрузить файлы с панели запуска ( https://launchpad.net/ubuntu/xenial/+source/libimobiledevice) и установить их 15.10. мне было нужно libusbmuxd4
, libimobiledevice6
, а также libimobiledevice-dev
, Затем я установил ifuse 1.1.3, следуя этим инструкциям: /questions/469986/montirovanie-papki-dokumentov-ipad-v-1504/469993#469993