Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 582758 - app-pda/libimobiledevice (all version) does not build against >=net-libs/gnutls-3.4.0
Summary: app-pda/libimobiledevice (all version) does not build against >=net-libs/gnut...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: James Le Cuirot
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: gnutls-3.5-breakage
  Show dependency tree
 
Reported: 2016-05-11 14:32 UTC by Oleh
Modified: 2017-01-19 19:12 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,41.11 KB, text/x-log)
2016-05-11 14:33 UTC, Oleh
Details
Patch for idevice.c (idevice.patch,2.01 KB, patch)
2016-05-12 01:36 UTC, Markus Strobl
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Oleh 2016-05-11 14:32:13 UTC
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
Comment 1 Oleh 2016-05-11 14:33:38 UTC
Created attachment 433968 [details]
build.log
Comment 2 Markus Strobl 2016-05-12 01:34:28 UTC
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.
Comment 3 Markus Strobl 2016-05-12 01:36:02 UTC
Created attachment 434016 [details, diff]
Patch for idevice.c
Comment 4 Markus Strobl 2016-05-12 01:39:07 UTC
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
Comment 6 Peter Levine 2016-05-15 19:10:38 UTC
(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
Comment 7 James Le Cuirot gentoo-dev 2016-05-22 09:11:53 UTC
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.
Comment 8 Alon Bar-Lev (RETIRED) gentoo-dev 2017-01-19 19:12:50 UTC
I see already done.