Có một PPA có sẵn cho phiên bản libimobiledevice 1.2 gần đây nhất có hỗ trợ cho iOS 8 hay ai đó có thể giải thích cách xây dựng nó từ nguồn mà không làm hỏng mọi thứ?
Có một PPA có sẵn cho phiên bản libimobiledevice 1.2 gần đây nhất có hỗ trợ cho iOS 8 hay ai đó có thể giải thích cách xây dựng nó từ nguồn mà không làm hỏng mọi thứ?
Câu trả lời:
Sử dụng kho GitHub .
Hãy nhớ rằng, mỗi bước chỉ hoạt động nếu bước trước đó thành công.
Nhân bản kho lưu trữ
mkdir -p ~/src
cd ~/src
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledevice
Cài đặt các thư viện phát triển cần thiết
Bạn có thể cần thêm thư viện hoặc gói tiêu đề như được liệt kê dưới đây. Bạn sẽ thấy điều này nếu bạn có thông báo lỗi trong bước cấu hình sau này. Thêm một bình luận nếu bạn có vấn đề.
sudo apt-get install libusbmuxd-dev libplist-dev libplist++-dev libgnutls-dev libssl-dev python-dev
Cài đặt một số phần mềm bổ sung
Phần mềm sau đây là cần thiết để chuẩn bị phần mềm để biên dịch và sau đó biên dịch nó.
sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc
Cài đặt phần mềm tùy chọn
Phần mềm sau đây được sử dụng để làm cho các phần của gói hoàn thành chạy nhanh hơn và tạo tài liệu.
sudo apt-get install cython doxygen
Cài đặt một trình trợ giúp cài đặt
Checkinstall tạo gói debian để phần mềm được quản lý bởi người quản lý gói.
sudo apt-get install checkinstall
Cấu hình và xây dựng
./autogen.sh
make
cài đặt, dựng lên
Với lệnh bên dưới, gói deb có tên libimobiledevice
sẽ được tạo và cài đặt.
sudo checkinstall
Bạn sẽ thấy cảnh báo này:
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: [ ]
Đơn giản chỉ cần nhấn 3và gõ 1.2.1
vàEnter
Enter a number to change any of them or press ENTER to continue: 3
Enter new version:
>> 1.2.1
Kiểm tra các tập tin được cài đặt
dpkg -L libimobiledevice
và bạn sẽ thấy một cái gì đó như thế này
/.
/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
Đây là những gì tôi đã làm để xây dựng libimobiledevice-1.2.0:
Cài đặt công cụ xây dựng và phụ thuộc
sudo apt-get install build-essential fakeroot devscripts pbuilder
sudo apt-get build-dep libimobiledevice
Tải xuống các tập lệnh xây dựng nguồn và Debian của phiên bản hiện được đóng gói (1.1.5 trên Ubuntu 14.04):
apt-get source libimobiledevice
cd libimobiledevice-1.1.5
Quét và tải xuống phiên bản ngược dòng mới:
uscan --verbose
Giải nén nó, đặt các tập lệnh xây dựng Debian vào vị trí và cập nhật nhật ký thay đổi:
uupdate ../libimobiledevice_1.2.0.orig.tar.bz2
cd ../libimobiledevice-1.2.0
Xây dựng gói nhị phân (song song với càng nhiều công nhân càng có lõi CPU):
debuild -b -j$(getconf _NPROCESSORS_ONLN)
( -j
hướng dẫn hệ thống xây dựng chạy song song các tác vụ xây dựng riêng lẻ. Nếu điều này đôi khi dẫn đến sự cố, có thể đáng để thử chạy lại bản dựng mà không có cờ đó hoặc bỏ nó ở vị trí đầu tiên.)
Cài đặt gói được xây dựng:
sudo dpkg -i ../libimobiledevice_1.2.0*.deb
Thật ra tôi đã lừa dối một chút. Tôi không thể đáp ứng các phụ thuộc của bản dựng, bởi vì một thư viện không có sẵn trong các phiên bản gần đây trong Ubuntu 14.04: libimobiledevice-1.2.0 yêu cầu libusbmuxd-dev (>= 1.0.9)
, vì vậy trước tiên bạn sẽ phải xây dựng nó từ nguồn với cùng một công thức.
./configure --help
một danh sách các tùy chọn có sẵn.
OK, đây là những gì làm việc cho tôi.
Thứ tự là:
libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse, ideviceinstaller, ...
Nguồn: 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
Trong checkinstall
dấu nhắc:
> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]
Tôi sử dụng PPA này, nó có libimobiledevice mới nhất, nhưng không phải tất cả các thành phần đều được đại diện ở đó: https://launchpad.net/~martin-salbaba/+archive/ubfox/ppa+libimobiledevice
16.04 sẽ có 1.2. Tôi đã có thể tải xuống các bản sửa lỗi từ launchpad ( https://launchpad.net/ubfox/xenial/+source/libimobiledevice ) và cài đặt chúng vào ngày 15.10. Tôi cần libusbmuxd4
, libimobiledevice6
và libimobiledevice-dev
. Sau đó, tôi đã cài đặt ifuse 1.1.3 bằng cách thực hiện theo các hướng dẫn sau: https://askubfox.com/a/691758