From owner-freebsd-ports Tue Jan 9 16:40:23 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 6A4C637B401 for ; Tue, 9 Jan 2001 16:40:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f0A0e1E57996; Tue, 9 Jan 2001 16:40:01 -0800 (PST) (envelope-from gnats) Received: from net2.dinoex.sub.org (net2.dinoex.de [212.184.201.182]) by hub.freebsd.org (Postfix) with ESMTP id BA96C37B400 for ; Tue, 9 Jan 2001 16:39:57 -0800 (PST) Received: from citylink.dinoex.sub.org (uucp@localhost) by net2.dinoex.sub.org (8.11.2/8.11.2) with UUCP id f0A0dWZ20544 for freebsd.org!FreeBSD-gnats-submit; Wed, 10 Jan 2001 01:39:32 +0100 (CET) (envelope-from citylink.dinoex.sub.org!admin@citylink.dinoex.sub.org) Received: from marmor.dinoex.sub.org by citylink.dinoex.sub.org (8.8.5/PMuch-B3b) with ESMTP id XAA19623 for ; Tue, 9 Jan 2001 23:41:43 +0100 (CET) Received: (from admin@localhost) by marmor.dinoex.sub.org (8.11.1/8.11.1) id f09Mfoh37959; Tue, 9 Jan 2001 23:41:50 +0100 (CET) (envelope-from admin) Message-Id: <200101092241.f09Mfoh37959@marmor.dinoex.sub.org> Date: Tue, 9 Jan 2001 23:41:50 +0100 (CET) From: System Admin Account Reply-To: peter.much@sercon.de To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: ports/24207: port "tcl83" cannot load shared objects Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 24207 >Category: ports >Synopsis: port "tcl83" cannot load shared objects >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jan 09 16:40:00 PST 2001 >Closed-Date: >Last-Modified: >Originator: System Admin Account >Release: FreeBSD 4.2-RELEASE i386 >Organization: >Environment: vanilla 4.2-RELEASE system. lang/tcl83 installed (as it is the newest) lang/tcl82 installed (prereq for mail/tkrat2) trying to install mail/tkrat2 >Description: 1. Configure of mail/tkrat2 fails. This is because the configure script within the distribution of tkrat2 sees the existing tcl83 installation and wants to use this, whereas the FreeBSD port design dictates it to use tcl82. Alright, that's quite unavoidable. Best is to bring tkrat2 to use tcl83. 2. Tried to do this. Thatway found out that tcl83 doesn't work at all: tkrat builds it's own shared library, but tclsh8.3 cannot load it (tclsh8.2 can). The error tells about a missing symbol, but will claim _any_ symbol as missing. Further, tclsh8.3 is 500kB in filesize, while tclsh8.2 is 5kB in filesize... Tracking this down gives: When linking tclsh8.2 with libtcl8.2, there is beforehand a symlink created: libtcl8.2.so -> libtcl8.2.so.1 (The command to create this symlink is brought into the makefile by a patch from the FreeBSD-patchdir.) In the build of tcl83 this symlink is NOT created. The result is that tclsh8.3 gets linked with libtcl8.3.a (it is linked dynamic nevertheless), and thatway it gets operative as an interpreter, but is not able to load further shared objects via the "load" command. >How-To-Repeat: See above. >Fix: Here is a patch for the patch;-} for tcl83. Bringing tkrat2 to use tcl/tk83 is rather trivial, and that port has already changed since tag RELEASE_4_2_0, so I will not attach my diff. -- rgds, PMc *** ports/lang/tcl83/files/patch-aa.orig Wed May 10 23:26:50 2000 --- ports/lang/tcl83/files/patch-aa Tue Jan 9 22:29:47 2001 *************** *** 1,5 **** ! --- Makefile.in.orig Wed May 10 16:38:48 2000 ! +++ Makefile.in Wed May 10 16:46:00 2000 @@ -53,7 +53,9 @@ SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY) --- 1,5 ---- ! --- Makefile.in.orig Tue Jan 9 21:53:52 2001 ! +++ Makefile.in Tue Jan 9 21:55:51 2001 @@ -53,7 +53,9 @@ SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY) *************** *** 29,36 **** libraries: ! @@ -407,6 +409,11 @@ @MAKE_LIB@ $(RANLIB) ${TCL_LIB_FILE} +libtcl${SHORT_TCL_VER}.a: ${OBJS} --- 29,39 ---- libraries: ! @@ -405,8 +407,14 @@ ! ${TCL_LIB_FILE}: ${OBJS} ${STUB_LIB_FILE} ! rm -f ${TCL_LIB_FILE} @MAKE_LIB@ + + ln -sf ${TCL_LIB_FILE} libtcl${SHORT_TCL_VER}.so $(RANLIB) ${TCL_LIB_FILE} +libtcl${SHORT_TCL_VER}.a: ${OBJS} *************** *** 41,47 **** ${STUB_LIB_FILE}: ${STUB_LIB_OBJS} rm -f ${STUB_LIB_FILE} @MAKE_STUB_LIB@ ! @@ -520,11 +527,16 @@ fi @echo "Installing $(TCL_LIB_FILE) to $(LIB_INSTALL_DIR)/" @$(INSTALL_DATA) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE) --- 44,50 ---- ${STUB_LIB_FILE}: ${STUB_LIB_OBJS} rm -f ${STUB_LIB_FILE} @MAKE_STUB_LIB@ ! @@ -520,11 +528,16 @@ fi @echo "Installing $(TCL_LIB_FILE) to $(LIB_INSTALL_DIR)/" @$(INSTALL_DATA) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE) *************** *** 58,64 **** @if test "$(TCL_BUILD_EXP_FILE)" != ""; then \ echo "Installing $(TCL_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \ $(INSTALL_DATA) $(TCL_BUILD_EXP_FILE) \ ! @@ -532,8 +544,9 @@ fi @echo "Installing tclsh as $(BIN_INSTALL_DIR)/tclsh$(VERSION)" @$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION) --- 61,67 ---- @if test "$(TCL_BUILD_EXP_FILE)" != ""; then \ echo "Installing $(TCL_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \ $(INSTALL_DATA) $(TCL_BUILD_EXP_FILE) \ ! @@ -532,8 +545,9 @@ fi @echo "Installing tclsh as $(BIN_INSTALL_DIR)/tclsh$(VERSION)" @$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION) *************** *** 70,76 **** @if test "$(TCL_STUB_LIB_FILE)" != "" ; then \ echo "Installing $(TCL_STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; \ $(INSTALL_DATA) $(STUB_LIB_FILE) \ ! @@ -541,7 +554,8 @@ fi install-libraries: libraries --- 73,79 ---- @if test "$(TCL_STUB_LIB_FILE)" != "" ; then \ echo "Installing $(TCL_STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; \ $(INSTALL_DATA) $(STUB_LIB_FILE) \ ! @@ -541,7 +555,8 @@ fi install-libraries: libraries *************** *** 80,86 **** do \ if [ ! -d $$i ] ; then \ echo "Making directory $$i"; \ ! @@ -563,10 +577,16 @@ chmod +x $(SRC_DIR)/install-sh; \ fi @echo "Installing header files"; --- 83,89 ---- do \ if [ ! -d $$i ] ; then \ echo "Making directory $$i"; \ ! @@ -563,10 +578,16 @@ chmod +x $(SRC_DIR)/install-sh; \ fi @echo "Installing header files"; *************** *** 99,105 **** @echo "Installing library files to $(SCRIPT_INSTALL_DIR)"; @for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \ do \ ! @@ -607,7 +627,6 @@ chmod 444 $(MAN1_INSTALL_DIR)/$$i; \ done; @echo "Cross-linking top-level (.1) docs"; --- 102,108 ---- @echo "Installing library files to $(SCRIPT_INSTALL_DIR)"; @for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \ do \ ! @@ -607,7 +628,6 @@ chmod 444 $(MAN1_INSTALL_DIR)/$$i; \ done; @echo "Cross-linking top-level (.1) docs"; *************** *** 107,113 **** @echo "Installing C API (.3) docs"; @cd $(TOP_DIR)/doc; for i in *.3; \ do \ ! @@ -617,7 +636,6 @@ chmod 444 $(MAN3_INSTALL_DIR)/$$i; \ done; @echo "Cross-linking C API (.3) docs"; --- 110,116 ---- @echo "Installing C API (.3) docs"; @cd $(TOP_DIR)/doc; for i in *.3; \ do \ ! @@ -617,7 +637,6 @@ chmod 444 $(MAN3_INSTALL_DIR)/$$i; \ done; @echo "Cross-linking C API (.3) docs"; *************** *** 115,121 **** @echo "Installing command (.n) docs"; @cd $(TOP_DIR)/doc; for i in *.n; \ do \ ! @@ -627,7 +645,14 @@ chmod 444 $(MANN_INSTALL_DIR)/$$i; \ done; @echo "Cross-linking command (.n) docs"; --- 118,124 ---- @echo "Installing command (.n) docs"; @cd $(TOP_DIR)/doc; for i in *.n; \ do \ ! @@ -627,7 +646,14 @@ chmod 444 $(MANN_INSTALL_DIR)/$$i; \ done; @echo "Cross-linking command (.n) docs"; >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message