/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. Fix: 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. BUILD_DEPENDS=${PORTSDIR}/lang/tcl83/work/tcl8.3.5/README:${PORTSDIR}/lang/tcl8 3:patch Workaround: build and install Tcl and Tk from source. How-To-Repeat: (nemesis) $ cd /usr/local/lib/tcl8.3 (nemesis) $ grep /tmp/a tclConfig.sh TCL_BUILD_LIB_SPEC='-L/tmp/a/ports/lang/tcl83/work/tcl8.3.4/unix -ltcl83${TCL_DBGX}' TCL_SRC_DIR='/tmp/a/ports/lang/tcl83/work/tcl8.3.4' TCL_BUILD_STUB_LIB_SPEC='-L/tmp/a/ports/lang/tcl83/work/tcl8.3.4/unix -ltclstub83${TCL_DBGX}' TCL_BUILD_STUB_LIB_PATH='/tmp/a/ports/lang/tcl83/work/tcl8.3.4/unix/libtclstub8 3${TCL_DBGX}.a'
Responsible Changed From-To: freebsd-ports-bugs->dinoex over to maintainer
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. BUILD_DEPENDS=${PORTSDIR}/lang/tcl83/work/tcl8.3.5/README:${PORTSDIR}/lang/tcl83:patch 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: /usr/ports/current/c-nocem/Makefile /usr/ports/graphics/pvmpov/Makefile /usr/ports/java/jdk12/Makefile /usr/ports/lang/gpc/Makefile /usr/ports/lang/pm3-forms/Makefile /usr/ports/lang/pm3-gui/Makefile /usr/ports/lang/pm3-m3tk/Makefile /usr/ports/lang/pm3-net/Makefile /usr/ports/lang/pm3-netobj/Makefile /usr/ports/net/cphone/Makefile /usr/ports/net/gatekeeper/Makefile /usr/ports/net/gnomemeeting/Makefile /usr/ports/net/gnomemeeting2/Makefile /usr/ports/net/ohphone/Makefile /usr/ports/net/openam/Makefile /usr/ports/net/opengatekeeper/Makefile /usr/ports/net/opengk/Makefile /usr/ports/net/openh323/Makefile /usr/ports/net/openh323proxy/Makefile /usr/ports/net/openmcu/Makefile /usr/ports/news/c-nocem/Makefile /usr/ports/print/virtualpaper/Makefile /usr/ports/sysutils/ipsc/Makefile /usr/ports/x11-toolkits/xview-clients/Makefile /usr/ports/x11/9term/Makefile
State Changed From-To: analyzed->closed Fixed in tcl82, tcl83, tcl84, tk82, tk83, tk84