Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 525234 - net-misc/stunnel-5.05 - stunnel.c: undefined reference to `sd_listen_fds'
Summary: net-misc/stunnel-5.05 - stunnel.c: undefined reference to `sd_listen_fds'
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Anthony Basile
URL: https://www.stunnel.org/pipermail/stu...
Whiteboard:
Keywords:
Depends on:
Blocks: systemd-216-stable
  Show dependency tree
 
Reported: 2014-10-13 09:09 UTC by Juergen Rose
Modified: 2014-11-02 12:06 UTC (History)
4 users (show)

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


Attachments
build.log (build.log,20.46 KB, text/plain)
2014-10-13 09:09 UTC, Juergen Rose
Details
Possibly improved autoconf macro. (libsystemd-libsystemd-daemon-fallback.patch,451 bytes, patch)
2014-10-14 16:52 UTC, Jordan Yelloz
Details | Diff
Remove automagic dependency on systemd (stunnel-enable-systemd.patch,2.17 KB, patch)
2014-10-18 01:52 UTC, Anthony Basile
Details | Diff
Remove automagic dependency on systemd (stunnel-enable-systemd.patch,2.17 KB, patch)
2014-10-18 01:54 UTC, Anthony Basile
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2014-10-13 09:09:14 UTC
Created attachment 386592 [details]
build.log

'emerge stunnel' fails with:
...
libtool: link: x86_64-pc-linux-gnu-gcc -pthread -fstack-protector -fPIE -march=amdfam10 -O2 -pipe -Wall -Wextra -Wno-long-long -pedantic -Wl,-O1 -Wl,--as-needed -o stunnel stunnel-str.o stunnel-file.o stunnel-client.o stunnel-log.o stunnel-options.o stunnel-protocol.o stunnel-network.o stunnel-resolver.o stunnel-ssl.o stunnel-ctx.o stunnel-verify.o stunnel-sthreads.o stunnel-fd.o stunnel-stunnel.o stunnel-pty.o stunnel-libwrap.o stunnel-ui_unix.o  -L/usr/lib64 -L/usr/lib -lssl -lcrypto -lz -ldl -lutil -lnsl -lpthread -lwrap -pthread
stunnel-stunnel.o: In function `main_init':
stunnel.c:(.text+0xd0a): undefined reference to `sd_listen_fds'
collect2: error: ld returned 1 exit status



