• Problem with tdom on Windows10

    From Alan Grunwald@21:1/5 to All on Tue Mar 14 18:06:12 2023
    After recent problems with ActiveTcl8.6.9.0 (see thread entitled "cannot
    open crypt.dll" using smtp::sendmessage on Windows 10), I have built
    Tcl/Tk 8.8.13 from sources, but now cannot get tdom to work.

    I initially tried to buld from sources. The README says to build gumbo
    from sources if HTML5 support is required (which it is). It goes on to
    say that I should switch branches and use the solution file
    visualc/gumbo.sln. I was unable to find that file.

    I then looked more closely at the tDom home page, https://core.tcl-lang.org/tdom/dir?ci=tip, and noticed that Windows
    binaries were available, with HTML5 support. However, when I downloaded
    the 64-bit version and tried to [package require tdom] I got the error
    message "couldn't load library "C:/ActiveTcl/lib/tdom0.9.3/tdom093.dll":
    Bad exe format. Possibly a 32/64-bit mismatch." Strangely, if I try to
    load the dll from my old ActiveTcl installation, I get the same error
    (module the dll path). If I load the ActiveTcl installation using the
    ActiveTcl copy of tclsh, then the command completes successfully.

    Please can someone either help me to buld gumbo so allowing me to buld
    tdom locally, or help me out with using the Windows binary.

    Many thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From EL@21:1/5 to Alan Grunwald on Tue Mar 14 19:12:31 2023
    Alan Grunwald <[email protected]> wrote:
    After recent problems with ActiveTcl8.6.9.0 (see thread entitled "cannot
    open crypt.dll" using smtp::sendmessage on Windows 10), I have built
    Tcl/Tk 8.8.13 from sources, but now cannot get tdom to work.

    I initially tried to buld from sources. The README says to build gumbo
    from sources if HTML5 support is required (which it is). It goes on to
    say that I should switch branches and use the solution file visualc/gumbo.sln. I was unable to find that file.

    I then looked more closely at the tDom home page, https://core.tcl-lang.org/tdom/dir?ci=tip, and noticed that Windows
    binaries were available, with HTML5 support. However, when I downloaded
    the 64-bit version and tried to [package require tdom] I got the error message "couldn't load library "C:/ActiveTcl/lib/tdom0.9.3/tdom093.dll":
    Bad exe format. Possibly a 32/64-bit mismatch." Strangely, if I try to
    load the dll from my old ActiveTcl installation, I get the same error
    (module the dll path). If I load the ActiveTcl installation using the ActiveTcl copy of tclsh, then the command completes successfully.

    Please can someone either help me to buld gumbo so allowing me to buld
    tdom locally, or help me out with using the Windows binary.

    Many thanks.


    After having read the other topic about the crypt.dll issue and this one
    here, I suspect that your ActiveTcl installation is 32bit. And your
    environment is somehow mixed up, so that the ActiveTcl tclsh sporadically attempts to load 32bit and 64bit DLLs. But that is just a guess.

    Mind also that the error „cannot load … dll“ can happen when the DLL in question has dependencies to other DLLs, which for whatever reason cannot
    be loaded (i.e. because they are there but don‘t match the architecture).

    Yes, on windows this mixup of DLLs in 32/64 bit is a rather joyful experience…


    --
    EL

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Dean@21:1/5 to Alan Grunwald on Wed Mar 15 08:55:46 2023
    On 15/3/23 04:06, Alan Grunwald wrote:
    After recent problems with ActiveTcl8.6.9.0 (see thread entitled "cannot
    open crypt.dll" using smtp::sendmessage on Windows 10), I have built
    Tcl/Tk 8.8.13 from sources, but now cannot get tdom to work.


    snip

    Please can someone either help me to buld gumbo so allowing me to buld
    tdom locally, or help me out with using the Windows binary.

    Many thanks.

    May I suggest BAWT. It comes with everything you'll probably ever need!

    https://www.tcl3d.org/bawt/download.html#tclbi

    Also go to the environment and remove anything to do with activetcl.
    Sounds like it's still in PATH

    pd

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paul Obermeier@21:1/5 to All on Wed Mar 15 00:28:48 2023
    Am 14.03.2023 um 23:55 schrieb Peter Dean:
    On 15/3/23 04:06, Alan Grunwald wrote:
    After recent problems with ActiveTcl8.6.9.0 (see thread entitled "cannot open crypt.dll" using smtp::sendmessage on Windows 10), I have built Tcl/Tk 8.8.13 from sources, but now cannot get tdom to work.


    snip

    Please can someone either help me to buld gumbo so allowing me to buld tdom locally, or help me out with using the Windows binary.

    Many thanks.

    May I suggest BAWT. It comes with everything you'll probably ever need!

    https://www.tcl3d.org/bawt/download.html#tclbi

    Also go to the environment and remove anything to do with activetcl. Sounds like it's still in PATH

    pd


    In that special case, BAWT does not help, because it builds tdom without support for gumbo.

    Paul

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rolf Ade@21:1/5 to Alan Grunwald on Wed Mar 15 03:09:27 2023
    Alan Grunwald <[email protected]> writes:
    After recent problems with ActiveTcl8.6.9.0 (see thread entitled
    "cannot open crypt.dll" using smtp::sendmessage on Windows 10), I have
    built Tcl/Tk 8.8.13 from sources, but now cannot get tdom to work.

    I initially tried to buld from sources. The README says to build gumbo
    from sources if HTML5 support is required (which it is). It goes on to
    say that I should switch branches and use the solution file visualc/gumbo.sln. I was unable to find that file.

    I then looked more closely at the tDom home page, https://core.tcl-lang.org/tdom/dir?ci=tip, and noticed that Windows
    binaries were available, with HTML5 support. However, when I
    downloaded the 64-bit version and tried to [package require tdom] I
    got the error message "couldn't load library "C:/ActiveTcl/lib/tdom0.9.3/tdom093.dll": Bad exe format. Possibly a 32/64-bit mismatch." Strangely, if I try to load the dll from my old ActiveTcl installation, I get the same error (module the dll path). If
    I load the ActiveTcl installation using the ActiveTcl copy of tclsh,
    then the command completes successfully.

    Please can someone either help me to buld gumbo so allowing me to buld
    tdom locally, or help me out with using the Windows binary.

    The tDOM homepage provides Windows binaries for 32 and 64-bit:

    https://tdom.org/downloads/

    At least the 64-bit build is with gumbo build-in, as I just confirmed
    because I could not remember for sure.

    rolf

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Dean@21:1/5 to Paul Obermeier on Wed Mar 15 12:12:16 2023
    On 15/03/2023 9:28 am, Paul Obermeier wrote:
    Am 14.03.2023 um 23:55 schrieb Peter Dean:
    On 15/3/23 04:06, Alan Grunwald wrote:
    After recent problems with ActiveTcl8.6.9.0 (see thread entitled
    "cannot open crypt.dll" using smtp::sendmessage on Windows 10), I
    have built Tcl/Tk 8.8.13 from sources, but now cannot get tdom to work.


    snip

    Please can someone either help me to buld gumbo so allowing me to
    buld tdom locally, or help me out with using the Windows binary.

    Many thanks.

    May I suggest BAWT. It comes with everything you'll probably ever need!

    https://www.tcl3d.org/bawt/download.html#tclbi

    Also go to the environment and remove anything to do with activetcl.
    Sounds like it's still in PATH

    pd


    In that special case, BAWT does not help, because it builds tdom without support for gumbo.

    Paul

    I built tdom with gumbo using msys2 then replaced the tdom files in my
    BAWT install. I don't have any html5 handy but I used the featureinfo
    command to check.
    C:\Users\peter\Desktop>tclsh
    % package require tdom
    0.9.3
    % dom featureinfo html5
    1


    Using the MINGW64 environment I installed gumbo-parser like this

    pacman -S mingw-w64-x86_64-gumbo-parser

    then in the tdom source
    –./configure --prefix=/usr --enable-64bit --enable-html5
    make
    ls -lrth

    ....
    -rw-r--r-- 1 peter None 1.7K Mar 15 11:42 tdomStubInit.o
    -rwxr-xr-x 1 peter None 1.4M Mar 15 11:42 tdom093.dll
    -rw-r--r-- 1 peter None 1.3K Mar 15 11:42 tdomStubLib.o
    -rw-r--r-- 1 peter None 1.5K Mar 15 11:42 libtdomstub093.a


    The arch PKGBUILD was some help

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alan Grunwald@21:1/5 to All on Tue Mar 21 11:27:17 2023
    On 14-Mar-2023 19:12, EL wrote:
    Alan Grunwald <[email protected]> wrote:

    <snip>

    After having read the other topic about the crypt.dll issue and this one here, I suspect that your ActiveTcl installation is 32bit. And your environment is somehow mixed up, so that the ActiveTcl tclsh sporadically attempts to load 32bit and 64bit DLLs. But that is just a guess.

    Mind also that the error „cannot load … dll“ can happen when the DLL in question has dependencies to other DLLs, which for whatever reason cannot
    be loaded (i.e. because they are there but don‘t match the architecture).

    Yes, on windows this mixup of DLLs in 32/64 bit is a rather joyful experience…



    I think you are right. After sleeping on the problem for the best part
    of a week, I dimply recall that (at least at some time) only the 32-bit versions of ActiveTcl was free so I stuck with it after moving to a
    64-bit machine.

    I've now installed a prebuilt 32-bit version of tDom into my new
    home-built Tcl 8.6.13 and everything loads ok.

    Many thanks,
    Alan

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alan Grunwald@21:1/5 to Peter Dean on Tue Mar 21 11:23:13 2023
    On 14-Mar-2023 22:55, Peter Dean wrote:
    On 15/3/23 04:06, Alan Grunwald wrote:
    After recent problems with ActiveTcl8.6.9.0 (see thread entitled
    "cannot open crypt.dll" using smtp::sendmessage on Windows 10), I have
    built Tcl/Tk 8.8.13 from sources, but now cannot get tdom to work.


    snip

    Please can someone either help me to buld gumbo so allowing me to buld
    tdom locally, or help me out with using the Windows binary.

    Many thanks.

    May I suggest BAWT. It comes with everything you'll probably ever need!

    https://www.tcl3d.org/bawt/download.html#tclbi

    Also go to the environment and remove anything to do with activetcl.
    Sounds like it's still in PATH

    pd


    Thank you for the suggestion Peter.

    If you read my last response in the other thread, you may understand why
    I have not followed it up.

    Alan

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