From: <no...@so...> - 2000-11-15 14:33:18
|
Bug #119259, was updated on 2000-Oct-25 22:04 Here is a current snapshot of the bug. Project: Tcl Category: Build Status: Open Resolution: None Bug Group: 8.3.2 Priority: 5 Summary: Makefile targets using TCL_EXE require "." in path Details: OriginalBugID: 6158 Bug Version: 8.3.2 SubmitDate: '2000-08-23' LastModified: '2000-08-29' Severity: MED Status: Assigned Submitter: techsupp ChangedBy: ericm OS: HP-UX OSVersion: 10.20 Machine: HP C360 FixedDate: '2000-10-25' ClosedDate: '2000-10-25' Name: Bob Techentin Comments: This patch appears to work for making the genstubs target for both tcl and tk on hp/ux 10.20, but I also see that TCL_EXE is used for Mac targets, which I have no way to test. ReproducibleScript: Configure and make Tcl where there is no "tclsh" in the path and where "." is not in the path, and make will fail. Several targets depend upon TCL_EXE which is defined as "tclsh", but it should probably be "./tclsh" in the case of Tcl, and "$(TCL_BIN_DIR)/tclsh" in the case of Tk. ObservedBehavior: During make genstubs (and others), you get the error message: tclsh ./../tools/genStubs/tcl ./../generic ./../generic/tcl.decls ./../generic/tclInt.dcls sh: tclsh: not found. *** Error exit code 127 Patch: *** tcl8.3.2/unix/Makefile.in.orig Tue Aug 8 14:17:11 2000 --- tcl8.3.2/unix/Makefile.in Wed Aug 23 09:16:49 2000 *************** *** 170,176 **** # once we have created the initial executable, but in some cases you # may want to use a target without having made tclsh on these sources # (like for make genstubs) ! TCL_EXE = tclsh # The symbols below provide support for dynamic loading and shared # libraries. See configure.in for a description of what the --- 170,176 ---- # once we have created the initial executable, but in some cases you # may want to use a target without having made tclsh on these sources # (like for make genstubs) ! TCL_EXE = ./tclsh # The symbols below provide support for dynamic loading and shared # libraries. See configure.in for a description of what the *** tk8.3.2/unix/Makefile.in.orig Tue Aug 8 14:19:31 2000 --- tk8.3.2/unix/Makefile.in Wed Aug 23 09:36:58 2000 *************** *** 163,169 **** # once we have created the initial executable, but in some cases you # may want to use a target without having made tclsh on these sources # (like for make genstubs) ! TCL_EXE = tclsh # The symbols below provide support for dynamic loading and shared # libraries. The values of the symbols are normally set by the --- 163,169 ---- # once we have created the initial executable, but in some cases you # may want to use a target without having made tclsh on these sources # (like for make genstubs) ! TCL_EXE = $(TCL_BIN_DIR)/tclsh # The symbols below provide support for dynamic loading and shared # libraries. The values of the symbols are normally set by the PatchFiles: tcl8.3.2/unix/Makefile.in tk8.3.2/unix/Makefile.in Verified: if tclsh is not in the path, then 'make genstubs' will fail as described. However, it may not be correct to simply replace 'TCL_EXE = tclsh' with 'TCL_EXE = ./tclsh'. As the comment in the Makefile states: # The following specifies which Tcl executable to use for make targets # below. This can generally be 'tclsh', meaning all targets will work # once we have created the initial executable, but in some cases you # may want to use a target without having made tclsh on these sources # (like for make genstubs) If the suggested change is made (replace tclsh with ./tclsh), then 'make genstubs' will *require* that tclsh has been built. It would be better if we could set up a fallback such that first 'tclsh' was used, then './tclsh' if 'tclsh' couldn't be found. Eric Melski The Other Tcl Guy ericm at ajubasolutions.com Ajuba Solutions -- 08/29/2000 ericm For detailed info, follow this link: http://sourceforge.net/bugs/?func=detailbug&bug_id=119259&group_id=10894 |