Fork me on GitHub
#babashka-sci-dev
<
2023-03-09
>
borkdude21:03:31

@ales.najmann I bumped the build of babashka in appveyor from the visual studio 2017 image to 2019. This may mean something for the required redistributable but not sure.

borkdude21:03:59

I runs fine on my Windows 11 computer

littleli01:03:31

vcredist20XX maybe. I'll check.

littleli08:03:07

I updated depends to vcredist2019 It looks like they maintain some sort of binary compatibility on newer versions of these libs, so it maybe working even without being on the newest version.

borkdude08:03:44

is there a way to check on which redist a binary depends?

borkdude08:03:50

the binary here: https://github.com/babashka/babashka-dev-builds/releases/tag/v1.2.175-SNAPSHOT should be the one compiled with vsstudio 2019

borkdude09:03:29

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>dumpbin /dependents C:\Users\borkdude\Downloads\bb.exe
Microsoft (R) COFF/PE Dumper Version 14.27.29111.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file C:\Users\borkdude\Downloads\bb.exe

File Type: EXECUTABLE IMAGE

  Image has the following dependencies:

    VERSION.dll
    ADVAPI32.dll
    WS2_32.dll
    USERENV.dll
    MSWSOCK.dll
    USER32.dll
    KERNEL32.dll
    VCRUNTIME140.dll
    VCRUNTIME140_1.dll
    api-ms-win-crt-runtime-l1-1-0.dll
    api-ms-win-crt-environment-l1-1-0.dll
    api-ms-win-crt-heap-l1-1-0.dll
    api-ms-win-crt-string-l1-1-0.dll
    api-ms-win-crt-convert-l1-1-0.dll
    api-ms-win-crt-stdio-l1-1-0.dll
    api-ms-win-crt-filesystem-l1-1-0.dll
    api-ms-win-crt-math-l1-1-0.dll
    api-ms-win-crt-locale-l1-1-0.dll
    WINHTTP.dll
    ncrypt.dll
    CRYPT32.dll
    Secur32.dll
    IPHLPAPI.DLL

borkdude09:03:34

It seems like it may still work with the 2015 redistributable

littleli09:03:18

+ binary compatibility section

littleli09:03:35

But I'm no C++ developer 😕

borkdude09:03:41

I noticed when upgrading bb in scoop that it already asked me to upgrade the redist

littleli09:03:17

yes, what they recommend is to use the same "year" version as the VC++

borkdude09:03:04

does redist 2019 work on a system from 2018?

littleli09:03:08

it's a bit problematic to test though, because our systems are usually already polluted by all the versions that are out there... or nothing at all.

littleli09:03:30

yes, it will work and you an actually have more of them at the same time

borkdude09:03:36

and when you specify a dependency on redist 2019 and another package wants 2015, how does that work? since you can only have one of them installed

borkdude09:03:55

I understood that the newest one will overwrite the older one

littleli09:03:06

it's per package, other packages can link to 2015 or whatever other version

borkdude09:03:36

I guess we'll hear from bb users and change when necessary but perhaps the change wasn't necessary yet. 🤷

littleli09:03:08

can be, but again, it's really hard to test

littleli09:03:34

for example I have 2019 installed on system level already by some other application I don't know about right now

littleli09:03:36

it's a mess

littleli09:03:38

"Dev had a problem and thought he would solve it with dynamic linking. Since then he has had two problems."

borkdude09:03:34

is static linking available on Windows? don't think so right

littleli18:03:30

I believe it is possible, there is a tutorial https://learn.microsoft.com/en-us/cpp/build/walkthrough-creating-and-using-a-static-library-cpp?view=msvc-170 for example. I just think it's not the common way to do on Windows.

borkdude18:03:38

at least it's not possible today with graalvm

borkdude18:03:48

the only OS that is supported with graalvm with this is linux