root@impala:/root(8)# emerge --info '=net-misc/stunnel-5.05::gentoo'
Portage 2.2.14_rc1 (python 2.7.8-final-0, default/linux/amd64/13.0, gcc-4.8.3, glibc-2.19-r1, 3.17.0-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.17.0-gentoo-x86_64-AMD_Phenom-tm-_II_X4_965_Processor-with-gentoo-2.2
KiB Mem:     8163880 total,   1361824 free
KiB Swap:   50331640 total,  50292536 free
Timestamp of tree: Mon, 13 Oct 2014 06:30:01 +0000
ld GNU ld (GNU Binutils) 2.24
app-shells/bash:          4.2_p53
dev-java/java-config:     2.2.0
dev-lang/perl:            5.20.1
dev-lang/python:          2.7.8, 3.3.5-r1, 3.4.2
dev-util/cmake:           3.0.2
dev-util/pkgconfig:       0.28-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.1
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.10.3, 1.11.6, 1.12.6, 1.14.1
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.1
sys-kernel/linux-headers: 3.16 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo science sunrise sage-on-gentoo x11 x-portage g-cpan g-octave
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL Intel-SDP dlj-1.1 skype-eula skype-4.0.0.7-copyright googleearth AdobeFlash-11.x cadsoft Oracle-BCLA-JavaSE MakeMKV-EULA NVIDIA-CUDA Nero-AAC-EULA GIMPS"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/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=amdfam10 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage_impala"
PORTDIR_OVERLAY="/var/lib/layman/science /var/lib/layman/sunrise /var/lib/layman/sage-on-gentoo /var/lib/layman/x11 /usr/local/portage /var/lib/cpan /var/lib/g-octave"
USE="3dnow 3dnowext 64bit R X Xaw3d a52 aac accessibility acl acpi admin afs alsa amd64 ao apache2 apng applet archive armadillo arpack asf aspell atlas audacious audiofile automap automount bash-completion berkdb blas blast bluetooth bluray boost bzip2 cairo cdda cddb cdf cdio cdparanoia cdr cg cgi chm cli cmake consolekit cracklib crypt css cups curl cxx daap db dbi dbm dbus declarative designer devhelp device-mapper dga dia dirac djvu doc dot dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds egl elf emacs emboss emf encode epiphany evo examples exif expat extensions extra extras faac faad fam ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fortran95 fpm fpx fuse g3dvl gcj gd gdal gdbm gdu gedit geoip geolocation geos gfortran gif gimp git glade glib glpk gml gmp gnome gnome-keyring gnome-print gnuplot gnutls gold gphoto2 gpm grammar graphics graphtft graphviz grass gsl gsm gstreamer gtk gtk3 gudev guile hddtemp hdf hdf5 hdri html http httpd hvm hwdb iconv icq icu id3tag ide imagemagick imap inotify introspection ipod ipv6 ithreads jabber jadetex java java6 jbig jit john jpeg jpeg2k kate kde kdepim kdrive kerberos keymap kpathsea kvm ladspa lame lapack latex lcms ldap lensfun libffi libkms libnotify libsamplerate live lm_sensors lua lzma lzo mad mail maildir mapnik math matroska media-library mercurial mikmod mkl mmx mmxext mng mod modules mono motif mozilla mp3 mp4 mpeg mpi mplayer mtp multilib multimedia musepack musicbrainz mysql mysqli nautilus ncurses netcdf netpbm network networking nfs nls nntp nptl nsplugin ntfs ntp numpy nvidia obex objc ocaml ocr octave odbc ofa ogdi ogg openexr opengl openmp openvg pam pango pcre pda pdf pdl2 perl plasma plotutils plugins png podcast policykit portaudio posix postgres postscript ppds preview-latex proj projectm pstricks pulseaudio python python-bindings q16 q32 qemu qhull qt3support qt4 quicktime raw readline reiserfs reports rle romio rpc rrdcgi rrdtool sage samba sasl schroedinger science sdk sdl secure-delete semantic-desktop server session shout sip slang slp smart smbclient smp sms sndfile snmp soap sockets sound soup sox speex spell sql sqlite sse sse2 sse4 sse4a ssl stlport subtitles subversion sudo suexec svg svm swig systemd szip t1lib tcl tcpd tex tex4ht texmacs theora thesaurus threads thunderbird tidy tiff tk tools truetype udev udisks unicode usb utempter v4l vaapi vala valgrind vdpau video virt-network virtualbox visio vorbis vpx vtk wav webdav webdav-serf webkit wmf wxwidgets x264 xa xattr xcb xetex xext xft xine xml xmlreader xmlrpc xpm xv xvid xvmc yaml youtube zlib zvbi" ABI_X86="64" 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" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_core authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info lbmethod_byrequests log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif slotmem_shm so socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="canon fuji ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="nss" DRACUT_MODULES="caps lvm mdraid syslog" 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 ublox ubx" INPUT_DEVICES="keyboard mouse evdev void" KERNEL="linux" LCD_DEVICES="cfontz hd44780 mtxorb ncurses X lcd2usb lcdlinux png usblcd" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de fr ru" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nouveau displaylink" 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, SYNC, USE_PYTHON



root@impala:/root(9)# emerge -pqv '=net-misc/stunnel-5.05::gentoo'
[ebuild     U ] net-misc/stunnel-5.05 [5.04] USE="ipv6 ssl tcpd (-selinux)"
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-13 09:13:05 UTC
Looks like it's attempting to link against sys-apps/systemd. It's checking for systemd headers but not for a matching library.
Comment 2 Anthony Basile gentoo-dev 2014-10-13 15:07:03 UTC
(In reply to Jeroen Roovers from comment #1)
> Looks like it's attempting to link against sys-apps/systemd. It's checking
> for systemd headers but not for a matching library.

No, it is checking for the function in the library.  Line 196 of configure.ac:

   AC_SEARCH_LIBS([sd_listen_fds], [systemd-daemon])

This should set HAVE_SYSTEMD_SD_DAEMON_H in src/config.h only if sd_listen_fds is found.  Its only called once, on line 94 of src/stunnel.c where we have:


#ifdef HAVE_SYSTEMD_SD_DAEMON_H
    systemd_fds=sd_listen_fds(1);
    if(systemd_fds<0)
        fatal("systemd initialization failed");
    listen_fds_start=SD_LISTEN_FDS_START;
#else
    systemd_fds=0; /* no descriptors received */
    listen_fds_start=3; /* the value is not really important */
#endif


So my first guess is that Juergen's system is messed up.

Juergen, can poke around more on your system and see what's going on?  Can you give me the output to 

  readelf -sW /usr/lib64/libsystemd.so | grep sd_listen_fd
Comment 3 Fabio Coatti 2014-10-14 09:04:34 UTC
Same problem here:
libtool: link: x86_64-pc-linux-gnu-gcc -pthread -fstack-protector -fPIE -march=native -mtune=native -O2 -pipe -Wall -Wextra -Wno-long-long -pedantic -Wl,-O1 -Wl,--as-needed -o stunnel stunnel-str.o stunnel-file.o stunnel-client.o stunnel-log.o stunnel-options.o stunnel-protocol.o stunnel-network.o stunnel-resolver.o stunnel-ssl.o stunnel-ctx.o stunnel-verify.o stunnel-sthreads.o stunnel-fd.o stunnel-stunnel.o stunnel-pty.o stunnel-libwrap.o stunnel-ui_unix.o  -L/usr/lib64 -L/usr/lib -lssl -lcrypto -lz -ldl -lutil -lnsl -lpthread -lwrap -pthread
stunnel-stunnel.o: In function `main_init':
stunnel.c:(.text+0xc8a): undefined reference to `sd_listen_fds'
collect2: error: ld returned 1 exit status
Makefile:471: recipe for target 'stunnel' failed
make[2]: *** [stunnel] Error 1
make[2]: Leaving directory '/var/tmp/portage/net-misc/stunnel-5.05/work/stunnel-5.05/src'
Makefile:339: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/var/tmp/portage/net-misc/stunnel-5.05/work/stunnel-5.05/src'
Makefile:365: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

as requested:

calvin ~ #  readelf -sW /usr/lib64/libsystemd.so | grep sd_listen_fd
   460: 0000000000007df0   200 FUNC    GLOBAL DEFAULT   11 sd_listen_fds@@LIBSYSTEMD_209

Portage 2.2.14_rc1 (python 3.3.5-final-0, default/linux/amd64/13.0/desktop/kde/systemd, gcc-4.8.3, glibc-2.19-r1, 3.17.0 x86_64)
=================================================================
System uname: Linux-3.17.0-x86_64-Intel-R-_Core-TM-_i5-3427U_CPU_@_1.80GHz-with-gentoo-2.2
KiB Mem:     8094448 total,    876756 free
KiB Swap:    8386556 total,   8386556 free
Timestamp of tree: Tue, 14 Oct 2014 05:45:01 +0000
ld ld di GNU (GNU Binutils) 2.24
app-shells/bash:          4.2_p53
dev-java/java-config:     2.2.0
dev-lang/perl:            5.20.1
dev-lang/python:          2.7.8, 3.2.5-r6, 3.3.5-r1, 3.4.2
dev-util/cmake:           3.0.2
dev-util/pkgconfig:       0.28-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.1
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.14.1
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.1
sys-kernel/linux-headers: 3.16 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo hacking-gentoo mysql overlay
Installed sets: @kde
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -mtune=native -O2 -pipe "
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf /usr/share/themes/oxygen-gtk/gtk-2.0 /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.5/ext-active/ /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/php/cli-php5.6/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 -mtune=native -O2 -pipe "
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="it_IT.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/hacking-gentoo /var/lib/layman/mysql /usr/overlay"
USE="3dnow 3dnowext 3dnowprefetch X \ a52 aac aalib acl acpi aim alsa amd64 apng ares asf ati audio audiofile avahi bash-completion berkdb bidi bl branding bri bzip2 cairo caps ccdda cdda cdr cjk cli cracklib crypt cups curl cxx dba dbus declarative device-mapper dga divx divx4linux dparanoia dri dts dv dvb dvd dvdr dvdread eap-sim edl embedded emboss encode ethereal exif expat faad fam fame fbcon ffmpeg fftw firefox flac force-cgi-redirect fortran ftp gallium garmin gd gdbm gif gimp glamor gmedia gmp gnutls gphoto2 gpm gps gsm gtk h264 h323 iconv icq icu idn ifp ilbc imagemagick imap innodb ipod iproute2 ipv6 ithreads jabber java javascript joystick jpeg kde kipi kontact kvm lastfm lcms ldap libcaca libnotify libvirtd live lm_sensors lua lvm lxc lzma lzo mad maildir matroska mbox mdnsresponder-compat mhash mime mjpeg mmap mmx mmxext mng modules mozdevelop mozilla mp3 mp4 mpeg msn mtp multilib mysql ncurses nepomuk network networkmanager new-hpcups nfsv4 njb nls nptl nptlonly nsplugin offensive ofx ogg oggvorbis ogm openal openexr opengl openmp oscar pam pango parted pcap pcre pdf phonon php plasma plotutils png policykit ppds pulseaudio qemu qt3support qt4 readline real rtc ruby samba sasl sdl semantic-desktop session sha512 sip slang slp smartcard sndfile snmp sox speex spell srt sse sse2 ssh ssl ssse3 startup-notification svg symlink systemd tcltk tcpd theora threads tiff tk tremor truetype udev udisks unicode upower usb utempter v4l v4l2 vaapi vcd vde vhosts video videos vim-syntax virt-network virtualbox vorbis wav webkit wifi wimax wmf wmp wps wxwidgets wxwindows x264 xanim xattr xcb xcomposite xface xft xine xinerama xml xosd xpm xscreensaver xsl xulrunner xv xvid zlib zpm" ABI_X86="64" 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" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="btrfs crypt crypt-gpg crypt-loop lvm plymouth systemd" 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 ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="it en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python3_3" PYTHON_TARGETS="python2_7 python3_3 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby19 ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="intel v4l" 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"
USE_PYTHON="2.7 3.3 3.4"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC
Comment 4 Juergen Rose 2014-10-14 10:47:43 UTC
It happens on all my systems, e.g.:

root@impala:/root(1)# readelf -sW /usr/lib64/libsystemd.so | grep sd_listen_fd
   429: 0000000000007760   199 FUNC    GLOBAL DEFAULT   11 sd_listen_fds@@LIBSYSTEMD_209


rose@caiman:/home/rose(2)$  readelf -sW /usr/lib64/libsystemd.so | grep sd_listen_fd
   429: 0000000000007760   199 FUNC    GLOBAL DEFAULT   11 sd_listen_fds@@LIBSYSTEMD_209

rose@caiman:/home/rose(3)$ emerge -pvD stunnel
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild  N     ] net-misc/stunnel-5.05  USE="ipv6 ssl tcpd (-selinux)" 0 KiB


root@lynx:/root(2)#  readelf -sW /usr/lib64/libsystemd.so | grep sd_listen_fd
   429: 0000000000007710   200 FUNC    GLOBAL DEFAULT   11 sd_listen_fds@@LIBSYSTEMD_209
root@lynx:/root(3)# emerge -pvD stunnel
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild     U  ] net-misc/stunnel-5.05 [5.04] USE="ipv6 ssl tcpd (-selinux)" 0 KiB
Comment 5 Jordan Yelloz 2014-10-14 16:52:33 UTC
Created attachment 386680 [details, diff]
Possibly improved autoconf macro.

