[ebuild R ] net-dns/avahi-0.6.25 USE="autoipd dbus gdbm gtk ipv6 mdnsresponder-compat python -bookmarks -doc -howl-compat -mono -qt3 -qt4 -test" 0 kB [ebuild R ] net-print/cups-1.4.2 USE="X acl dbus gnutls jpeg pam perl png python samba ssl tiff zeroconf -debug -java -kerberos -ldap -php -slp -static -xinetd" >>> Emerging (1 of 1) net-print/cups-1.4.2 * cups-1.4.2-source.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking cups-1.4.2-source.tar.bz2 to /var/tmp/portage/net-print/cups-1.4.2/work >>> Source unpacked in /var/tmp/portage/net-print/cups-1.4.2/work >>> Preparing source in /var/tmp/portage/net-print/cups-1.4.2/work/cups-1.4.2 ... * Applying cups-1.4.0-backend-https.patch ... [ ok ] >>> Source prepared. >>> Configuring source in /var/tmp/portage/net-print/cups-1.4.2/work/cups-1.4.2 ... ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --localstatedir=/var --with-cups-user=lp --with-cups-group=lp --with-docdir=/usr/share/cups/html --with-languages=eu --with-pdftops=pdftops --with-system-groups=lpadmin --enable-acl --enable-dbus --disable-debug --disable-debug-guards --enable-jpeg --disable-gssapi --disable-ldap --enable-pam --enable-png --disable-slp --disable-static --enable-tiff --disable-xinetd --enable-dnssd --without-java --with-perl --without-php --with-python --enable-libpaper --enable-libusb --enable-threads --enable-pdftops --enable-gnutls --disable-openssl checking for gawk... gawk checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E checking for x86_64-pc-linux-gnu-g++... x86_64-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether x86_64-pc-linux-gnu-g++ accepts -g... yes checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib checking for ar... /usr/bin/ar checking for chmod... /usr/bin/chmod checking for htmldoc... no checking for ld... /usr/bin/ld checking for ln... /usr/bin/ln checking for mv... /usr/bin/mv checking for rm... /usr/bin/rm checking for rmdir... /usr/bin/rmdir checking for sed... /bin/sed checking for xdg-open... /usr/bin/xdg-open checking for install-sh script... using /var/tmp/portage/net-print/cups-1.4.2/work/cups-1.4.2/install-sh checking for library containing crypt... -lcrypt checking for library containing getspent... none required checking for systempapername in -lpaper... yes checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking crypt.h usability... yes checking crypt.h presence... yes checking for crypt.h... yes checking langinfo.h usability... yes checking langinfo.h presence... yes checking for langinfo.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking shadow.h usability... yes checking shadow.h presence... yes checking for shadow.h... yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking bstring.h usability... no checking bstring.h presence... no checking for bstring.h... no checking usersec.h usability... no checking usersec.h presence... no checking for usersec.h... no checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/ucred.h usability... no checking sys/ucred.h presence... no checking for sys/ucred.h... no checking scsi/sg.h usability... yes checking scsi/sg.h presence... yes checking for scsi/sg.h... yes checking for strdup... yes checking for strcasecmp... yes checking for strncasecmp... yes checking for strlcat... no checking for strlcpy... no checking for snprintf... yes checking for vsnprintf... yes checking for random... yes checking for mrand48... yes checking for lrand48... yes checking for geteuid... yes checking for vsyslog... yes checking for sigaction... yes checking for waitpid... yes checking for wait3... yes checking for tm_gmtoff member in tm structure... yes checking for removefile... no checking for usb_init in -lusb... yes checking usb.h usability... yes checking usb.h presence... yes checking for usb.h... yes checking for library containing acl_init... -lacl checking for pkg-config... /usr/bin/pkg-config checking for DBUS... yes checking for dbus_message_iter_init_append in -ldbus-1... yes checking if GCC supports -fstack-protector... yes checking if GCC supports -pie... yes checking whether to build image filters... yes checking for library containing pow... -lm checking jpeglib.h usability... yes checking jpeglib.h presence... yes checking for jpeglib.h... yes checking for jpeg_destroy_decompress in -ljpeg... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for gzgets in -lz... yes checking png.h usability... yes checking png.h presence... yes checking for png.h... yes checking for png_create_read_struct in -lpng... yes checking tiff.h usability... yes checking tiff.h presence... yes checking for tiff.h... yes checking for TIFFReadScanline in -ltiff... yes checking for stdlib.h... (cached) yes checking resolv.h usability... yes checking resolv.h presence... yes checking for resolv.h... yes checking for library containing socket... none required checking for library containing gethostbyaddr... none required checking for library containing getifaddrs... none required checking for library containing hstrerror... none required checking for library containing rresvport_af... none required checking for library containing __res_init... none required checking for library containing getaddrinfo... none required checking for library containing getnameinfo... none required checking for struct sockaddr.sa_len... no checking sys/sockio.h usability... no checking sys/sockio.h presence... no checking for sys/sockio.h... no checking for AppleTalk/at_proto.h... no checking for poll... yes checking for epoll_create... yes checking for kqueue... no checking for libgnutls-config... no Using SSLLIBS="-lgnutls " Using SSLFLAGS=" " checking for dlopen in -ldl... yes checking for pam_start in -lpam... yes checking for pam_set_item in -lpam... yes checking for pam_setcred in -lpam... yes checking security/pam_appl.h usability... yes checking security/pam_appl.h presence... yes checking for security/pam_appl.h... yes checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking for pthread_create using -lpthreads... no checking for pthread_create using -lpthread... yes checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for long long int... yes checking for strtoll... yes checking dns_sd.h usability... yes checking dns_sd.h presence... yes checking for dns_sd.h... yes checking for current version of dns_sd library... no checking for launch_msg... no checking launch.h usability... no checking launch.h presence... no checking for launch.h... no checking whether to use network default printers... yes checking for pdftops... /usr/bin/pdftops configure: creating ./config.status config.status: creating Makedefs config.status: creating packaging/cups.list config.status: creating init/cups.sh config.status: creating init/cups-lpd config.status: creating cups-config config.status: creating conf/cupsd.conf config.status: creating conf/mime.convs config.status: creating conf/pam.std config.status: creating conf/snmp.conf config.status: creating data/testprint config.status: creating desktop/cups.desktop config.status: creating doc/index.html config.status: creating doc/help/ref-cupsd-conf.html config.status: creating doc/help/standard.html config.status: creating init/org.cups.cups-lpd.plist config.status: creating init/cups.xml config.status: creating man/client.conf.man config.status: creating man/cups-deviced.man config.status: creating man/cups-driverd.man config.status: creating man/cups-lpd.man config.status: creating man/cupsaddsmb.man config.status: creating man/cupsd.man config.status: creating man/cupsd.conf.man config.status: creating man/drv.man config.status: creating man/lpoptions.man config.status: creating templates/header.tmpl config.status: creating doc/eu/index.html config.status: creating templates/eu/header.tmpl config.status: creating config.h >>> Source configured. Relevant line checking for current version of dns_sd library... no from config-scripts/cups-dnssd.m4 Portage 2.1.7.4 (default/linux/amd64/10.0/no-multilib, gcc-4.4.2, glibc-2.11-r0, 2.6.31 x86_64) ================================================================= System uname: Linux-2.6.31-x86_64-Intel-R-_Core-TM-2_CPU_T7200_@_2.00GHz-with-gentoo-2.0.1 Timestamp of tree: Sun, 15 Nov 2009 11:15:02 +0000 distcc 3.1 x86_64-pc-linux-gnu [disabled] ccache version 2.4 [enabled] app-shells/bash: 4.0_p35 dev-lang/python: 2.4.4-r4, 2.5.4-r2, 2.6.4, 3.1.1-r1 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.6.3 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.5.2-r2 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.20 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/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 /etc/udev/rules.d" CXXFLAGS="-march=nocona -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" LINGUAS="eu" MAKEOPTS="-j3" 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/desktop-effects /usr/local/portage/layman/sunrise /usr/local/portage/layman/voip /usr/local/portage/layman/wschlich-testing /usr/local/portage/layman/mozilla /usr/local/portage/layman/gnome /usr/portage/local/gentoo-misc" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X aalib acl acpi alsa amd64 autoipd avahi bash-completion berkdb bluetooth bzip2 cairo cdr cli consolekit cracklib crypt cups curl daap dbus dell device-mapper dri eds exif faac faad fortran fuse gdbm gdu gif glitz gnome gnome-keyring gnutls gpm gstreamer gtk gudev hal iconv idn imagemagick introspection ipod ipv6 jpeg jpeg2k laptop libcaca libnotify mad mdnsresponder-compat mmx modules mp3 mudflap musicbrainz nautilus ncurses networkmanager nls nntp nptl nptlonly ogg opengl openmp pam pango pcre pdf perl png pppd pulseaudio python readline reflection samba session soup spell spl sqlite sse sse2 sse3 ssh ssl svg synaptics sysfs tcpd theora tiff tracker truetype udev unicode usb vorbis webkit xcb xinerama xmp xorg 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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="eu" USERLAND="GNU" VIDEO_CARDS="nv nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS Reproducible: Always
configure:18761: checking dns_sd.h usability configure:18778: gcc -c -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -DDBUS_API_SUBJECT_TO_CHANGE conftest.c >&5 configure:18784: $? = 0 configure:18798: result: yes configure:18802: checking dns_sd.h presence configure:18817: gcc -E conftest.c configure:18823: $? = 0 configure:18837: result: yes configure:18865: checking for dns_sd.h configure:18872: result: yes configure:18898: checking for current version of dns_sd library configure:18927: gcc -c -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -DDBUS_API_SUBJECT_TO_CHANGE conftest.c >&5 conftest.c: In function 'main': conftest.c:92: error: 'kDNSServiceFlagsShareConnection' undeclared (first use in this function) conftest.c:92: error: (Each undeclared identifier is reported only once conftest.c:92: error: for each function it appears in.) configure:18933: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define CUPS_SVERSION "CUPS v1.4.2" | #define CUPS_MINIMAL "CUPS/1.4.2" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_CRYPT_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_MALLOC_H 1 | #define HAVE_SHADOW_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SCSI_SG_H 1 | #define HAVE_STRDUP 1 | #define HAVE_STRCASECMP 1 | #define HAVE_STRNCASECMP 1 | #define HAVE_SNPRINTF 1 | #define HAVE_VSNPRINTF 1 | #define HAVE_RANDOM 1 | #define HAVE_MRAND48 1 | #define HAVE_LRAND48 1 | #define HAVE_GETEUID 1 | #define HAVE_VSYSLOG 1 | #define HAVE_SIGACTION 1 | #define HAVE_WAITPID 1 | #define HAVE_WAIT3 1 | #define HAVE_TM_GMTOFF 1 | #define HAVE_USB_H 1 | #define HAVE_ACL_INIT 1 | #define HAVE_DBUS 1 | #define HAVE_DBUS_MESSAGE_ITER_INIT_APPEND 1 | #define CUPS_DEFAULT_PRINTOPERATOR_AUTH "@SYSTEM" | #define CUPS_BINDIR "/usr/bin" | #define CUPS_SBINDIR "/usr/sbin" | #define CUPS_DEFAULT_LPD_CONFIG "xinetd:///etc/xinetd.d/cups-lpd" | #define CUPS_DEFAULT_SMB_CONFIG "samba:///etc/samba/smb.conf" | #define CUPS_CACHEDIR "/var/cache/cups" | #define CUPS_DATADIR "/usr/share/cups" | #define CUPS_DOCROOT "/usr/share/doc/cups" | #define CUPS_FONTPATH "/usr/share/cups/fonts" | #define CUPS_LOCALEDIR "/usr/share/locale" | #define CUPS_LOGDIR "/var/log/cups" | #define CUPS_LOGDIR "/var/log/cups" | #define CUPS_REQUESTS "/var/spool/cups" | #define CUPS_SERVERBIN "/usr/lib/cups" | #define CUPS_SERVERROOT "/etc/cups" | #define CUPS_STATEDIR "/var/run/cups" | #define HAVE_LIBJPEG 1 | #define HAVE_LIBZ 1 | #define HAVE_LIBPNG 1 | #define HAVE_LIBTIFF 1 | #define HAVE_STDLIB_H 1 | #define HAVE_RESOLV_H 1 | #define HAVE_GETIFADDRS 1 | #define HAVE_HSTRERROR 1 | #define HAVE_RRESVPORT_AF 1 | #define HAVE_RES_INIT 1 | #define HAVE_GETADDRINFO 1 | #define HAVE_GETNAMEINFO 1 | #define CUPS_DEFAULT_DOMAINSOCKET "/var/run/cups/cups.sock" | #define HAVE_POLL 1 | #define HAVE_EPOLL 1 | #define CUPS_DEFAULT_GSSSERVICENAME "host" | #define HAVE_SSL 1 | #define HAVE_GNUTLS 1 | #define HAVE_LIBDL 1 | #define HAVE_LIBPAM 1 | #define HAVE_PAM_SET_ITEM 1 | #define HAVE_PAM_SETCRED 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_LONG_LONG 1 | #define HAVE_STRTOLL 1 | /* end confdefs.h. */ | #include <dns_sd.h> | int | main () | { | int constant = kDNSServiceFlagsShareConnection; | unsigned char txtRecord[100]; | uint8_t valueLen; | TXTRecordGetValuePtr(sizeof(txtRecord), | txtRecord, "value", &valueLen); | ; | return 0; | } configure:18950: result: no
Does adding '--with-dnssd-includes=/usr/include/avahi-compat-libdns_sd/' to configure options help ? Though strange, nobody has noticed this before.
$ ./configure --with-dnssd-includes=/usr/include/avahi-compat-libdns_sd/ checking for gawk... gawk checking for gcc... gcc (...) checking for strtoll... yes checking dns_sd.h usability... yes checking dns_sd.h presence... yes checking for dns_sd.h... yes checking for current version of dns_sd library... no
OK, it's not as easy as I thought. Perhaps cups 1.3 could do with mdns-compat, cups 1.4 requires something, that's not implemented in in avahi compatibility layer, as it seems mDNSResponder 161.1 was the first released version providing that feature. Accidentally, there's http://www.cups.org/str.php?L3066 were they've consider adding native avahi support, but there's no activity there in the last few months.
Thanks for investigating. While the patch seems to work in a quick test here, our Gentoo policy is to not add any stuff which isn't supported by upstream, especially when it's such a huge patch like this one. I've hard disabled zeroconf starting with cups-1.4.2-r1 since defaulting to mDNSResponder makes no sense and would cause a blocker for most of the major DE users out there, now that avahi is a quasi standard. According to the upstream bug it looks like this has to wait for cups-1.5, so I'm closing this for now.
Just a little note: I wonder if other distros are aware of this problem, cause when I googled, I saw a few bugs, that could be explain by this - people were used to avahi working in cups, so they didn't check this.
Redhat for example ships a cups-avahi.patch, guess Ubuntu and other major distros with huge custom patchsets ship a similiar/the same patch.