Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 286297 - app-cdr/xbiso-0.6.1 fails to build due to missing ftplib.h
Summary: app-cdr/xbiso-0.6.1 fails to build due to missing ftplib.h
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Optical Media project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-24 20:43 UTC by Andrew Savchenko
Modified: 2015-01-10 06:02 UTC (History)
4 users (show)

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


Attachments
build.log (build.log,6.17 KB, text/plain)
2009-09-24 20:44 UTC, Andrew Savchenko
Details
environment (environment,11.49 KB, text/plain)
2009-09-24 20:44 UTC, Andrew Savchenko
Details
fix build with --disable-ftp (xbiso-0.6.1-lm.patch,309 bytes, patch)
2009-09-24 21:23 UTC, Andrew Savchenko
Details | Diff
patch for new ebuild (xbiso-0.6.1.ebuild.patch,760 bytes, patch)
2009-09-24 21:25 UTC, Andrew Savchenko
Details | Diff
build.log (build.log,8.18 KB, text/x-log)
2014-12-03 10:47 UTC, Andrew Savchenko
Details
xbiso-0.6.1-libs.patch (xbiso-0.6.1-libs.patch,831 bytes, patch)
2014-12-03 10:49 UTC, Andrew Savchenko
Details | Diff
xbiso-0.6.1-r1.ebuild.patch (xbiso-0.6.1-r1.ebuild.patch,1.11 KB, patch)
2014-12-03 10:51 UTC, Andrew Savchenko
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Savchenko gentoo-dev 2009-09-24 20:43:08 UTC
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
Comment 1 Andrew Savchenko gentoo-dev 2009-09-24 20:44:34 UTC
Created attachment 205145 [details]
build.log
Comment 2 Andrew Savchenko gentoo-dev 2009-09-24 20:44:46 UTC
Created attachment 205147 [details]
environment
Comment 3 Andrew Savchenko gentoo-dev 2009-09-24 20:48:11 UTC
Maybe this is the same problem as in bug 264071, but I'm not sure because of insufficient info, just guessing.
Comment 4 Andrew Savchenko gentoo-dev 2009-09-24 21:22:38 UTC
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.
Comment 5 Andrew Savchenko gentoo-dev 2009-09-24 21:23:30 UTC
Created attachment 205153 [details, diff]
fix build with --disable-ftp
Comment 6 Andrew Savchenko gentoo-dev 2009-09-24 21:25:18 UTC
Created attachment 205155 [details, diff]
patch for new ebuild
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2011-12-22 18:29:21 UTC
+*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.
Comment 8 Fabian Groffen gentoo-dev 2012-04-01 13:18:55 UTC
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.
Comment 9 Andrew Savchenko gentoo-dev 2014-12-03 10:46:32 UTC
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.
Comment 10 Andrew Savchenko gentoo-dev 2014-12-03 10:47:14 UTC
Created attachment 390826 [details]
build.log
Comment 11 Andrew Savchenko gentoo-dev 2014-12-03 10:49:09 UTC
Created attachment 390828 [details, diff]
xbiso-0.6.1-libs.patch

Remove ftplib automagic, set LIBS properly.
Comment 12 Andrew Savchenko gentoo-dev 2014-12-03 10:51:11 UTC
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.
Comment 13 Andrew Savchenko gentoo-dev 2014-12-27 12:25:03 UTC
Hello, I'm going to apply changes above in two weeks if there are no objections.
Comment 14 Toralf Förster gentoo-dev 2014-12-29 14:40:31 UTC
(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 ?
Comment 15 Andrew Savchenko gentoo-dev 2014-12-29 15:53:07 UTC
(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.
Comment 16 Andrew Savchenko gentoo-dev 2015-01-10 06:02:14 UTC
Fixed in tree.