Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 293295 - cups-1.4.2 can't use avahi' mdnsresponder compatibility layer
Summary: cups-1.4.2 can't use avahi' mdnsresponder compatibility layer
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Printing (show other bugs)
Hardware: All Linux
: High major
Assignee: Printing Team
URL: http://www.cups.org/str.php?L3066
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-15 15:26 UTC by Mikel Olasagasti
Modified: 2010-09-06 12:42 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikel Olasagasti 2009-11-15 15:26:10 UTC
[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
Comment 1 Mikel Olasagasti 2009-11-15 20:49:11 UTC
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
Comment 2 Rafał Mużyło 2009-11-23 21:18:49 UTC
Does adding '--with-dnssd-includes=/usr/include/avahi-compat-libdns_sd/'
to configure options help ?
Though strange, nobody has noticed this before.
Comment 3 Mikel Olasagasti 2009-11-23 21:29:51 UTC
$ ./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
Comment 4 Rafał Mużyło 2009-11-24 03:57:59 UTC
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.
Comment 5 Timo Gurr (RETIRED) gentoo-dev 2009-11-30 22:18:33 UTC
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.
Comment 6 Rafał Mużyło 2009-12-01 04:18:33 UTC
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.
Comment 7 Timo Gurr (RETIRED) gentoo-dev 2009-12-01 08:14:18 UTC
Redhat for example ships a cups-avahi.patch, guess Ubuntu and other major distros with huge custom patchsets ship a similiar/the same patch.