Open leventeBajczi opened 3 years ago
Unfortunately we don't have the resources to work on developing proper Windows support for the project. If you were to put a documented PR together that integrates with the CI, I could take a look at it and offer the resulting binary builds as release artefacts.
After a day of trying, I managed to get the library to build on Windows 10 x64, but I thought I'd document the process in an issue in the hopes that a better build system could be instated.
The working method (based on build64.bat, but not working out-of-the-box):
vc2010.vcxproj
file in Visual Studio 2019, set the build tools to v142 instead of the unsupported v100MpfrMpir\Dynamic\Mpfr
folder from the downloaded ZIP, and $(JAVA_HOME)/include, etc.lib
files fromMpfrMpir\Dynamic\Mpfr
to the project.dll
files fromMpfrMpir\Dynamic\Mpfr
, but I'm not sure that is needed) into the generated-sources folder as per build64.bat, and package the jar.This is not perfect either, because there are cryptic MPFR assertion failures in some very rare cases, which are not present in the Linux version of MPFR. This might be due to a CPU-specific instruction this prebuilt DLL assumes.
What does not work:
mvn install
- this will complain about missingvcbuild.exe
, a compiler deprecated more than 10 years ago (in VC2010).build64.bat
- this will also initially complain aboutvcbuild.exe
missing, also a python interpreter is necessary. Furthermore, where should one receive MPFR and MPIR sources? The script assumes they are readily available, when they are most definitely not. And any particular config buildable by VC2010 is long gone in dead links and outdated forum posts.The best solution would be including binary releases in the repo. The next best is a correct documentation of the build process on Windows - because the detailed compilation in the README presumes Linux.
I know this is an old repo, but currently one of the very few open-source, fully IEEE-754-compatible BigFloat implementation for java. It would be very beneficial to keep this alive on all major platforms, including Windows.