Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

BAWT / TclTLS 1.7.12 and Windows Dlls

191 views
Skip to first unread message

skip...@gmail.com

unread,
Jun 19, 2018, 1:30:14 PM6/19/18
to
Hi,

I recently downloaded the BAWT toolkit since I couldn't find precompiled TclTls binaries online. I had a few problems with the build (due to my own setup errors and company security blocking the repository access) but eventually suceeded.

Everything built fine, but when I dropped the TLS subdirectory into my packages directory and tried to run our application, it aborted with dependency errors.

I traced the 3 "missing" dlls to the Windows\System32\downlevel directory, which is not in the PATH. If I copy the Dlls out with the package and add that to the PATH, The TLS appears to work fine.

Is there a good solution to this? I see a few options... Add the downlevel directory to the path, copy the Dlls to the packages subdirectory (and add that to the PATH) as I tested, or if possible do a static build (I'm not sure offhand how best to do that) or build against similarly-named Dlls in Windows\System32.

The TLS 1.6 precompiled binaries didn't have this issue, which makes me think they either were built differently or something changed under the covers.

If anyone has suggestions (of know of something I did wrong), suggestions are appreciated.

Thanks!

Wayland Augur

skip...@gmail.com

unread,
Jun 20, 2018, 7:19:53 PM6/20/18
to
I actually misdiagnosed the issue (the old Dependency Walker program made me suspect missing DLLs, which was a red herring).

The TLS build adds to the Tls1.7.12 directory an additional Dll named libssp-0.dll. I'm not sure what it is for and need to research it further. It was not created by the build itself (it is dated 2015). Having that Dll missing from the Path causes the initialization failure.

Adding the TLS directory to the path, or moving the Dll into a directory included in the path (for example the one with the tcl executable, which happens to be in my path) both appear to let the library execute properly.

Seems a bit odd though.

- Wayland Augur

Brad Lanam

unread,
Jun 21, 2018, 8:50:09 AM6/21/18
to
libssp is the stack protection library, linked in when one of
the -fstack-protector* options is used to gcc.

Paul Obermeier

unread,
Jun 23, 2018, 9:43:57 AM6/23/18
to
Brad is right.
It is also stated in the BAWT build script tcltls.bawt:

# tcltls is compiled with -fstack-protector-all, which needs the
# libssp-0.dll library.

If everything compiled fine, the file libssp-0.dll should therefore be
located in the package directory tcltls1.7.12

Paul

skip...@gmail.com

unread,
Jun 23, 2018, 12:43:25 PM6/23/18
to
Thank you both! I hadn't actually drilled down that far (haven't had to use toolsets like this in many years and am out of practice) but that makes sense now... and saves me the time of trying to figure out if I can compile without that flag, since it seems like it's supposed to be there (and it might be a bad idea to remove it).

I didn't see the DLL used elsewhere so was curious about it - and I googled for that gcc compiler flag (and the dll itself), and didn't find much at all, and the precompiled versions that were available up to 1.4 didn't need the Dll (or perhaps it was statically linked and I didn't know).

Wayland

amandin...@gmail.com

unread,
Nov 18, 2018, 10:24:52 AM11/18/18
to
Hi

I'm trying similar operation but it is not clear for me.

After installing BAWT framework, MSys/MinGW and executing command Build-Windows.bat x86 Windows Setup\Tcl_Basic.bawt complete all, I copied my tcl package in InputLibs repository with bawt file.

But I'm supposed to do after that to compile my package ?

I tried to launch sh.exe to execute similar commands as following but I got error about invalid commands sed, expression,... could you help me please ?

> cd /C/temp/Bawt-0.1.0/BawtBuild/Windows/x86/Release/Build/tcludp
> /C/temp/Bawt-0.1.0/BawtBuild/Windows/x86/Release/Build/tcludp/configure
--enable-shared
--build=i686-w64-mingw32 --prefix=/C/temp/Bawt-0.1.0/BawtBuild/Windows/x86/Release/Install/tcludp --exec-prefix=/C/temp/Bawt-0.1.0/BawtBuild/Windows/x86/Release/Install/tcludp --with-tcl=/C/temp/Bawt-0.1.0/BawtBuild/Windows/xF8i6n/Raeliezaese/Build/Tcl --disable-symbols

skip...@gmail.com

unread,
Nov 19, 2018, 2:59:23 PM11/19/18
to
Unfortunately I didn't keep great notes - but I do recall that initially I was making the process a whole lot harder than I needed to. Checking the logs on the machine I built on, it looks like I actually used the windows build command:

Build-Windows.bat x86 Windows Setup\Tcl.bawt complete all

Good luck!
0 new messages