tcl.h not found
(1.1) Originally by anonymous with edits by Richard Hipp (drh) on 2024-08-06 14:45:39 from 1.0 [link] [source]
With the latest changes in configure/configure.ac the tcl.h file is not found anymore. Preparation and make looks like this: ./configure --prefix=/opt/tcltk86 --mandir=/opt/tcltk86/share/man --enable-fts5 --enable-fts4 --enable-fts3 --enable-json1 --enable-rtree make tclsqlite3.c I see that my pipeline for https://gitlab.com/teclabat/tcltk is failing now: /home/gitlab-runner/builds/yjW5e5sJx/0/product/tcltk/rcompile/sqlite3/src/tclsqlite.c:42:11: fatal error: tcl.h: No such file or directory 42 | # include <tcl.h> /* All normal cases */ | ^~~~~~~ compilation terminated. make: *** [Makefile:1113: tclsqlite.lo] Error 1
(2) By Richard Hipp (drh) on 2024-08-06 14:49:21 in reply to 1.1 [source]
Maybe add one of these options?
--with-tcl=/opt/tcltk86/lib
--with-tclsh=/opt/tcltk86/bin/tclsh8.6
I don't think it is appropriate for ./configure to infer that your TCL installation is found at /opt/tcltk86 just because you set the --prefix to that directory, is it? Maybe it was doing that before, but I would consider that a bug that has now been fixed.
Perhaps somebody who understands autoconf better can correct me. But in the absence of such correction, I think the current behavior is correct.
(3) By Richard Hipp (drh) on 2024-08-06 20:01:53 in reply to 1.1 [link] [source]
I have implemented additional enhancements to ./configure. Please try again with a more recent check-in and report back whether or not you are still having trouble.
(4.1) By flavorjones on 2024-08-07 14:25:34 edited from 4.0 in reply to 3 [link] [source]
On Ubuntu 24.04, using 048a71ba (2024-08-06 23:09:37), I find that I now need to install the tcl-dev
package, but once that's done I'm able to configure and build.
Edit: To clarify, tcl-dev
is a new requirement, previously I've built sqlite fine on these images without it. Adding it is necessary to resolve this error:
checking for tclsh8.6... tclsh8.6
using tclsh at "tclsh8.6"
cannot find tclConfig.sh in either /usr/lib/x86_64-linux-gnu or /usr/lib/x86_64-linux-gnu/tcl8.6
configure: WARNING: tclsh8.6 is unable to recommend a tclConfig.sh
configure: error: cannot find a usable tclConfig.sh file.
Use --with-tcl=DIR to specify a directory where tclConfig.sh can be found.
SQLite does not use TCL internally, but TCL is required to build SQLite
from canonical sources and TCL is required for testing.