public inbox for insight@sourceware.org
 help / color / mirror / Atom feed
From: Phil Edwards <phil@jaj.com>
To: insight@sources.redhat.com
Subject: Tk lib build doesn't look in the Tcl build directory
Date: Sun, 14 Jul 2002 10:06:00 -0000	[thread overview]
Message-ID: <20020714130640.A28498@disaster.basement.lan> (raw)

Trying to build CVS GDB.  It fails in the tk stage with (command wrapped):

rm -f libtk8.3.so
gcc -pipe -shared -o libtk8.3.so [a gazillion object files] 
   -Wl,-rpath,/home/pme/build/install-2002-07-14/lib:/usr/X11R6/lib
   -L/home/pme/build/install-2002-07-14/lib -ltclstub8.3 -L/usr/X11R6/lib
   -lX11 -ldl -lieee -lm -lc
/usr/bin/ld: cannot find -ltclstub8.3
collect2: ld returned 1 exit status
gmake[2]: *** [libtk8.3.so] Error 1
gmake[2]: Leaving directory `/home/pme/build/build-2002-07-14/tk/unix'

Looking in the generated Makefile, I see the rule being fired is

${TK_LIB_FILE}: ${OBJS}
        rm -f ${TK_LIB_FILE}
        ${SHLIB_LD} -o ${TK_LIB_FILE} ${OBJS} $(TK_LD_SEARCH_FLAGS) -L/home/pme/build/install-2002-07-14/lib -ltclstub8.3${TCL_DBGX} ${LIBS}
        @case ${TK_LIB_FILE} in *.a) $(TK_RANLIB) ${TK_LIB_FILE};; esac

Okay, that's obvious enough.  The -l is being given, but not the correct
-L, since tcl hasn't been installed yet (the tree is still building).
Where is this line generated from?  The tk/unix/Makefile.in has the entire
line written as @MAKE_LIB@.

This in turn is set in tk/unix/configure.in with

    MAKE_LIB="\${SHLIB_LD} -o \${TK_LIB_FILE} \${OBJS} \$(TK_LD_SEARCH_FLAGS) ${TCL_STUB_LIB_SPEC} \${LIBS}"

so the "-L$prefix/lib -ltclstub8.3" is clearly the expansion of
TCL_STUB_LIB_SPEC.  However, this variable seems to be set in some other
tclConfig file, and that's as far as I got before giving up.


Am I the only one seeing this?  It would seem that the Tk build requires
all the Tcl stuff to have been /installed/, not just built, before it itself
can build.  Perhaps the majority (totality?) of the developers already have
a Tcl installation somewhere in the default paths searched by the linker?


Phil

-- 
If ye love wealth greater than liberty, the tranquility of servitude greater
than the animating contest for freedom, go home and leave us in peace.  We seek
not your counsel, nor your arms.  Crouch down and lick the hand that feeds you;
and may posterity forget that ye were our countrymen.            - Samuel Adams

             reply	other threads:[~2002-07-14 17:06 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-14 10:06 Phil Edwards [this message]
2002-07-14 13:34 ` Keith Seitz
2002-07-15  7:44   ` Phil Edwards
2002-07-15  8:42     ` Keith Seitz
2002-07-15  9:11       ` Phil Edwards
2002-07-15  9:16         ` Keith Seitz
2002-07-15  9:42           ` Phil Edwards
2002-07-15  9:45             ` Keith Seitz
2002-07-15  9:49               ` Phil Edwards
2002-07-14 23:55 Mo DeJong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020714130640.A28498@disaster.basement.lan \
    --to=phil@jaj.com \
    --cc=insight@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).