Tcl Source Code

View Ticket
Login
Ticket UUID: 4eb878ad82aa542372b48818145b39e91e7fa91b
Title: configure for itcl on linux fails with error message
Type: Bug Version: 9.0.1
Submitter: anonymous Created on: 2025-06-26 14:19:16
Subsystem: 53. Configuration and Build Tools Assigned To: jan.nijtmans
Priority: 5 Medium Severity: Minor
Status: Closed Last Modified: 2025-06-27 09:53:57
Resolution: Fixed Closed By: jan.nijtmans
    Closed on: 2025-06-27 09:53:57
Description:
$ cd /extra/src/tcl9.0.1/unix
$ ./configure --prefix=/usr/local/tcltk-9.0.1 --exec-prefix=/usr/local/tcltk-9.0.1/linux.x86_64/debug --enable-64bit --disable-shared --enable-symbols
[...]
Configuring package 'itcl4.3.2'
[...]
/extra/src/tcl9.0.1/pkgs/itcl4.3.2/configure: line 9486: -I/extra/src/tcl9.0.1/pkgs/itcl4.3.2: No such file or directory

The offending line reads:
eval itcl_INCLUDE_SPEC="-I${itcl_SRC_DIR}/generic -I${itcl_SRC_DIR}"

...but the double quotes must be masked like this:
eval itcl_INCLUDE_SPEC=\"-I${itcl_SRC_DIR}/generic -I${itcl_SRC_DIR}\"

Otherwise, eval will consume them and the subsequent assignment will fail with the given error message.
User Comments: jan.nijtmans added on 2025-06-27 09:53:57:

Thanks for the report and the proposed fix. Should be fixed now

Next time, please report Itcl-related problems in the Itcl bug tracker

In addition I don't see why -I${itcl_SRC_DIR} should be included: it doesn't contain any header file.

I was able to reproduce the errormessage. But, since "configure" just continues, eventually the build succeeds. The only effect of this bug is that itcl_INCLUDE_SPEC in itclConfig.sh is empty. Since most people will install itcl in <prefix> anyway, no-one noticed.