dev-libs/xapian-1.4.12 fails to build with USE="-glass". This problem does not occur with USE="glass". /bin/sh ./libtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12 -I/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/common -I/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/include -I'./include' -I/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/languages -Ilanguages -I/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/queryparser -Wall -W -Wredundant-decls -Wpointer-arith -Wcast-qual -Wcast-align -Wformat-security -fno-gnu-keywords -Wundef -Woverloaded-virtual -Wstrict-null-sentinel -Wshadow -Wstrict-overflow=1 -Wlogical-op -Wmissing-declarations -Wdouble-promotion -Winit-self -fvisibility=hidden -fvisibility-inlines-hidden -march=native -O2 -fno-ident -frecord-gcc-switches -fstack-clash-protection -fstack-protector-all -mfunction-return=thunk -mindirect-branch=thunk -mindirect-branch-register -pipe -Wall -Werror=terminate -c -o backends/dbcheck.lo /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12 -I/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/common -I/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/include -I./include -I/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/languages -Ilanguages -I/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/queryparser -Wall -W -Wredundant-decls -Wpointer-arith -Wcast-qual -Wcast-align -Wformat-security -fno-gnu-keywords -Wundef -Woverloaded-virtual -Wstrict-null-sentinel -Wshadow -Wstrict-overflow=1 -Wlogical-op -Wmissing-declarations -Wdouble-promotion -Winit-self -fvisibility=hidden -fvisibility-inlines-hidden -march=native -O2 -fno-ident -frecord-gcc-switches -fstack-clash-protection -fstack-protector-all -mfunction-return=thunk -mindirect-branch=thunk -mindirect-branch-register -pipe -Wall -Werror=terminate -c /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc -fPIC -DPIC -o backends/.libs/dbcheck.o /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc: In static member function ‘static size_t Xapian::Database::check_(const string*, int, int, std::ostream*)’: /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc:451:35: error: expected ‘)’ before ‘GLASS_TABLE_EXTENSION’ 451 | } else if (endswith(path, "." GLASS_TABLE_EXTENSION)) { | ~ ^~~~~~~~~~~~~~~~~~~~~~ | ) /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc:476:36: error: expected ‘)’ before ‘GLASS_TABLE_EXTENSION’ 476 | } else if (stat((filename + "." GLASS_TABLE_EXTENSION).c_str(), &sb) == 0) { | ~ ^~~~~~~~~~~~~~~~~~~~~~ | ) /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc:478:6: error: expected ‘)’ before ‘else’ 478 | } else { | ^~~~~ | ) /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc:476:20: note: to match this ‘(’ 476 | } else if (stat((filename + "." GLASS_TABLE_EXTENSION).c_str(), &sb) == 0) { | ^ /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc:483:52: error: expected ‘)’ before ‘;’ token 483 | return check_db_table(path, opts, out, backend); | ^ | ) /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc:476:15: note: to match this ‘(’ 476 | } else if (stat((filename + "." GLASS_TABLE_EXTENSION).c_str(), &sb) == 0) { | ^ /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc:483:52: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body] 483 | return check_db_table(path, opts, out, backend); | ^ /var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12/backends/dbcheck.cc:467:23: warning: control reaches end of non-void function [-Wreturn-type] 467 | string filename = path; | ^~~~ make[2]: *** [Makefile:2815: backends/dbcheck.lo] Error 1 make[2]: Leaving directory '/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12-abi_x86_64.amd64' make[1]: *** [Makefile:3279: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/dev-libs/xapian-1.4.12/work/xapian-core-1.4.12-abi_x86_64.amd64' make: *** [Makefile:1582: all] Error 2 * ERROR: dev-libs/xapian-1.4.12::gentoo failed (compile phase): * emake failed
This is fixed in xapian 1.4.13. Upstream has repeatedly made changes where disabling some backend causes failure. While I originally wanted to give users the choice, I am moving towards just enabling all backends. Thoughts?
So change made in xapian-1.4.13.ebuild is dropping of "glass" USE flag: --- xapian-1.4.12.ebuild +++ xapian-1.4.13.ebuild @@ -15,5 +15,5 @@ SLOT="0/30" # ABI version of libxapian.so KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-solaris" -IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +glass +inmemory +remote" +IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +inmemory +remote" DEPEND="sys-libs/zlib" @@ -37,9 +37,8 @@ myconf="${myconf} $(use_enable static-libs static)" - use glass || myconf="${myconf} --disable-backend-glass" use inmemory || myconf="${myconf} --disable-backend-inmemory" use remote || myconf="${myconf} --disable-backend-remote" - myconf="${myconf} --enable-backend-chert --program-suffix=" + myconf="${myconf} --enable-backend-glass --enable-backend-chert --program-suffix=" ECONF_SOURCE=${S} econf $myconf
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #2) > So change made in xapian-1.4.13.ebuild is dropping of "glass" USE flag: > correct, so as I said, upstream is repeatedly sloppy about the backends. they always code as if they are always enabled. do you see any issue with that?
Since these backends have no additional dependencies, enabling them unconditionally seems acceptable.