Tk Source Code

Ticket Change Details
Login
Overview

Artifact ID: 47b8d4c8349c6591ea1a0fe9597d5c29ceec6679121e305fd0ef139bc1e9b665
Ticket: 9a6ed28e98d31bc322efe3ffd9a360a048a11de2
link fails on Ubuntu 18.04
User & Date: marc_culler 2018-11-10 14:57:42
Changes

  1. icomment:
    I checked again and it still happened.  So then I checked on a different
    Ubuntu 18.04 system and there was no problem.  So then I compared the
    config.log files from the two systems to see how they differed.  That
    revealed the problem.
    
    On the system where the link failed I had previously built and installed
    Tcl 8.7. In fact I had done that before I upgraded from 16.04 to 18.04.
    The configure script was reading /usr/local/lib/tclConfig.sh.  Look at this:
    
    $ grep ieee /usr/local/lib/tclConfig.sh 
    TCL_LIBS='-ldl -lz  -lpthread -lieee -lm'
    
    So I guess the question is: Why is the configure script using a tclConfig.sh
    which was installed by a different version of Tk (and a different version of
    the operating system)?
    
    Even on the system where the build succeeds the behavior is weird. The
    configure script is reading /usr/lib/tclConfig.sh.  Why is it assuming that
    I want to use the same compiler and linker flags that the package maintainer
    happened to use?  And if I had installed the Tk 8.7 package and then tried to
    build Tk 8.6 it would have used the 8.7 linker flags, so it would link against
    the ieee library even though 8.6 doesn't need that library.
    
    This does not seem very robust to me.
    
  2. login: "marc_culler"
  3. mimetype: "text/plain"
  4. username: "Marc Culler"