Skip site navigation (1)Skip section navigation (2)
Date:      Thu,  6 Sep 2007 03:26:05 +0900 (JST)
From:      TAOKA Fumiyoshi <fmysh@iijmio-mail.jp>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        TAOKA Fumiyoshi <fmysh@iijmio-mail.jp>
Subject:   ports/116130: x11-toolkits/blt: Patch to build libBLT24.so with proper dependencies
Message-ID:  <20070905182605.D00E8153450@xeon.quad.dyndns.org>
Resent-Message-ID: <200709051830.l85IU25T096178@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         116130
>Category:       ports
>Synopsis:       x11-toolkits/blt: Patch to build libBLT24.so with proper dependencies
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 05 18:30:01 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     TAOKA Fumiyoshi
>Release:        
>Organization:
>Environment:
	FreeBSD ports:
	tcl-8.4.15_2,1
	tk-8.4.15_3,2
	python-2.5,2
	py25-tkinter-2.5.1_2
>Description:

libBLT24.so has no ldd dependencies on tcl or tk.

$ ldd /usr/local/lib/libBLT24.so.3
/usr/local/lib/libBLT24.so.3:

This causes a problem in some environment, say py-tkinter, which is a Tk wrapper
for Python.

>How-To-Repeat:
	
The operation equivalent to "package require BLT" in Tcl/Tk fails.
libBLT24.so can't resolve TclpAlloc in libtcl84.so because it has no dependency.

$ python
>Fix:

The patch below is originally Bill Barnard posted to SourceForge.
http://sourceforge.net/tracker/index.php?func=detail&aid=1470209&group_id=18616&atid=318616
 
This makes libBTL24.so built with valid dependencies.

$ ldd /usr/local/lib/libBLT24.so.3:
libtk84.so.1 => /usr/local/lib/libtk84.so.1 (0x68264000)
libtcl84.so.1 => /usr/local/lib/libtcl84.so.1 (0x6833c000)
libX11.so.6 => /usr/local/lib/libX11.so.6 (0x683e8000)
libm.so.4 => /lib/libm.so.4 (0x684d6000)
libXau.so.6 => /usr/local/lib/libXau.so.6 (0x684ee000)
libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x684f1000)
librpcsvc.so.3 => /usr/lib/librpcsvc.so.3 (0x684f6000)



New file: files/patch-src-shared-Makefile.in

diff --exclude CVS -uNr blt.orig/files/patch-src-shared-Makefile.in blt/files/patch-src-shared-Makefile.in
--- blt.orig/files/patch-src-shared-Makefile.in	1970-01-01 09:00:00.000000000 +0900
+++ blt/files/patch-src-shared-Makefile.in	2007-09-06 02:36:32.000000000 +0900
@@ -0,0 +1,12 @@
+diff -Naur src/shared/Makefile.in.orig src/shared/Makefile.in
+--- src/shared/Makefile.in.orig	2006-04-13 19:48:50.571196310 -0700
++++ src/shared/Makefile.in	2006-04-13 19:52:04.734265733 -0700
+@@ -14,7 +14,7 @@
+ EXTRA_CFLAGS =	@GCCFLAGS@ @SHLIB_CFLAGS@
+ DEFINES =	@DEFINES@
+ DEF_BLTINIT =	-DBLT_LIBRARY=\"$(scriptdir)\"
+-SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@ @LD_RUN_PATH@
++SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@ @LD_RUN_PATH@ @LIB_SPECS@
+ SHLIB_TCL_ONLY_LIB_SPECS = @SHLIB_TCL_ONLY_LIB_SPECS@ 
+ SHLIB_LIB_SPECS = @SHLIB_LIB_SPECS@ 
+ SHLIB_LD =	@SHLIB_LD@
>Release-Note:
>Audit-Trail:
>Unformatted:
 >>> import Tkinter
 >>> window = Tkinter.Tk()
 >>> window.tk.call('package', 'require', 'BLT')
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
 _tkinter.TclError: couldn't load file "/usr/local/lib/libBLT24.so": /usr/local/lib/libBLT24.so: Undefined symbol "TclpAlloc"
 
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070905182605.D00E8153450>