It looks like stunnel's build system silently ignores a failure to find that sd_listen_fds symbol even when it finds the systemd header.

I updated configure.ac so it looks for sd_listen_fds in libsystemd.so before it looks in libsystemd-daemon.so, which doesn't seem to exist anymore on newer systemd versions which should make the problem less easy to encounter.

This will require autoreconf to be called after patching.

I have not tried this patch against older systemd versions so I don't know if the patch works as I intended for those cases.
Comment 6 Anthony Basile gentoo-dev 2014-10-14 22:26:25 UTC
Okay I'm cc-in the systemd people to see what they want here.  I'll think I'd rather just go with

-AC_SEARCH_LIBS([sd_listen_fds], [systemd-daemon])
+AC_SEARCH_LIBS([sd_listen_fds], [systemd])

since that's all that's needed in the latest stable version.
Comment 7 Mike Gilbert gentoo-dev 2014-10-14 23:08:24 UTC
(In reply to Anthony Basile from comment #6)

That would be sufficient for Gentoo. It won't work with older systemd versions, so if upstream wants to support CentOS 7 (systemd-208), you will need to check for both libsystemd-daemon and fallback on libsystemd.

Using pkg-config (PKG_CHECK_MODULES) would be even better, but you would still need to check for both libs to achieve maximum compatibility.
Comment 8 Pacho Ramos gentoo-dev 2014-10-15 08:17:57 UTC
This also shows some kind of hidden dependency on systemd as ebuild supposedly doesn't DEPEND on it :/
Comment 9 Anthony Basile gentoo-dev 2014-10-15 21:39:25 UTC
Hold your horses everyone!  Upstream has 5.06 out and there are some compile errors against it, so expect more fixes.  Before I backport anything let's see if this fix is in there.  Else I'll submit a bug but that may take a while before it perculates out to the next release.
Comment 10 Anthony Basile gentoo-dev 2014-10-16 02:09:56 UTC
The issue persists in 5.06.  I've reported it upstream.
Comment 11 Anthony Basile gentoo-dev 2014-10-16 23:43:21 UTC
(In reply to Anthony Basile from comment #10)
> The issue persists in 5.06.  I've reported it upstream.

Upstream suggests we try stunnel-5.07b.  Can someone running systemd try that.  The tarball is at https://www.stunnel.org/downloads/beta/stunnel-5.07b2.tar.gz
Comment 12 Mike Gilbert gentoo-dev 2014-10-17 00:23:48 UTC
(In reply to Anthony Basile from comment #11)
> Upstream suggests we try stunnel-5.07b.  Can someone running systemd try
> that.  The tarball is at
> https://www.stunnel.org/downloads/beta/stunnel-5.07b2.tar.gz

That builds properly here.

Pacho is correct in that this is currently an automagic dependency; it really needs a configure switch or some other hackaround.
Comment 13 Anthony Basile gentoo-dev 2014-10-17 00:38:03 UTC
(In reply to Mike Gilbert from comment #12)
> (In reply to Anthony Basile from comment #11)
> > Upstream suggests we try stunnel-5.07b.  Can someone running systemd try
> > that.  The tarball is at
> > https://www.stunnel.org/downloads/beta/stunnel-5.07b2.tar.gz
> 
> That builds properly here.
> 
> Pacho is correct in that this is currently an automagic dependency; it
> really needs a configure switch or some other hackaround.

Yep.  Something like --with-systemd.
Comment 14 Pacho Ramos gentoo-dev 2014-10-17 08:14:05 UTC
Not sure if you could open a bug upstream about that :/ Depending on upstream, some even fix that themselves :| (I usually refer to https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies )
Comment 15 Anthony Basile gentoo-dev 2014-10-18 01:52:24 UTC
Created attachment 386856 [details, diff]
Remove automagic dependency on systemd

Can someone with systemd test this patch against 5.07b2 with the following configuration possibilities.  Apply the patch and then autoreconf.

1) ./configure --enable-systemd

You should get HAVE_SYSTEMD_SD_DAEMON_H defined in src/config.h

2) ./configure --disable-systemd

You should not get HAVE_SYSTEMD_SD_DAEMON_H defined

3) ./configure

You should get HAVE_SYSTEMD_SD_DAEMON_H defined (automagically).


On a non-systemd system (which I tested) you get

1) ./configure --enable-systemd

Configure fails with  "configure: error: systemd socket activation requested but no systemd library found"

2) ./configure --disable-systemd

