app-pda/libimobiledevice-1.1.4 fails to build if cython 0.16 is installed. Problem is, it doesn't like cython 0.16, and it's quite likely an upstream bug: <snip> checking for Cython version... Cython version 0.16 configure: WARNING: Cython version >= 0.13.0 is required. You have Cython version 0.16. You should look at http://www.cython.org <snap> and <snip> /bin/sh ../libtool --silent --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter -I/usr/include/libxml2 -D_LARGE_FILES=1 -march=native -O2 -pipe -fomit-frame-pointer -c -o restore.lo restore.c CCLD libimobiledevice.la make[2]: Leaving directory `/var/tmp/portage/app-pda/libimobiledevice-1.1.4/work/libimobiledevice-1.1.4/src' Making all in include make[2]: Entering directory `/var/tmp/portage/app-pda/libimobiledevice-1.1.4/work/libimobiledevice-1.1.4/include' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/var/tmp/portage/app-pda/libimobiledevice-1.1.4/work/libimobiledevice-1.1.4/include' Making all in cython make[2]: Entering directory `/var/tmp/portage/app-pda/libimobiledevice-1.1.4/work/libimobiledevice-1.1.4/cython' echo "Error: Cython version >= 0.13.0 is required. You have Cython version 0.16. You should look at http://www.cython.org" ; false -I/usr/include/plist/cython -I../src -o imobiledevice.c imobiledevice.pyx Error: Cython version >= 0.13.0 is required. You have Cython version 0.16. You should look at http://www.cython.org make[2]: *** [imobiledevice.c] Error 1 make[2]: Leaving directory `/var/tmp/portage/app-pda/libimobiledevice-1.1.4/work/libimobiledevice-1.1.4/cython' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/app-pda/libimobiledevice-1.1.4/work/libimobiledevice-1.1.4' make: *** [all] Error 2 <snap> And here's the load from emerge --info: System uname: Linux-3.3.4-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_M_640_@_2.80GHz-with-gentoo-2.1 Timestamp of tree: Sun, 29 Apr 2012 23:15:01 +0000 app-shells/bash: 4.2_p24-r1 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.6.8, 2.7.3-r1, 3.1.5, 3.2.3 dev-util/cmake: 2.8.7-r5 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1 sys-apps/openrc: 0.9.9.3 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.9.6-r3, 1.11.5 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.5.3-r2 sys-devel/gcc-config: 1.7 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 3.3 (virtual/os-headers) sys-libs/glibc: 2.15-r1 Repositories: gentoo Mat Installed sets: ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA nomachine AdobeFlash-10.3 skype-eula PUEL dlj-1.1 Oracle-BCLA-JavaSE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="ftp://ftp.iinet.net.au/pub/Gentoo" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en_GB" MAKEOPTS="-j8" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/opt/portage" SYNC="rsync://ftp.swin.edu.au/gentoo-portage" USE="3dnow 3dnowext X \ a52 aac accessibility acl acpi alsa amd64 amr apache2 apng avahi bash-completion berkdb bluetooth bonjour branding bzip2 cairo cdda cddb cdparanoia cdr chm cli consolekit cracklib crypt cups curl cxx dbus declarative desktopglobe device-mapper dhcpcd dirac djvu dlna dri drm dts dvb dvd dvdr ebook emboss encode exif extras faac faad fam fat fbcondecor ffmpeg fftw firefox flac fortran g3dvl gadu gbm gdbm gdu geoip geolocation gif glitz gnutls gphoto2 gpm groupwise gs gstreamer gtk hfs iconv id3tag ieee1394 imagemagick ios ipod ipv6 jfs jingle jpeg jpeg2k kde kipi lame lastfm latex lcms ldap libkms libnotify libssh2 libv4l2 lzma lzo mad matroska meanwhile midi mmap mmx mmxext mng modules motif mp3 mp3tunes mp4 mpeg msn mudflap multilib multimedia musepack musicbrainz mysql ncurses network networkmanager nls nptl nptlonly nss ntfs ogg opengl openmp openvg optimiation oscar oss otr pam pango pcre pdf perl phonon pic plasma plymouth png pnm policykit ppds pppd python qalculate qq qt3support qt4 qwt raw rdp readline reiser4 reiserfs resolvconf rss rtmp rtsp samba schroedinger scim sdl semantic-desktop server session skins skype sms sna speex spell sql sqlite sqlite3 sse sse2 ssh ssl startup-notification stream strong-optimization subversion svg symlink sysfs taglib tcpd theora threads tiff truetype twolame udev unicode upnp usb v4l v4l2 vaapi vcd vcdx vdpau video vnc vorbis vpx webinterface webkit wicd wifi wxwidgets x264 xcb xcomposite xfs xft xinerama xml xorg xscreensaver xulrunner xv xvid xvmc zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="plymouth" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel i915 i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Confirmed here on amd64 - the attached patch removes the botched configure check, but libimobiledevice will only works with cython versions through 0.15.0 (but not 0.16.0).
Created attachment 310615 [details, diff] patch to remove bad ac_pkg check for cython version not valid with cython-0.16.0 and higher.
same here
Created attachment 311915 [details] build.log (after fixing the ./configure check to pass) This is the actual build.log after patching the ./configure check to pass.
Created attachment 311917 [details, diff] Workaround the version check to work for "X.X" instead of "X.X.X" inherit autotools eutils python [ ... snip ... ] if has_version '~dev-python/cython-0.16'; then epatch "${FILESDIR}"/${P}-cython-0.16.patch eautoreconf fi The prev. build.log is after patching libimobiledevice like this.
> > The prev. build.log is after patching libimobiledevice like this. So it's still not working... Bug has been filed upstream a month a go as well (http://libiphone.lighthouseapp.com/projects/27916/tickets/264-error-compiling-with-cython-016_rc0) No action has been taken so far.. Guess the only solution is to downgrade Cython (mask 0.16 maybe?)
(In reply to comment #6) > Guess the only solution is to downgrade Cython (mask 0.16 maybe?) I don't know anything that's using the Python (Cython) bindings of libimobiledevice, at least we don't have anything in Portage using them, so this seemed like viable option while waiting for real fix: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-pda/libimobiledevice/libimobiledevice-1.1.4.ebuild?r1=1.2&r2=1.3 I'll see if I can come up with something better later.
Wouldn't a dependency like: DEPEND="cython? ( <=dev-python/cython-0.15* ) " do the trick? At least you'd know why it's not working, and could disable the cython use flag in /etc/portage/packege.use for the package. I know that other ebuilds came up with a warning in the past (I think openssh always had some issues with the ldap use flag) Would seem more user friendly to me (Although you risk that cython remains disabled for libimobiledevice after the problem has been fixed..)
This has now been fixed upstream, both ac_pkg check and the compilation errors. http://cgit.sukimashita.com/libimobiledevice.git/commit/?id=70dfe8ad1766990386f1db04bbe5a4826bcde4e5 http://cgit.sukimashita.com/libimobiledevice.git/commit/?id=84235e0834e57551028329723f4510e1dbe7bc11 http://cgit.sukimashita.com/libimobiledevice.git/commit/?id=849ea066426b8f5f6e6d1aea9804e095edca3b49
(In reply to comment #9) > This has now been fixed upstream, both ac_pkg check and the compilation > errors. > > http://cgit.sukimashita.com/libimobiledevice.git/commit/ > ?id=70dfe8ad1766990386f1db04bbe5a4826bcde4e5 > > http://cgit.sukimashita.com/libimobiledevice.git/commit/ > ?id=84235e0834e57551028329723f4510e1dbe7bc11 > > http://cgit.sukimashita.com/libimobiledevice.git/commit/ > ?id=849ea066426b8f5f6e6d1aea9804e095edca3b49 awesome! in portage as 1.1.4-r1