Menu

#16 configure doesn't recognize latest versions of tcl

v1.0 (example)
open
60. other (4)
5
2007-11-14
2007-11-14
No

memchan/unix/configure looks for (in this order)

tcl8.2.*
tcl8.2
tcl8.3
tcl8.2b*
tcl8.2a*
tcl8.1.*
tcl8.1
tcl8.0.*
tcl8.0
tcl

and then the prefixes.

So a) tcl 8.4 and 8.5 aren't checked, and b) even when I provide a --with-tcl-lib-dir, I still get an error about not finding the tcl library. I still have to figure that one out.

Discussion

  • Larry W. Virden

    Larry W. Virden - 2007-11-14

    Logged In: YES
    user_id=15949
    Originator: YES

    This is in the latest CVS head for memchan.

    Note that here's another bug:

    memchan_cv_lib_TCL_LIB=""
    places="$TCL_LIB_DIR \
    ../../tcl8.2.*/unix \
    ../../tcl8.2/unix \
    ../../tcl8.3.*/unix \
    ../../tcl8.3/unix \
    ../../tcl8.2b*/unix \
    ../../tcl8.2a*/unix \
    ../../tcl8.1.*/unix \
    ../../tcl8.1/unix \
    ../../tcl8.1b*/unix \
    ../../tcl8.1a*/unix \
    ../../tcl8.0.*/unix \
    ../../tcl8.0/unix \
    ../../tcl/unix \
    ../../tcl \
    $exec_prefix/lib \
    $prefix/lib \
    /usr/local/lib \
    /usr/lib"
    for dir in $places; do
    if test -n "$memchan_cv_lib_TCL_LIB"; then
    break
    fi

    Notice that the test doesn't test anything - the dir loops through places, but is never used! This loop is useless as written here.

    Then the if goes on to this:

    for version in 8.3 8.2 8.1.1 8.1 8.0.5 8.0.4 8.0.3 8.0 83 82 811 81 805
    804 803 80 ""; do
    if test -n "$memchan_cv_lib_TCL_LIB"; then
    break
    fi
    for libsuff in .so ".so.*" .sl .a; do
    if test -n "$memchan_cv_lib_TCL_LIB"; then
    break
    fi
    if test -f $dir/libtcl$version$libsuff; then
    memchan_cv_lib_TCL_LIB="-L$dir -ltcl$version"
    TCL_LIB_DIR="$dir"
    fi
    done
    done

    The first test would never be reached - that if before the for version loop would have dropped out before ever reaching this. Then the same test occurs, a THIRD time, inside the for libsuff loop. Nowthe a test comes along that uses dir and version and libsuff to look for something. Once that is set, then that variable being tested is set. Okay, so the if statements were intended to catch this setting.

    Seems like, however, that the version list in this piece of code should match the order of things in places, shouldn't it?

    Ah, the --with-tcl-lib doesn't work because the list of tcl versions in the loop doesn't include 8.4 or 8.5.

    Sorry about the other stuff... should have read a bit closer.

    But there is a problem with configure and versions here...

     
  • Andreas Kupries

    Andreas Kupries - 2007-11-14

    Logged In: YES
    user_id=75003
    Originator: NO

    The unix/configure(.in) is documented to not work for Tcl 8.3 or higher.
    See the file README.install. This buildsystem has been superceded by the
    TEA buildsystem in the top directory for Tcl 8.3+.

    Regarding the other things I have no idea off the top of my head what the code should do. What does 'test -n' mean for example ? There is nothing in the manpages. Could be another bug.

    Should I contemplate to simply delete the unix/ buildsystem ?
    There is the TEA one at the TOP.

     
  • Larry W. Virden

    Larry W. Virden - 2007-11-14

    Logged In: YES
    user_id=15949
    Originator: YES

    perhaps rename the unix directory something like unix-preTcl8.4 or something, just to emphasize the difference... I may not be the only person who doesn't read the README files, and since Tcl, Tk, and many other Tcl related programs and extensions use unix as the name for configuring and building the latest code on the unix platform, that would at least highlight the fact that something peculiar was going on.

    Or you could just drop it altogether - it would be in the cvs repository for someone who needed to go back that far...

     
  • Andreas Kupries

    Andreas Kupries - 2007-11-14

    Logged In: YES
    user_id=75003
    Originator: NO

    While renaming directories is a awkward operation in CVS just dropping the files is easy. ... Ok, I will drop this stuff. That should remove all doubt about what to use. I noticed in another bug report that Pat claims that we have junk under win/ as well. I will look at that too and drop as needed.

     
MongoDB Logo MongoDB