/* #undef HAVE_SYSTEMD_SD_DAEMON_H */ in src/config.h

3) ./configure

/* #undef HAVE_SYSTEMD_SD_DAEMON_H */ in src/config.h


I think upstream will be happy with this.  Sorry I don't have any systemd systems available anymore.  I should build a vm just for such bugs, but for now I have to depend on you guys :)
Comment 16 Anthony Basile gentoo-dev 2014-10-18 01:54:18 UTC
Created attachment 386858 [details, diff]
Remove automagic dependency on systemd

Can someone with systemd test this patch against 5.07b2 with the following configuration possibilities.  Apply the patch and then autoreconf.

1) ./configure --enable-systemd

You should get HAVE_SYSTEMD_SD_DAEMON_H defined in src/config.h

2) ./configure --disable-systemd

You should not get HAVE_SYSTEMD_SD_DAEMON_H defined

3) ./configure

You should get HAVE_SYSTEMD_SD_DAEMON_H defined (automagically).


On a non-systemd system (which I tested) you get

1) ./configure --enable-systemd

Configure fails with  "configure: error: systemd socket activation requested but no systemd library found"

2) ./configure --disable-systemd

/* #undef HAVE_SYSTEMD_SD_DAEMON_H */ in src/config.h

3) ./configure

/* #undef HAVE_SYSTEMD_SD_DAEMON_H */ in src/config.h


