Closed FishmanL closed 4 years ago
This is because the rust library uses gmp
and mpfr
for high-precision floating point numbers, to help protect against floating-point attacks. These libraries are difficult to compile on the MSVC toolchain. We have statically compiled versions of these libraries via mingw, but building the .dll with vendored gmp/mpfr has not been completed yet (and likely won't be reasonable for windows devs).
In the meantime, I suggest WSL or a VM.
If you are just developing a software product locally, you can compile the core library without the use-mpfr feature flag by setting the environment variable here:
https://github.com/opendifferentialprivacy/whitenoise-core-python/blob/ms-exponential-4/scripts/code_generation.py#L19
(and switching to this ms-exponential-4
branch)
Do be careful not publish the tool or any releases unless you are working with a core library compiled with secure noise. I bring this up as an alternative for Windows devs who cannot build a secure library.
Sounds good--would it be possible to note that on the readme?
On Fri, Jul 10, 2020, 1:21 PM Michael Shoemate notifications@github.com wrote:
This is because the rust library uses gmp and mpfr for high-precision floating point numbers, to help protect against floating-point attacks. These libraries are difficult to compile on the MSVC toolchain. We have statically compiled versions of these libraries via mingw, but building the .dll with vendored gmp/mpfr has not been completed yet.
In the meantime, I suggest WSL or a VM. If you are just developing a software product, you can compile the core library without the use-mpfr feature flag by setting the environment variable here:
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/opendifferentialprivacy/whitenoise-core-python/issues/27#issuecomment-656790338, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE32NMEOIDZTT62KWKRK4G3R25EYZANCNFSM4OWX4HXQ .
There is a reference on the readme to the troubleshooting.md, with more information. I'll move the link to be more visible.
@FishmanL There's a new release with .dll files. https://pypi.org/project/opendp-smartnoise-core/ (Note: the project has been renamed to from whitenoise to smartnoise)
title -- dylib and so files are in the wheel, not dlls