xbiso-0.6.1 fails to build to missing ftplib.h header: i686-pc-linux-gnu-gcc -march=core2 -m32 --param l1-cache-line-size=64 --param l1-cache-size=32 --param l2-cache-size=512 -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -fomit-frame-pointer -mfpmath=sse -pipe -o xbiso xbiso.c -DUSE_FTP -lftp -lm xbiso.c:55:20: error: ftplib.h: No such file or directory xbiso.c: In function ‘main’: xbiso.c:194: error: ‘ftplib_lastresp’ undeclared (first use in this function) xbiso.c:194: error: (Each undeclared identifier is reported only once xbiso.c:194: error: for each function it appears in.) There is no ftplib.h on my system. Is this missing dependency problem? $ emerge --info Portage 2.2_rc41 (default/linux/x86/2008.0, gcc-4.4.1, glibc-2.10.1-r0, 2.6.30.4-hitomi i686) ================================================================= System uname: Linux-2.6.30.4-hitomi-i686-Intel-R-_Atom-TM-_CPU_N270_@_1.60GHz-with-gentoo-2.0.1 Timestamp of tree: Mon, 21 Sep 2009 09:15:01 +0000 distcc 3.1 i686-pc-linux-gnu [disabled] ccache version 2.4 [enabled] app-shells/bash: 4.0_p33 dev-java/java-config: 2.1.9-r1 dev-lang/python: 2.6.2-r1, 3.1.1 dev-python/pycrypto: 2.0.1-r8 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.6.4-r2 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 2.1 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.4_p6, 1.6.3, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=core2 -m32 --param l1-cache-line-size=64 --param l1-cache-size=32 --param l2-cache-size=512 -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -fomit-frame-pointer -mfpmath=sse -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/bind /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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 /etc/udev/rules.d" CXXFLAGS="-march=core2 -m32 --param l1-cache-line-size=64 --param l1-cache-size=32 --param l2-cache-size=512 -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -fomit-frame-pointer -mfpmath=sse -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y" FEATURES="assume-digests ccache collision-protect distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox" FFLAGS="-march=core2 -m32 --param l1-cache-line-size=64 --param l1-cache-size=32 --param l2-cache-size=512 -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -fomit-frame-pointer -mfpmath=sse -pipe" GENTOO_MIRRORS=" ftp://bircoph/distributive/gentoo/portage ftp://orionis/distributions/1Linux/gentoo/portage ftp://ftp.chg.ru/pub/Linux/gentoo http://mirror.yandex.ru/gentoo-distfiles ftp://ftp.corbina.net/pub/Linux/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo http://mirror.netcologne.de/gentoo" LANG="en_US.UTF-8" LC_ALL="" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="ru en ja" 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="/usr/local/portage/layman/science /usr/local/portage/layman/java-overlay /usr/local/portage/layman/sunrise /usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X a52 aac aalib acl acpi adns afs aften aim alsa amr amrnb amrwb ao audiofile bash-completion bcmath binfilter blas bluetooth branding bzip2 cairo calendar canna caps ccache cddb cdinstall cdparanoia cdr chasen cjk cli clisp colordiff cracklib crypt cscope css ctype cups curl curlwrappers cvs cxx cyrillic dbus device-mapper dga dia dirac directfb djvu dmx doc dri dts dv dvd dvdr dvdread dvi eap-sim editor elf encode enscript ermt examples exif expat faac faad fbcon festival ffmpeg fftw firefox flac fontconfig foomaticdb fortran fpx freetds freetype ftp gcj gcrypt gd gdbm geoip ggi gif gimp ginac git glibc-omitfp glut gmp gnuplot gnutls gpgme gphoto2 gpm gps graphviz gs gsl gsm gtk gucharmap h224 h281 h323 hdf5 hdri iceweasel iconv icq icu id3tag idn imagemagick imap imlib immqt-bc inkjar ipod iproute2 ipv6 isdnlog jabber jack jadetex java6 javascript jbig jingle jpeg jpeg2k kdehiddenvisibility kerberos keyscrub kpathsea kqemu ladspa lame lapack lash latex lcms ldap libcaca libnotify libsamplerate libwww logrotate lzo mad maildir mailwrapper matroska mbox md5sum mhash mikmod mime mjpeg mmap mmx mng modplug mp3 mpeg mplayer mppe-mppc msn mudflap musepack musicbrainz mysql mysqli nas ncurses netcdf network network-cron nls nntp nocd nodrm nptl nptlonly nsplugin nuv objc objc++ offensive ogg openal openexr opengl openmp oscar otr pam pango pcntl pcre pda pdf perl pgf plotutils png pop posix postproc postscript ppds pppd pronounce pstricks pth qt3 qt3support qt4 quicktime raw rdesktop readline recode reflection restrict-javascript rle rrdtool samba savedconfig scanner schroedinger sdl session sharedmem shorten sip sipim slang slp smi smime smp sms smtp sndfile sockets socks5 soundtouch sox sparse speex spell spl sqlite sqlite3 sse sse2 sse3 ssl ssse3 startup-notification subversion supernodal svg svga sysfs syslog szip t1lib taglib tcpd theora threads tiff timezone timidity tordns truetype twolame type3 unicode usb v4l v4l2 vamp vcd vhook videos vim vim-syntax vnc vorbis wav wavpack wifi win32codecs wireshark wmf x264 x86 xattr xcb xface xft xinerama xorg xosd xpm xprint xrandr xscreensaver xv xvid yahoo yaz ziffy zlib" ALSA_CARDS="hda-intel" 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="authz_host dir mime" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en ja" USERLAND="GNU" VIDEO_CARDS="intel vesa fbdev" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 205145 [details] build.log
Created attachment 205147 [details] environment
Maybe this is the same problem as in bug 264071, but I'm not sure because of insufficient info, just guessing.
OK, I found the root of problem: media-video/camstream ships libftp.a, but not its header, so configure script of xbiso detects libftp present, but it doesn't check if this library is compilable. Adding --disable-ftp to configure parameters helps. But this triggers another bug: -lm became disabled when --disable-ftp is used. The appropriate patch is attached too.
Created attachment 205153 [details, diff] fix build with --disable-ftp
Created attachment 205155 [details, diff] patch for new ebuild
+*xbiso-0.6.1-r1 (22 Dec 2011) + + 22 Dec 2011; Samuli Suominen <ssuominen@gentoo.org> +xbiso-0.6.1-r1.ebuild: + Missing net-libs/ftplib dependency wrt #286297 by Andrew Savchenko. Use + environment LDFLAGS.
just forcing net-libs/ftplib dependency is not a solution to an automagic dependency! net-libs/ftplib does not have required keywords for xbiso either (In reply to comment #5) > Created attachment 205153 [details, diff] [details, diff] > fix build with --disable-ftp always forcing -lm might break Correct approach is introducing a USE-flag for ftp, use that to use_enable ftp, then fix configure to properly handle the arg_enable. (check_lib afterwards if necessary.) If you want quick and dirty, just nuke out "-DUSE_FTP -lftp" from configure so ftplib is never used.
Another problem here: >=ftplib-4.0 is not compatible with xbiso because of API change (deprecated functions are removed). See build.log below and proposed fix for ftp automagic.
Created attachment 390826 [details] build.log
Created attachment 390828 [details, diff] xbiso-0.6.1-libs.patch Remove ftplib automagic, set LIBS properly.
Created attachment 390830 [details, diff] xbiso-0.6.1-r1.ebuild.patch Ebuild patch (needs -r2 bump). Media-optical herd, please review patches above. Works fine here, QAs seems to be fixed.
Hello, I'm going to apply changes above in two weeks if there are no objections.
(In reply to Andrew Savchenko from comment #13) > Hello, I'm going to apply changes above in two weeks if there are no > objections. May I ask why you wait 2 weeks instead of creating a new unstable (maybe even masked) ebuild ?
(In reply to Toralf Förster from comment #14) > May I ask why you wait 2 weeks instead of creating a new unstable (maybe > even masked) ebuild ? Because of Gentoo development policy: this ebuild is not mine, it is maintained by other people (media-optical herd in this case) and I can't change it without permission or some reasonable time limit after ping. See https://devmanual.gentoo.org/ebuild-writing/ebuild-maintenance/index.html "Touching other developers ebuilds" chapter.
Fixed in tree.