I think upstream will be happy with this.  Sorry I don't have any systemd systems available anymore.  I should build a vm just for such bugs, but for now I have to depend on you guys :)
Comment 17 Anthony Basile gentoo-dev 2014-10-18 01:57:28 UTC
(In reply to Anthony Basile from comment #16)
> Created attachment 386858 [details, diff] [details, diff]
> Remove automagic dependency on systemd

wow bugzilla actually threw an internal system error.  Because I didn't want to lose this, I hit the back button and resubmitted.  Sorry for the double posting.
Comment 18 Mike Gilbert gentoo-dev 2014-10-18 02:15:51 UTC
(In reply to Anthony Basile from comment #15)
> Can someone with systemd test this patch against 5.07b2 with the following
> configuration possibilities.  Apply the patch and then autoreconf.

Works fine, thanks.
Comment 19 Anthony Basile gentoo-dev 2014-10-18 13:03:56 UTC
(In reply to Mike Gilbert from comment #18)
> (In reply to Anthony Basile from comment #15)
> > Can someone with systemd test this patch against 5.07b2 with the following
> > configuration possibilities.  Apply the patch and then autoreconf.
> 
> Works fine, thanks.

Thansk Mike, the patch is upstream.  If they take it then we'll use that otherwise I'll just maintain it downstream.
Comment 20 Anthony Basile gentoo-dev 2014-10-23 16:42:36 UTC
(In reply to Anthony Basile from comment #19)
> (In reply to Mike Gilbert from comment #18)
> > (In reply to Anthony Basile from comment #15)
> > > Can someone with systemd test this patch against 5.07b2 with the following
> > > configuration possibilities.  Apply the patch and then autoreconf.
> > 
> > Works fine, thanks.
> 
> Thansk Mike, the patch is upstream.  If they take it then we'll use that
> otherwise I'll just maintain it downstream.

Can someone please test

   https://www.stunnel.org/downloads/beta/stunnel-5.07b3.tar.gz

Upstream tells me they've removed the automatic dep.
Comment 21 Mike Gilbert gentoo-dev 2014-10-24 01:15:29 UTC
(In reply to Anthony Basile from comment #20)
> Can someone please test
> 
>    https://www.stunnel.org/downloads/beta/stunnel-5.07b3.tar.gz
> 
> Upstream tells me they've removed the automatic dep.

Works for me.

I have not tested the case where --enable-systemd is passed but systemd is not installed.
Comment 22 Anthony Basile gentoo-dev 2014-10-24 01:24:01 UTC
(In reply to Mike Gilbert from comment #21)
> (In reply to Anthony Basile from comment #20)
> > Can someone please test
> > 
> >    https://www.stunnel.org/downloads/beta/stunnel-5.07b3.tar.gz
> > 
> > Upstream tells me they've removed the automatic dep.
> 
> Works for me.
> 
> I have not tested the case where --enable-systemd is passed but systemd is
> not installed.

Actually that is a problem and I've emailed upstream about it.
Comment 23 Anthony Basile gentoo-dev 2014-10-28 21:48:04 UTC
(In reply to Anthony Basile from comment #22)
> (In reply to Mike Gilbert from comment #21)
> > (In reply to Anthony Basile from comment #20)
> > > Can someone please test
> > > 
> > >    https://www.stunnel.org/downloads/beta/stunnel-5.07b3.tar.gz
> > > 
> > > Upstream tells me they've removed the automatic dep.
> > 
> > Works for me.
> > 
> > I have not tested the case where --enable-systemd is passed but systemd is
> > not installed.
> 
> Actually that is a problem and I've emailed upstream about it.

Upstream says that when --enable-systemd is passed but systemd is not installed, they want the build to fail.  I don't disagree, but I think it ought to fail at configure while they are happy to let it fail at compile time.  Its not worth arguing with them because the automagic dependency is fixed and as long as the ebuild has the right dependency we're good.

The fix should be out in stunnel-5.06.
Comment 24 Anthony Basile gentoo-dev 2014-11-02 12:06:49 UTC
(In reply to Anthony Basile from comment #23)
> (In reply to Anthony Basile from comment #22)
> > (In reply to Mike Gilbert from comment #21)
> > > (In reply to Anthony Basile from comment #20)
> > > > Can someone please test
> > > > 
> > > >    https://www.stunnel.org/downloads/beta/stunnel-5.07b3.tar.gz
> > > > 
> > > > Upstream tells me they've removed the automatic dep.
> > > 
> > > Works for me.
> > > 
> > > I have not tested the case where --enable-systemd is passed but systemd is
> > > not installed.
> > 
> > Actually that is a problem and I've emailed upstream about it.
> 
> Upstream says that when --enable-systemd is passed but systemd is not
> installed, they want the build to fail.  I don't disagree, but I think it
> ought to fail at configure while they are happy to let it fail at compile
> time.  Its not worth arguing with them because the automagic dependency is
> fixed and as long as the ebuild has the right dependency we're good.
> 
> The fix should be out in stunnel-5.06.

err 5.07 which I just added.  Please reopen if this is a problem.