libimobiledevice 1.2 (soporte iOS 8) para Ubuntu 14.04 Trusty

22

¿Hay un PPA disponible para la versión más reciente de libimobiledevice 1.2 con soporte para iOS 8 o alguien puede explicar cómo construirlo desde la fuente sin estropear todo?

https://launchpad.net/ubuntu/+source/libimobiledevice

tristank
fuente
No encontré ninguno, pero no es difícil construir y empaquetar la versión actual usted mismo: help.ubuntu.com/community/UpdatingADeb .
David Foerster
Gracias, supongo que tendré que probarlo entonces. Estoy un poco confiado en romper la integración con nautilus.
tristank
¿Has tenido éxito con eso? ¿Puede volver a montar la carpeta "Documentos de ..."? Logré construir e instalar, pero el montaje y la carga no funcionaron en absoluto. Por lo tanto, bajé de categoría y espero a que alguien más capacitado establezca un ppa.
Weidenrinde

Respuestas:

23

Usando el repositorio de GitHub .

Tenga en cuenta que cada paso funciona solo si el paso anterior fue exitoso.

  1. Clonar el repositorio

    mkdir -p ~/src
    cd ~/src
    git clone https://github.com/libimobiledevice/libimobiledevice.git
    cd libimobiledevice
    
  2. Instale las bibliotecas de desarrollo necesarias.

    Es posible que necesite más bibliotecas o paquetes de encabezado como se enumeran a continuación. Verá esto si tiene mensajes de error durante el paso de configuración posterior. Agrega un comentario si tienes problemas.

    sudo apt-get install libusbmuxd-dev libplist-dev  libplist++-dev libgnutls-dev libssl-dev python-dev
    
  3. Instalar algún software adicional

    Se necesita el siguiente software para preparar el software para la compilación y luego compilarlo.

    sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc
    
  4. Instalar software opcional

    El siguiente software se usa para hacer que partes del paquete terminado se ejecuten más rápido y crear documentación.

    sudo apt-get install cython doxygen
    
  5. Instalar un asistente de instalación

    Checkinstall crea un paquete debian para que el administrador del paquete administre el software.

    sudo apt-get install checkinstall
    
  6. Configurar y construir

    ./autogen.sh
    make
    
  7. Instalar

    Con el siguiente comando, libimobiledevicese creará e instalará un paquete deb con el nombre .

    sudo checkinstall
    

    Verá esta advertencia:

    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: [  ]
    

    Simplemente presione 3y escriba 1.2.1yEnter

    Enter a number to change any of them or press ENTER to continue: 3
    Enter new version: 
    >> 1.2.1
    
  8. Verifica los archivos instalados

    dpkg -L libimobiledevice
    

    y verás algo como esto

    /.
    /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
    
AB
fuente
¿Puede volver a montar la carpeta "Documentos de ..."? ¿Funciona con ios 9/10?
Weidenrinde
8

Esto es lo que hice para compilar libimobiledevice-1.2.0:

  1. Instalar herramientas de construcción y dependencias

    sudo apt-get install build-essential fakeroot devscripts pbuilder
    sudo apt-get build-dep libimobiledevice
  2. Descargue los scripts de compilación fuente y Debian de la versión actualmente empaquetada (1.1.5 en Ubuntu 14.04):

    apt-get source libimobiledevice
    cd libimobiledevice-1.1.5
  3. Busque y descargue la nueva versión ascendente:

    uscan --verbose
  4. Descomprímalo, coloque los scripts de compilación de Debian en su lugar y actualice el registro de cambios:

    uupdate ../libimobiledevice_1.2.0.orig.tar.bz2
    cd ../libimobiledevice-1.2.0
  5. Cree el paquete binario (en paralelo con tantos trabajadores como núcleos de CPU disponibles):

    debuild -b -j$(getconf _NPROCESSORS_ONLN)

    ( -jindica al sistema de compilación que ejecute tareas de compilación individuales en paralelo, si es posible. Dado que esto a veces genera problemas, puede valer la pena intentar volver a ejecutar la compilación sin esa bandera o dejarla caer en primer lugar).

  6. Instale el paquete integrado:

    sudo dpkg -i ../libimobiledevice_1.2.0*.deb

En realidad hice trampa un poco. No pude satisfacer las dependencias de compilación, porque una biblioteca no está disponible en versiones suficientemente recientes en Ubuntu 14.04: requiere libimobiledevice-1.2.0 libusbmuxd-dev (>= 1.0.9), por lo que primero deberá compilarla desde la fuente con la misma receta.

David Foerster
fuente
1
Mientras intentaba construir el libusbmux-d actualizado, después de agregar algunas dependencias, me encontré con: dh_auto_configure - -DCMAKE_INSTALL_PREFIX = "/ usr" -DCMAKE_SKIP_RPATH = true -DLIB_SUFFIX = -DUSB_PKGCONF_INCLUDE_us/r/Fusible_usuario / " : error: opción no reconocida: `-DCMAKE_INSTALL_PREFIX = / usr '¿Alguna idea? ¿Hay alguna posibilidad de que usted (u otros) publiquen el resultado de sus esfuerzos en un ppa?
Weidenrinde
Abra una nueva pregunta para su problema. Puede enviarme un enlace a través de estas secciones de comentarios para llamar mi atención. Como idea rápida, consulte la salida de ./configure --helppara obtener una lista de las opciones disponibles.
David Foerster
1
En realidad, alguien más hizo esto, porque se encontraron con el mismo problema ... askubuntu.com/questions/616501/…
Weidenrinde
1
Tengo el mismo problema en Ubuntu 15.04. ¿Conseguiste una solución?
Código fuente
1
Para instalar libusbmuxd-dev (>= 1.0.9)puede descargar el * .deb aquí e instalarlo consudo dpkg -i
Michele
8

OK, esto es lo que funcionó para mí.

El orden es:

libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse, ideviceinstaller, ...

Fuente: 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 

En el checkinstallaviso:

> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]
ATOzTOA
fuente