With gnutls unmask. app-pda/libimobiledevice does not build against newer gnutls. This is stopper in getting gnome emerge, which has this package pulled in merge list. Reproducible: Always Actual Results: ake[2]: Leaving directory '/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0_build/common' Making all in src make[2]: Entering directory '/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0_build/src' /bin/sh ../libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/src -I.. -I/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/include -I/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0 -Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter -fsigned-char -fvisibility=hidden -I/usr/include/libxml2 -D_LARGE_FILES=1 -march=silvermont -O2 -pipe -c -o idevice.lo /var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/src/idevice.c libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/src -I.. -I/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/include -I/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0 -Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter -fsigned-char -fvisibility=hidden -I/usr/include/libxml2 -D_LARGE_FILES=1 -march=silvermont -O2 -pipe -c /var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/src/idevice.c -fPIC -DPIC -o .libs/idevice.o [01m[K/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/src/idevice.c:629:172:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kgnutls_retr_st[m[K' ion_t session, const gnutls_datum_t * req_ca_rdn, int nreqs, const gnutls_pk_algorithm_t * sign_algos, int sign_algos_length, gnutls_retr [01;32m[K ^[m[K [01m[K/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/src/idevice.c:[m[K In function '[01m[Kidevice_connection_enable_ssl[m[K': [01m[K/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/src/idevice.c:746:2:[m[K [01;35m[Kwarning: [m[Kimplicit declaration of function '[01m[Kgnutls_certificate_client_set_retrieve_function[m[K' [-Wimplicit-function-declaration] gnutls_certificate_client_set_retrieve_function(ssl_data_loc->certificate, internal_cert_callback); [01;32m[K ^[m[K [01m[K/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/src/idevice.c:746:77:[m[K [01;31m[Kerror: [m[K'[01m[Kinternal_cert_callback[m[K' undeclared (first use in this function) gnutls_certificate_client_set_retrieve_function(ssl_data_loc->certificate, internal_cert_callback); [01;32m[K ^[m[K [01m[K/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0/src/idevice.c:746:77:[m[K [01;36m[Knote: [m[Keach undeclared identifier is reported only once for each function it appears in Makefile:534: recipe for target 'idevice.lo' failed make[2]: *** [idevice.lo] Error 1 make[2]: Leaving directory '/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0_build/src' Makefile:441: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/app-pda/libimobiledevice-1.2.0/work/libimobiledevice-1.2.0_build' Makefile:370: recipe for target 'all' failed
Created attachment 433968 [details] build.log
Found this problem discussed here: https://github.com/libimobiledevice/libimobiledevice/issues/225 I tried the associated commit and successfully built libimobiledevice-1.2.0 with gnutls-3.5.0. I've attached a patch which is just the upstream commit.
Created attachment 434016 [details, diff] Patch for idevice.c
Btw, looks like the libimobiledevice ebuild does not apply user patches, so I had to create /etc/portage/bashrc with the content specified here: https://wiki.gentoo.org/wiki//etc/portage/patches
Fixed upstream: https://github.com/kalev/libimobiledevice/commit/ecba0d673186d17f87fdd75d5d3b9dd9c42c2f0a
(In reply to Peter Levine from comment #5) > Fixed upstream: > > https://github.com/kalev/libimobiledevice/commit/ > ecba0d673186d17f87fdd75d5d3b9dd9c42c2f0a Sorry, wrong commit. Thats from someone else's fork. Fixed here: https://github.com/libimobiledevice/libimobiledevice/commit/2a5868411c57e25802d2f16fd6b77601f10d0b72
I've fixed this in 1.2.0. This version needs stabilising so that the older ones can be removed. Let's allow this change to sit for a few days and then do that.
I see already done.