Summary: | dev-libs/xapian-1.2.12 - ./.libs/libxapian.so: undefined reference to `decode_length(char const**, char const*, bool)' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | dE <de.techno> |
Component: | Current packages | Assignee: | Anthony Basile <blueness> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bugs, marduk |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://trac.xapian.org/ticket/603 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 409027 | ||
Bug Blocks: | |||
Attachments: | Failed build log of xapian |
Description
dE
2012-09-01 08:01:14 UTC
Created attachment 322703 [details]
Failed build log of xapian
(In reply to comment #1) > Created attachment 322703 [details] > Failed build log of xapian Please give me the steps to reproduce. In particular, I need to know what USE flags you used. You can also obtain this info from the last few lines of emerge --info xapian xapian has been in the tree a long time and I tested many times over and never hit anything, so I need details if this is a corner case. # emerge --info =dev-libs/xapian-1.2.12 Portage 2.2.0_alpha124 (default/linux/amd64/10.0, gcc-4.7.1, glibc-2.16.0, 3.5.0-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.5.0-gentoo-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-gentoo-2.2 Timestamp of tree: Tue, 04 Sep 2012 10:30:01 +0000 app-shells/bash: 4.2_p37 dev-lang/python: 2.6.8, 2.7.3-r2, 3.2.3-r1 dev-util/cmake: 2.8.9 dev-util/pkgconfig: 0.27.1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.10.5 sys-apps/sandbox: 2.6 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6, 1.12.3 sys-devel/binutils: 2.22.90 sys-devel/gcc: 4.7.1 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r4::gnome sys-kernel/linux-headers: 3.5 (virtual/os-headers) sys-libs/glibc: 2.16.0 Repositories: gentoo marduk gnome ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA IBM-J1.6 AdobeFlash-10.3 skype-eula" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=nocona -mtune=corei7-avx -fomit-frame-pointer -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa" CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /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" CXXFLAGS="-O2 -march=nocona -mtune=corei7-avx -fomit-frame-pointer -pipe" DISTDIR="/var/portage/distfiles" EMERGE_DEFAULT_OPTS=" --autounmask=n --binpkg-respect-use=y --buildpkg-exclude virtual/* --jobs --keep-going --misspell-suggestions=n --oneshot --quiet-build --quiet-unmerge-warn --usepkg " FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks fixlafiles news noinfo notitles parallel-fetch parallel-install protect-owned sandbox sfperms skiprocheck strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="ja" MAKEOPTS="-j1" PKGDIR="/var/portage/packages" PORTAGE_COMPRESS="" PORTAGE_COMPRESS_FLAGS="" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/portage" PORTDIR_OVERLAY="/var/lib/layman/marduk /var/lib/layman/gnome" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acpi aes amd64 aperfmperf apic arat arch_perfmon avx bts cjk clflush cmov constant_tsc cx16 cx8 de ds_cpl dtes64 dts epb ept est flexpriority fpu fxsr ht ida introspection lahf_lm lm mca mce mmx monitor msr mtrr multilib nls nonstop_tsc nopl nx pae pam pat pbe pcid pclmulqdq pdcm pebs pge pln pni popcnt pse pse36 pts rdtscp sep smx ss sse sse2 sse4_1 sse4_2 ssse3 syscall tm tm2 tpr_shadow tsc tsc_deadline_timer unicode utf8 vme vmx vnmi vpid x2apic xsave xsaveopt xtopology xtpr" ALSA_PCM_PLUGINS="*" APACHE2_MODULES="auth_digest authn_file group_file dav dav_fs authz_groupfile" CAMERAS="*" CURL_SSL="openssl" ELIBC="glibc" FFTOOLS="*" GRUB_PLATFORMS="efi-32 efi-64 emu pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LINGUAS="ja" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="intel i915 i965 modesetting" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON # equery u =dev-libs/xapian-1.2.12 [ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for dev-libs/xapian-1.2.12: U I + - brass : Enabled brass backend db support - - chert : Enabled chert backend db support - - doc : Adds extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally - - flint : Enabled flint backend db support - - inmemory : Enabled inmemory backend db support - - remote : Enabled remot backend db support + + sse : fast floating point optimization for PentiumIII+ class chips + + sse2 : faster floating point optimization for SSE2 capable chips - - static-libs : Build static libraries I've also tried w/ gcc 4.6.3 with the same results. Ok I just tried it with all USE flags swiched on and it built, so let's see what USE flag(s) is the catalyst. Here are my findings: -brass -chert -flint -remote inmemory: Fail -brass -chert flint inmemory remote: Pass -brass -remote chert flint inmemory: Fail -brass chert flint inmemory remote: Pass -brass -chert -inmemory flint remote: Pass -brass -inmemory chert flint remote: Pass -brass -flint chert inmemory remote: Fail -brass -chert -flint -inmemory -remote: Fail -brass -chert -inmemory -remote flint: Fail -brass -flint -inmemory -remote chert: Fail -brass -inmemory -remote chert flint: Fail -brass -chert -flint inmemory remote: Fail -brass -flint -inmemory chert remote: Fail -brass -chert -flint -inmemory remote: Fail -brass -flint -remote chert inmemory: Fail -brass -chert -remote flint inmemory: Fail brass chert flint inmemory remote: Pass -chert -flint -remote brass inmemory: Fail -chert -flint brass inmemory remote: Fail -chert -flint -inmemory brass remote: Fail -chert -remote brass flint inmemory: Fail -chert -inmemory brass flint remote: Pass -chert -inmemory -remote brass flint: Fail -chert brass flint inmemory remote: Pass -chert -flint -inmemory -remote brass: Fail -flint -inmemory brass chert remote: Fail -flint -remote brass chert inmemory: Fail -flint -inmemory -remote brass chert: Fail -flint brass chert inmemory remote: Fail -inmemory brass chert flint remote: Pass -inmemory -remote brass chert flint: Fail -remote brass chert flint inmemory: Fail I don't currently see the pattern. Ok, in all the Passing ones, "flint" is on. But apparenly "flint" isn't enough. It needs at least one other flag, but not just *any* flag. The following combinations pass: -brass -chert flint inmemory remote: Pass -brass chert flint inmemory remote: Pass -brass -chert -inmemory flint remote: Pass -brass -inmemory chert flint remote: Pass brass chert flint inmemory remote: Pass -chert -inmemory brass flint remote: Pass -chert brass flint inmemory remote: Pass -inmemory brass chert flint remote: Pass I don't know what the different backends mean. But the most minimal combination that works appears to be "-brass -chert -inmemory flint remote" so I'll use that one for the time being. (In reply to comment #5) > I've also tried w/ gcc 4.6.3 with the same results. Thanks for the exhaustive analysis! This has nothing to do with gcc or glibc. It happens on a completely stable system too, gcc-4.5.4 and glibc-2.15-r2. Looks like all passing tests need both flint and remote. Subtracting those you get the remaining 8 possibilities: -brass -chert inmemory -brass chert inmemory -brass -chert -inmemory -brass chert -inmemory brass chert inmemory brass -chert -inmemory brass -chert inmemory brass chert -inmemory I need to pass this bug upstream. As far as gentoo is concerned, I may just have to drop USE=flint and remote and force --enable them. Let's see what upstream has to say first. Upstream bug filed: http://trac.xapian.org/ticket/603 Also, this happens with xapian-1.2.12 which is the latest version. Changing topic to reflect this. brass flint remote worked for me. This bug is related (just stating the obvious): bug 409027. (In reply to comment #12) > This bug is related (just stating the obvious): bug 409027. My suggestion to upstream is that, since it doesn't make sense to have no backends, to just make some decision here about what needs to be hardcoded and remove the options from the build system. Removing backends might be useful to slim down, but not if it breaks things. USE=flint and remote dropped and forced enabled. Upstream is aware of the issue and suggest we simply not expose the options for now. *** Bug 409027 has been marked as a duplicate of this bug. *** |