Bug 48574 - tclConfig.sh has a nonexistent path for TCL_SRC_DIR
Summary: tclConfig.sh has a nonexistent path for TCL_SRC_DIR
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Dirk Meyer
Depends on:
Reported: 2003-02-23 01:40 UTC by Joseph Koshy
Modified: 2003-03-23 20:37 UTC (History)
0 users

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Joseph Koshy freebsd_committer 2003-02-23 01:40:13 UTC
/usr/local/lib/tcl8.3/tclConfig.sh is a shell script that records 
configuration information about the Tcl build.  Since our packages
are built on the ports build cluster, file names recorded in the
tclConfig.sh script that gets installed under $LOCALBASE are very 
likely to be invalid on a users machine.  The corresponding file
for the Tk toolkit, "tkConfig.sh" has a similar problem.

Any package that uses the paths recorded in these config scripts 
consequently fails to build and run.


The contents of these files should be edited to make these paths relative
to $PORTSDIR, at package install time.   A port that needs to access the
Tcl source tree will then work when BUILD_DEPENDS line like the 
following is specified.


Workaround: build and install Tcl and Tk from source.
(nemesis) $ cd /usr/local/lib/tcl8.3
(nemesis) $ grep /tmp/a tclConfig.sh
Comment 1 Dirk Meyer freebsd_committer 2003-03-05 05:12:51 UTC
Responsible Changed
From-To: freebsd-ports-bugs->dinoex

over to maintainer
Comment 2 Dirk Meyer freebsd_committer 2003-03-14 17:55:13 UTC
State Changed
From-To: open->analyzed

The paths can't be relative to portsdir.
But "/tmp" can be replaced with ${WRKDIRPREFIX} 
which would solve the problem for most. 


An absolute dependecy like this will fail on bento: 
PORTSDIR=/usr/ports, but /usr/ports is a symlink to /a/ports 
so workdir: ${WRKDIRPREFIX}${PORTSDIR}/lang/tcl83/work/tcl8.3.5/README 
will resolve in /tmp/usr/ports/lang/tcl83/work/tcl8.3.5/README 
but the file is exists only at /tmp/a/ports/lang/tcl83/work/tcl8.3.5/README 

So depedencies to workdirecories must be realative, using ${.CURDIR}. 

This affects a couple of ports: 
Comment 3 Dirk Meyer freebsd_committer 2003-03-23 20:36:19 UTC
State Changed
From-To: analyzed->closed

Fixed in tcl82, tcl83, tcl84, tk82, tk83, tk84