From: SourceForge.net <no...@so...> - 2006-03-02 07:16:35
|
Bugs item #1334613, was opened at 2005-10-21 19:19 Message generated for change (Comment added) made by georgeps You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=1334613&group_id=12997 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 84. Unix Build Group: development: 8.5a4 Status: Open Resolution: None Priority: 6 Submitted By: George Peter Staplin (georgeps) Assigned to: Joe English (jenglish) Summary: -lX11 link order is wrong Initial Comment: NetBSD builds of libtk fail to work properly in tclsh with [package require Tk]. This also makes it more difficult to build a tclkit. -lX11 is used only when building wish. The proper way to build is to link *libtk* with -lX11, so that the runtime linker will be able to load all dependencies in the tclkit or tclsh cases of [package require Tk] ---------------------------------------------------------------------- >Comment By: George Peter Staplin (georgeps) Date: 2006-03-02 00:16 Message: Logged In: YES user_id=585068 This lists a few NetBSD ports that don't support ELF, and probably the Inter-Library dependencies that Joe wrote about: http://www.netbsd.org/developers/features/ Most of those ports are to older systems though, so I think we can probably safely just assume SHLIB_LD_LIBS='${LIBS}' is correct. The pkgsrc people patch things if needed. They already hack Tcl to use libtool, so it may not even affect them. ---------------------------------------------------------------------- Comment By: Pat Thoyts (patthoyts) Date: 2006-03-01 17:54 Message: Logged In: YES user_id=202636 I have been building tclkit on netbsd and find that for NetBSD 2.0 and 3.0 if we set SHLIB_LD_LIBS='${LIBS}' then this problem is solved. This is also necessary for OpenBSD and probably all BSD type systems. We also need to have -rpath set (via LD_SEARCH_FLAGS). This is already set for the NetBSD branch so it is only necessary to update SHLIB_LD_LIBS. ---------------------------------------------------------------------- Comment By: Joe English (jenglish) Date: 2005-12-21 20:45 Message: Logged In: YES user_id=68433 ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2005-12-21 16:15 Message: Logged In: NO Thank you for looking into this. That does seem to be the problem. Incidentally the pkgsrc version of Tcl/Tk uses libtool. It also has the same package require Tk problem, and it seems they didn't patch Tk. ---------------------------------------------------------------------- Comment By: Joe English (jenglish) Date: 2005-12-20 23:27 Message: Logged In: YES user_id=68433 Turns out Tk's configure script already accounts for this platform difference -- it sets SHLIB_LD_LIBS to ${LIBS} if shared libraries should be linked against dependent shared libraries, "" otherwise. Looks like the NetBSD case in SC_CONFIG_CFLAGS sets it incorrectly to "" (or, rather, sets it to what *was* correct for NetBSD a long time ago.) ---------------------------------------------------------------------- Comment By: Joe English (jenglish) Date: 2005-12-20 23:15 Message: Logged In: YES user_id=68433 This depends on the platform. I suspect linking libtk against -lX11 is the right thing on most current ELF-based Unixes, but on some systems (SunOS? AIX for sure) shared libraries can't be linked against other shared libraries. The section "Inter-library dependencies" in the libtool manual discusses this a bit. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=1334613&group_id=12997 |