Checking linker accepts ['-undefined', 'dynamic_lookup'] : no Checking for system tevent >= 0.9.29 : not found ERROR: System library tevent of version 0.9.29 not found, and bundling disabled $ cat emerge-info.txt ----------------------------------------------------------------- This is an unstable amd64 chroot image (named amd64-desktop-unstable_20160725-094603) at a hardened host acting as a tinderbox. ----------------------------------------------------------------- make.conf: USE="pax_kernel xtpax -cdinstall -oci8 -bindist apache2 avcodec avformat cairo cdb -cddb corefonts custom-cflags designer dnssec dvd eglfs gif glamor gtk -gtk2 gtkstyle -gudev havege ipv6 -isag jadetex lapack latex libvirtd llvm logrotate mng nscd odbc -postgres python qt3support rdoc rendering semantic-desktop spice sslv2 swscale -system-ffmpeg system-jpeg system-libevent system-llvm -tcl theora thinkpad threads udisks -ufed utils uxa wayland -widgets wma x264 xetex xinerama xscreensaver xvmc -zenmap" package specific USE flags: mail-mta/ssmtp ssl net-misc/wget ssl app-editors/emacs -dbus -svg -ssl -gtk -gtk3 net-misc/iputils -caps -filecaps >=media-libs/harfbuzz-1.3.0 icu dev-util/cmake -qt4 app-text/poppler -qt4 ----------------------------------------------------------------- Portage 2.3.0 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop, gcc-5.4.0, glibc-2.23-r2, 4.6.4-hardened-r3 x86_64) ================================================================= System uname: Linux-4.6.4-hardened-r3-x86_64-Intel-R-_Core-TM-_i7-3770_CPU_@_3.40GHz-with-gentoo-2.2 KiB Mem: 16156124 total, 1884252 free KiB Swap: 16777212 total, 16714736 free Timestamp of repository gentoo: Fri, 29 Jul 2016 15:43:43 +0000 sh bash 4.3_p46 ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1 app-shells/bash: 4.3_p46::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.24.0-r1::gentoo dev-lang/python: 2.7.12::gentoo, 3.4.5::gentoo dev-util/cmake: 3.6.1::gentoo dev-util/pkgconfig: 0.29.1::gentoo sys-apps/baselayout: 2.2-r1::gentoo sys-apps/openrc: 0.21.2::gentoo sys-apps/sandbox: 2.10-r2::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r2::gentoo sys-devel/automake: 1.9.6-r4::gentoo, 1.10.3-r2::gentoo, 1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo sys-devel/binutils: 2.26.1::gentoo sys-devel/gcc: 4.9.3::gentoo, 5.4.0::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r2::gentoo sys-devel/make: 4.2.1::gentoo sys-kernel/linux-headers: 4.6::gentoo (virtual/os-headers) sys-libs/glibc: 2.23-r2::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: 1 local location: /usr/local/portage masters: gentoo priority: 2 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/openfire/resources/security/ /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.3/conf /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/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 -O2 -pipe" DISTDIR="/var/tmp/distfiles" EMERGE_DEFAULT_OPTS="--verbose --verbose-conflicts --color=n --nospinner --tree --quiet-build" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox parallel-fetch preserve-libs protect-owned sandbox sfperms strict test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo rsync://mirror.netcologne.de/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gor.bytemark.co.uk/gentoo/ rsync://ftp.snt.utwente.nl/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j1" 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 --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac acl acpi alsa amd64 apache2 avcodec avformat berkdb bluetooth branding bzip2 cairo cdb cdda cdr cli consolekit corefonts cracklib crypt cups custom-cflags cxx dbus designer dnssec dri dts dvd dvdr eglfs emboss encode exif fam firefox flac fortran gdbm gif glamor gpm gtk gtkstyle havege iconv ipv6 jadetex jpeg lapack latex lcms ldap libnotify libvirtd llvm logrotate mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nls nptl nscd odbc ogg opengl openmp pam pango pax_kernel pcre pdf png policykit ppds python qt3support qt4 rdoc readline rendering sdl seccomp semantic-desktop session spell spice sse sse2 ssl sslv2 startup-notification svg swscale system-jpeg system-libevent system-llvm tcpd theora thinkpad threads tiff truetype udev udisks unicode upower usb utils uxa vorbis wayland wma wxwidgets x264 xattr xcb xetex xinerama xml xscreensaver xtpax xv xvid xvmc zlib" 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" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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" KERNEL="linux" L10N="fr hsb ks uz-Cyrl" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy 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" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Created attachment 441944 [details] emerge-history.txt
Created attachment 441946 [details] environment
Created attachment 441948 [details] sys-libs:ldb-1.1.27:20160729-164114.log
the build dir should have a config.log file. can you attach it ?
(In reply to SpanKY from comment #4) which is made automatically if the config.log follows the nameing rule: /var/tmp/portage/$failed/work/*/config.log so I do assume there was no such file -or- the routine to fill $failed fails.
The problem is with the tevent library itself. python2 -c 'import _tevent' fails with ImportError: libreplace-tevent.so: cannot open shared object file: No such file or directory stracing python2 throws mmap(0x7f6e5b8e4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0xe000) = 0x7f6e5b8e4000 close(4) = 0 openat(AT_FDCWD, "/lib64/tls/haswell/x86_64/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/lib64/tls/haswell/x86_64", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/haswell/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/lib64/tls/haswell", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/x86_64/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/lib64/tls/x86_64", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/lib64/tls", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/haswell/x86_64/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/lib64/haswell/x86_64", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/haswell/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/lib64/haswell", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/x86_64/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/lib64/x86_64", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/lib64", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 openat(AT_FDCWD, "/usr/lib64/tls/haswell/x86_64/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/lib64/tls/haswell/x86_64", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/haswell/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/lib64/tls/haswell", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/x86_64/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/lib64/tls/x86_64", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/lib64/tls", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/haswell/x86_64/libreplace-tevent.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/lib64/haswell/x86_64", 0x7ffda87059a0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/haswell/libreplace-tevent.so", O_RDONLY|O_CLO Notice that its looking for tevent except for where it is i.e. /usr/lib64/tevent/
*** Bug 634090 has been marked as a duplicate of this bug. ***
So I have been bitten bu this too and I have two machines one with this issue and one without. Interesting bit from `readelf -d /usr/lib64/python2.7/site-packages/_tevent.so` Machine with problem: Dynamic section at offset 0x3d50 contains 35 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libtevent.so.0] 0x0000000000000001 (NEEDED) Shared library: [libreplace-tevent.so] 0x0000000000000001 (NEEDED) Shared library: [libdl.so.2] 0x0000000000000001 (NEEDED) Shared library: [libcrypt.so.1] 0x0000000000000001 (NEEDED) Shared library: [libbsd.so.0] 0x0000000000000001 (NEEDED) Shared library: [libtalloc.so.2] 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 0x0000000000000001 (NEEDED) Shared library: [libm.so.6] 0x0000000000000001 (NEEDED) Shared library: [libutil.so.1] 0x0000000000000001 (NEEDED) Shared library: [libpython2.7.so.1.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000e (SONAME) Library soname: [_tevent.so] Machine without the problem Dynamic section at offset 0x3db0 contains 28 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libtevent.so.0] 0x0000000000000001 (NEEDED) Shared library: [libtalloc.so.2] 0x0000000000000001 (NEEDED) Shared library: [libpython2.7.so.1.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000e (SONAME) Library soname: [_tevent.so] That suggest that on the problematic machine `--as-needed` did not do its job for some reason. Build logs are very useful because the linking happen in src_install and the waf-utils eclass doesn't pass `--verbose` in that phase.
Yes adding `--verbose` in the right place in waf-utils.eclass we can see what's happening: Failing machine [32/32] Linking default/-tevent.inst.so 14:44:47 runner x86_64-pc-linux-gnu-gcc default/pytevent_5.o -o /dev/shm/portage/sys-libs/tevent-0.9.37/work/tevent-0.9.37-abi_x86_64.amd64/bin/default/-tevent.inst.so -O1 -march=native -pipe -ggdb -O1 -march=native -pipe -ggdb -O1 -march=native -pipe -ggdb -fstack-protector -Wl,-h,_tevent.so -shared -Ldefault/lib/replace -Ldefault -L/usr/local/lib -Wl,-Bdynamic -ltevent -lreplace-tevent -ldl -lcrypt -lbsd -ltalloc -lpthread -lm -lutil -lpython2.7 Working machine [32/32] Linking default/-tevent.inst.so 14:57:42 runner x86_64-pc-linux-gnu-gcc default/tevent_1.o default/tevent_debug_1.o default/tevent_fd_1.o default/tevent_immediate_1.o default/tevent_queue_1.o default/tevent_req_1.o default/tevent_wrapper_1.o default/tevent_poll_1.o default/tevent_threads_1.o default/tevent_signal_1.o default/tevent_standard_1.o default/tevent_timed_1.o default/tevent_util_1.o default/tevent_wakeup_1.o default/tevent_epoll_1.o -o /dev/shm/portage/sys-libs/tevent-0.9.37/work/tevent-0.9.37-abi_x86_64.amd64/bin/default/libtevent.inst.so -march=native -O2 -pipe -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed -Wl,-no-undefined -fstack-protector -Wl,-h,libtevent.so.0 -shared -Wl,--version-script=/dev/shm/portage/sys-libs/tevent-0.9.37/work/tevent-0.9.37-abi_x86_64.amd64/bin/default/tevent.vscript -Wl,-rpath,/usr/lib64/tevent -Ldefault/lib/replace -L/usr/local/lib -Wl,-Bdynamic -lreplace-tevent -lbsd -lcrypt -ldl -ltalloc -lpthread `-tevent.inst.so` is latter installed under the name `_tevent.so`: * installing bin/default/-tevent.inst.so as /dev/shm/portage/sys-libs/tevent-0.9.37/image/usr/lib64/python2.7/site-packages/_tevent.so One clearly see that, on the failing machine, default LDFLAGS are not passed to the linker.
And on the failing machine `-Wl,--as-needed` has not even been passed at configuration time CCFLAGS="-O1 -march=native -pipe -ggdb" LINKFLAGS="-O1 -march=native -pipe -ggdb -O1 -march=native -pipe -ggdb" "/dev/shm/portage/sys-libs/tevent-0.9.37/work/tevent-0.9.37/buildtools/bin/waf" --prefix=/usr --libdir=/usr/lib64 --bundled-libraries=NONE --builtin-libraries=NONE configure This should be controlled by the eclass, but instead of having LINKFLAGS="${CFLAGS} ${LDFLAGS}" it looks like LINKFLAGS="${CFLAGS} ${CFLAGS}".
Self inflicted by a line LDFLAGS=${CFLAGS} in make.conf. I don't know about other people. Still someone makes waf-utils.eclass verbose in src_install please. There is no reason for it not to be.
(In reply to François Bissey from comment #11) > Self inflicted by a line > LDFLAGS=${CFLAGS} > in make.conf. > > I don't know about other people. Still someone makes waf-utils.eclass > verbose in src_install please. There is no reason for it not to be. Yes, removing ${CFLAGS} from LDFLAGS in make.conf fixed it for me too. Strange how this has never caused a problem in all the years it's been there.
Created attachment 555710 [details, diff] ldb-1.3.6-tevent.patch This issue happened with 1.3.6 As dependencies checking is done by portage, this patch skips waf tevent checking. Then the ebuild just compiles fine. The build system pushes CFLAGS to LINKFLAGS, even they were not appended to LDFLAGS in make.conf
The same eror with: sys-libs/ldb-1.4.3 Checking for system tevent (>=0.9.37) : yes ERROR: Python module pytevent of version 0.9.37 not found, and bundling disabled * ERROR: sys-libs/ldb-1.4.3::gentoo failed (configure phase): * configure failed * * Call stack: * ebuild.sh, line 124: Called src_configure * environment, line 3509: Called multilib-minimal_src_configure * environment, line 1957: Called multilib_foreach_abi 'multilib-minimal_abi_src_configure' * environment, line 2172: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure' * environment, line 1887: Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure' * environment, line 1885: Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure' * environment, line 387: Called multilib-minimal_abi_src_configure * environment, line 1951: Called multilib_src_configure * environment, line 2395: Called waf-utils_src_configure '--disable-rpath' '--disable-rpath-install' '--bundled-libraries=NONE' '--with-modulesdir=/usr/lib64/samba' '--builtin-libraries=NONE' * environment, line 4258: Called die * The specific snippet of code: * CCFLAGS="${CFLAGS}" LINKFLAGS="${CFLAGS} ${LDFLAGS}" "${WAF_BINARY}" "--prefix=${EPREFIX}/usr" "${libdir[@]}" "${@}" configure || die "configure failed" *
This is still a valid bug for both ldb and samba; at least for the latter, removing CFLAGS from LDFLAGS does not help. The ldb workaround patch *does* work for both packages.
(In reply to Steve Arnold from comment #15) > This is still a valid bug for both ldb and samba; at least for the latter, > removing CFLAGS from LDFLAGS does not help. The ldb workaround patch *does* > work for both packages. I'm still hitting this with ldb 2.1.4 and tevent 0.10.2 but workaround patch indeed helps.
Same here. It would be nice, if the patch could be included in the official ebuild.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ffa408b3d9e5462d6b8233309eedbd1e6781b236 commit ffa408b3d9e5462d6b8233309eedbd1e6781b236 Author: Ben Kohler <bkohler@gentoo.org> AuthorDate: 2022-07-29 18:10:58 +0000 Commit: Ben Kohler <bkohler@gentoo.org> CommitDate: 2022-07-29 18:12:51 +0000 net-fs/samba: add tevent detection patch Closes: https://bugs.gentoo.org/590026 Signed-off-by: Ben Kohler <bkohler@gentoo.org> net-fs/samba/files/ldb-2.5.2-skip-wav-tevent-check.patch | 12 ++++++++++++ net-fs/samba/samba-4.14.14.ebuild | 1 + net-fs/samba/samba-4.15.9.ebuild | 1 + net-fs/samba/samba-4.16.4.ebuild | 1 + 4 files changed, 15 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af6790d9b83c1bf18bd6adaa32b6a2b68b1a524f commit af6790d9b83c1bf18bd6adaa32b6a2b68b1a524f Author: Ben Kohler <bkohler@gentoo.org> AuthorDate: 2022-07-28 19:35:06 +0000 Commit: Ben Kohler <bkohler@gentoo.org> CommitDate: 2022-07-29 18:12:51 +0000 sys-libs/ldb: fix tevent detection Closes: https://bugs.gentoo.org/590026 Signed-off-by: Ben Kohler <bkohler@gentoo.org> sys-libs/ldb/files/ldb-2.5.2-skip-wav-tevent-check.patch | 12 ++++++++++++ sys-libs/ldb/ldb-2.3.4.ebuild | 1 + sys-libs/ldb/ldb-2.4.4.ebuild | 1 + sys-libs/ldb/ldb-2.5.2.ebuild | 1 + 4 files changed, 15 insertions(+)