dev-db/sqlite-3.8.10.1 fails to build with the following output: >>> Compiling source in /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001 ... * abi_x86_64.amd64: running multilib-minimal_abi_src_compile make -j4 TCLLIBDIR=/usr/lib64/sqlite-3.8.10.1 tclsh /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64/tool/mksqlite3h.tcl /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64 >sqlite3.h x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -fomit-frame-pointer -o mkkeywordhash -DSQLITE_ENABLE_API_ARMOR -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_U NLOCK_NOTIFY -DSQLITE_ENABLE_ICU /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64/tool/mkkeywordhash.c x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -fomit-frame-pointer -o lemon /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64/tool/lemon.c /bin/sh: tclsh: command not found Makefile:863: recipe for target 'sqlite3.h' failed make: *** [sqlite3.h] Error 127 make: *** Waiting for unfinished jobs.... ./mkkeywordhash >keywordhash.h cp /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64/src/lempar.c . * ERROR: dev-db/sqlite-3.8.10.1::gentoo failed (compile phase): * emake failed Full log attached along with emerge --info Reproducible: Always
Created attachment 403160 [details] build.log
Created attachment 403162 [details] emerge --info
I can confirm this bug. Seems "tools" use flag depend from "tcl", As I can see in the /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64/tool/ the assembly of tools based on tcl scripts.
checking for malloc_usable_size... yes checking for strchrnul... yes checking for usleep... yes checking for utime... yes checking for tclsh8.6... no checking for tclsh8.5... no checking for tclsh... no Warning: can't find tclsh - defaulting to non-amalgamation build. ./configure: line 11764: tclsh: command not found configure: Version set to 3.8 configure: Release set to 3.8.10.1 configure: Version number set to 3008010 checking whether to support threadsafe operation... yes checking for library containing pthread_create... -lpthread checking whether to support shared library linked as release mode or not... no checking whether to use an in-ram database for temporary tables... no checking if executables have the .exe suffix... unknown checking for Tcl configuration... ./configure: line 12214: tclsh: command not found configure: WARNING: Can't find Tcl configuration definitions configure: WARNING: *** Without Tcl the regression tests cannot be executed *** configure: WARNING: *** Consider using --with-tcl=... to define location of Tcl *** checking for library containing tgetent... -lncurses checking for readline in -lreadline... yes checking for library containing fdatasync... none required checking for library containing dlopen... -ldl configure: creating ./config.status config.status: creating Makefile config.status: creating sqlite3.pc config.status: creating config.h config.status: executing libtool commands >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001 ... * abi_x86_64.amd64: running multilib-minimal_abi_src_compile make -j3 TCLLIBDIR=/usr/lib64/sqlite-3.8.10.1 tclsh /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64/tool/mksqlite3h.tcl /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64 >sqlite3.h x86_64-pc-linux-gnu-gcc -O2 -pipe -o mkkeywordhash -DSQLITE_ENABLE_API_ARMOR -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_UNLOCK_NOTIFY /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64/tool/mkkeywordhash.c x86_64-pc-linux-gnu-gcc -O2 -pipe -o lemon /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64/tool/lemon.c /bin/sh: tclsh: command not found Makefile:863: recipe for target 'sqlite3.h' failed make: *** [sqlite3.h] Error 127 make: *** Waiting for unfinished jobs.... ./mkkeywordhash >keywordhash.h cp /var/tmp/portage/dev-db/sqlite-3.8.10.1/work/sqlite-src-3081001-abi_x86_64.amd64/src/lempar.c . * ERROR: dev-db/sqlite-3.8.10.1::gentoo failed (compile phase): * emake failed
which version of tcl are you guys using?
I didn't have tcl installed and had -tcl for a USE flag. It seems to be a depend problem where the tools USE flag should require tcl to be installed?
I think necessary to fix ebuild and describe a hard dependency between "tools" and "tcl" flags. At this moment for successfully compiling of sqlite required: USE="tools tcl" emerge sqlite or USE="-tools" emerge sqlite Usually "tools" flag use as global flag, and world update compile it as: USE= "tools" emerge sqlite And this leading to this error.
+ 15 May 2015; Justin Lecher <jlec@gentoo.org> metadata.xml, + sqlite-3.8.10.1.ebuild: + Add REQUIERED_USE for tools -> tcl, bug #549308 +
That change was incorrect and has been reverted. Proper fix has been committed.
*** Bug 549476 has been marked as a duplicate of this bug. ***