How to build CDDLib.jl on Windows ✅

For my current project, I’d like to run CDDLib.jl on a Windows system. Currently, I get the following error message when trying to build the library.

(v1.1) pkg> build CDDLib
  Building SpecialFunctions → `C:\Users\wueli\.julia\packages\SpecialFunctions\fvheQ\deps\build.log`
  Building Homebrew ────────→ `C:\Users\wueli\.julia\packages\Homebrew\s09IX\deps\build.log`
  Building CDDLib ──────────→ `C:\Users\wueli\.julia\packages\CDDLib\Okc0M\deps\build.log`
┌ Error: Error building `CDDLib`:
│ ERROR: LoadError: LibraryProduct(nothing, ["libcddgmp"], :libcddgmp, "Prefix(C:\\Users\\wueli\\.julia\\packages\\CDDLib\\Okc0M\\deps\\usr)") is not satisfied, cannot generate deps.jl!
│ Stacktrace:
│  [1] error(::String) at .\error.jl:33
│  [2] #write_deps_file#156(::Bool, ::Function, ::String, ::Array{LibraryProduct,1}) at C:\Users\wueli\.julia\packages\BinaryProvider\TcAwt\src\Products.jl:414
│  [3] (::getfield(BinaryProvider, Symbol("#kw##write_deps_file")))(::NamedTuple{(:verbose,),Tuple{Bool}}, ::typeof(write_deps_file), ::String, ::Array{LibraryProduct,1}) at .\none:0
│  [4] top-level scope at none:0
│  [5] include at .\boot.jl:326 [inlined]
│  [6] include_relative(::Module, ::String) at .\loading.jl:1038
│  [7] include(::Module, ::String) at .\sysimg.jl:29
│  [8] include(::String) at .\client.jl:403
│  [9] top-level scope at none:0
│ in expression starting at C:\Users\wueli\.julia\packages\CDDLib\Okc0M\deps\build.jl:48
└ @ Pkg.Operations C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\Operations.jl:1075

See also this issue: #46. Since it is in my own interest, I am willing to put effort into making it work. But currently, I am a bit at loss with where to even start.

Do you have experience with similar issues? I am glad for any pointers.

The issue has been fixed.

I just wanted to thank @blegat, @staticfloat, benlorenz, @juan-pablo-vielma for their work and support with this issue. Once again, I am amazed by how great this community is. Thanks you all!

2 Likes