ML-KULeuven / problog

ProbLog is a Probabilistic Logic Programming Language for logic programs with probabilities.

Home Page:https://dtai.cs.kuleuven.be/problog/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dsharp.exe Windows binary throws error

plison opened this issue · comments

Thanks for the nice work with ProbLog! When trying to run ProbLog on Windows, I get an error with the dsharp.exe binary:
image

I'm running Windows 10, with the latest version of Problog (2.2.3).

This error is a bit annoying since it seems that the PySDD library cannot apparently be compiled on Windows. And recompiling dsharp from https://github.com/QuMuLab/dsharp/ on Windows does not seem straightforward either...

Everything runs fine when running ProbLog on Linux, however.

Hi,

  1. Which conda version are you using? conda --v

  2. Does the .exe within this .zip work?
    Temporarily replace the dsharp.exe in the bin folder with the one in here: dsharp_static.zip (rename it to dsharp.exe instead of dsharp_static.exe)

Thanks! I'm using conda 4.12. Yes, when using the dsharp.exe executable in the ZIP file, the error disappears, and ProbLog seems to run without problems :-)

Hmm.. I thought perhaps this was related to conda shipping a libstdc++ that did not contain throw_bad_array_new_lengthv [1,2], but that was supposedly fixed in conda 4.10.3. Either way it might be easiest to just use a statically compiled dsharp instead (like the one in the zip). Unless someone has a better proposal, I will replace the executable in the next ProbLog release.

[1] conda/conda#10757 (comment)
[2] stan-dev/pystan#294

Edit: Alternatively, maybe the libdstdc++ we included is outdated.

Yes, the statically compiled Windows executable is anyway quite small (3 MB, compared to 0.5 MB for the dynamically linked one), so it might indeed make more sense to ship ProbLog with that one.