• Building Tcl8.7a5 for win7x64 with 64-bit Mingw gcc under Msys2

    From Dave@21:1/5 to All on Sun Aug 28 14:54:03 2022
    On a whim I attempted to build Tcl8.7a5 but ran into a few issues which
    may or may not be bugs. I'll list them here for you experts to decide.

    #1. As I have not paid attention to any previous discussions about Tcl
    8.7, I was unaware of the purpose of '--enable-zipfs' for configure. It
    sounded as though it was a new language feature for 8.7 and it defaults
    to 'yes'. I now know that it is used to embed the Tcl library into
    tcl87.dll (and maybe a static tclsh87.exe) by appending a ZIP archive to
    the end of the DLL/EXE.

    Here's the problem: infozip is really, really old... ca. late 2000's. My
    copy of 'zip' is from a distribution for windows called 'GnuWin32'. The
    EXE dates to 2008. If I remember correctly, the build failed on a 'zip
    -A' step with an error message about the ZIP directory. (I don't have
    the exact error any longer.)

    When I force the build to compile 'minizip', the ZIP stuff worked.

    My suggestion would be that you always build and use minizip to avoid
    any dependencies on the very old infozip program.

    #2. This one is due to my setup. My Tcl installation dates to the last ActiveState release 8.6.4.1. I've just been replacing the older stuff
    with the later as I've moved up through 8.6.11. My build script attempts
    to patch 'lib/tcl8.7/init.tcl' with the ActiveState additions. I'm not
    sure if I've ever actually used them but I figured "why not". With the
    Tcl library ZIP'ed and appended to the DLL/EXE, it is impossible to
    replace 'init.tcl' with a modified version after the ZIP is appended --
    I'd need to patch init.tcl prior to building Tcl and I prefer to keep
    the source distribution unmodified and only patch the installed targets.

    So, that's my problem. I solved it with '--disable-zipfs' since it's not
    a language feature but an optimization feature.

    #3. tkConfig.sh has '-l87' instead of '-ltk87'. This is a bug.

    #4. The scripts (tools/man2help.tcl and man2help2.tcl) to generate the
    windows help file are missing. In addition, the 'pkgs' and 'html'
    directories are missing the DB packages, sqlite, etc. Perhaps this is
    because it is Tcl8.7 <alpha> 5?

    All the above is FYI to give feedback on tcl8.7a5. Hope it is useful.

    --
    computerjock AT mail DOT com

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)