Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Call for volunteers to test the updated NetCDF v4.8.1 (in particular for Windows and Apple users) #165

Closed
Alexander-Barth opened this issue Mar 2, 2022 · 14 comments

Comments

@Alexander-Barth
Copy link
Member

I updated NetCDF to v4.8.1 and I would like to have some feedback in particular from Windows and Apple users (x86_64 and M1 (also called aarch64)). Currently Windows support is broken in NetCDF_jll.

Does somebody volunteer to test the NetCDF library ?

Here are the steps on Linux. In the following one should adapt the file names for other system. Please let me know if you are unsure what to do.

  1. use the appropriate file https://data-assimilation.net/upload/Alex/NetCDF_jll/ and download it and extract it to a temporary folder (test-dir)

For example:

wget https://data-assimilation.net/upload/Alex/NetCDF_jll/NetCDF.v400.802.102.x86_64-linux-gnu.tar.gz
# create empty directory test-dir 
cd ~
mkdir test-dir
tar -C test-dir -xvf NetCDF.v400.802.102.x86_64-linux-gnu.tar.gz
  1. Start julia
using Pkg
mkdir("temp-env")
Pkg.activate("temp-env")
Pkg.add(["Preferences", "NetCDF_jll", "NetCDF"])
using Preferences, NetCDF_jll
@show NetCDF_jll.libnetcdf # this is the file to be replaced
set_preferences!(NetCDF_jll, "libnetcdf_path" => "/home/abarth/test-dir/lib/libnetcdf.so") # adapt path: *.dll on windows, *.dylib on macos
# important: restart julia
  1. test NCDatasets.jl
using Pkg
Pkg.activate("temp-env")
Pkg.add(PackageSpec(name="NCDatasets", rev="master"))
using NetCDF_jll, NCDatasets
@show NetCDF_jll.libnetcdf # new library
include(joinpath(dirname(pathof(NCDatasets)),"..","test","runtests.jl"))
# expected output
# NetCDF library: /home/abarth/test-dir/lib/libnetcdf.so
# NetCDF version: 4.8.1 of Mar  2 2022 14:42:59 $
# Test Summary: | Pass  Total
# NCDatasets    |  747    747
# Test Summary:  | Pass  Total
# NetCDF4 groups |    9      9
# Test Summary:          | Pass  Total
# Variable-length arrays |   22     22
# Test Summary:  | Pass  Total
# Compound types |   15     15
# Test Summary:      |   Pass   Total
# Time and calendars | 874621  874621
# Test Summary:       | Pass  Total
# Multi-file datasets |   62     62
# Test Summary:     | Pass  Total
# Deferred datasets |   13     13
  1. test NetCDF.jl
using Pkg
Pkg.activate("temp-env")
using NetCDF, NetCDF_jll
@show NetCDF_jll.libnetcdf
# output: "/home/abarth/test-dir/lib/libnetcdf.so"
include(joinpath(dirname(pathof(NetCDF)),"..","test","runtests.jl"))

# expected output
# Test Summary: | Pass  Total
# NetCDF        |   28     28

Note Pkg.test("NCDatasets") or Pkg.test("NetCDF") does not work because it ignores the defined preferences.

One should have HDF5_jll with the version v1.12.1+0 to make these tests:

(temp-env) pkg> status --manifest
      Status `~/temp-env/Manifest.toml`
  [179af706] CFTime v0.1.1
  [34da2185] Compat v3.41.0
  [864edb3b] DataStructures v0.18.11
  [692b3bcd] JLLWrappers v1.4.1
  [85f8d34a] NCDatasets v0.12.0 `https://github.com/Alexander-Barth/NCDatasets.jl.git#master`
  [bac558e1] OrderedCollections v1.4.1
  [21216c6a] Preferences v1.2.4
  [0234f1f7] HDF5_jll v1.12.1+0
  [7243133f] NetCDF_jll v400.702.402+0
  [458c3c95] OpenSSL_jll v1.1.13+0

Binaries are generated from these scripts:
https://github.com/Alexander-Barth/Yggdrasil/tree/NetCDF-v4.8.1/N/NetCDF

CC @visr @Datseris @truedichotomy @felixcremer @meggart

@ctroupin
Copy link
Collaborator

ctroupin commented Mar 2, 2022

Hi Alex, if time allows I'll give it a try with Windows.
It has to be with MinGW, isn't it?

@Alexander-Barth
Copy link
Member Author

To just test the pre-compiled binares, you do not need to have MinGW. MinGW is (only) necessary to compile the C code.

@visr
Copy link
Member

visr commented Mar 2, 2022

Thanks for your efforts! I followed the steps on Windows, but unfortunately I still get hit by the same issue. Just like with the previous version, it loads fine, and can create NC3 fine, but not NC4 (HDF5). You can see from the DLL name and version that it is picking up the new one you built.

julia> include(joinpath(dirname(pathof(NCDatasets)),"..","test","runtests.jl"))
NetCDF library: C:\Users\visser_mn\.julia\dev\NCDatasets\dev\prefix\bin\libnetcdf-19.dll
NetCDF version: 4.8.1 of Mar  2 2022 14:45:36 $

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x64e9cc0c -- .text at C:\Users\visser_mn\.julia\dev\NCDatasets\dev\prefix\bin\libnetcdf-19.dll (unknown line)
in expression starting at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\test\runtests.jl:10
.text at C:\Users\visser_mn\.julia\dev\NCDatasets\dev\prefix\bin\libnetcdf-19.dll (unknown line)
NC4_create at C:\Users\visser_mn\.julia\dev\NCDatasets\dev\prefix\bin\libnetcdf-19.dll (unknown line)
(rest of the stacktrace) ``` NC_create at C:\Users\visser_mn\.julia\dev\NCDatasets\dev\prefix\bin\libnetcdf-19.dll (unknown line) nc__create at C:\Users\visser_mn\.julia\dev\NCDatasets\dev\prefix\bin\libnetcdf-19.dll (unknown line) nc_create at C:\Users\visser_mn\.julia\dev\NCDatasets\dev\prefix\bin\libnetcdf-19.dll (unknown line) nc_create at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\src\netcdf_c.jl:255 unknown function (ip: 0000000060b0dc3d) #NCDataset#12 at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\src\dataset.jl:201 NCDataset at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\src\dataset.jl:157 #NCDataset#13 at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\src\dataset.jl:218 jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined] do_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\builtins.c:713 NCDataset at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\src\dataset.jl:218 jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined] do_call at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:126 eval_value at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:215 eval_body at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:461 eval_body at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:516 eval_body at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:516 jl_interpret_toplevel_thunk at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:731 jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:885 jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:830 jl_toplevel_eval at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:894 [inlined] jl_toplevel_eval_in at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:944 eval at .\boot.jl:373 [inlined] include_string at .\loading.jl:1196 _include at .\loading.jl:1253 include at .\client.jl:451 jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined] do_call at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:126 eval_value at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:215 eval_stmt_value at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:166 [inlined] eval_body at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:583 jl_interpret_toplevel_thunk at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:731 jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:885 jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:830 jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:830 jl_toplevel_eval at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:894 [inlined] jl_toplevel_eval_in at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:944 eval at .\boot.jl:373 [inlined] eval_user_input at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:150 repl_backend_loop at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:246 start_repl_backend at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:231 #run_repl#47 at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:364 run_repl at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:351 #930 at .\client.jl:394 jfptr_YY.930_36349.clone_1 at C:\Users\visser_mn\.julia\juliaup\julia-1.7.2+0~x64\lib\julia\sys.dll (unknown line) jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined] jl_f__call_latest at /cygdrive/c/buildbot/worker/package_win64/build/src\builtins.c:757 #invokelatest#2 at .\essentials.jl:716 [inlined] invokelatest at .\essentials.jl:714 [inlined] run_main_repl at .\client.jl:379 exec_options at .\client.jl:309 _start at .\client.jl:495 jfptr__start_21275.clone_1 at C:\Users\visser_mn\.julia\juliaup\julia-1.7.2+0~x64\lib\julia\sys.dll (unknown line) jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined] true_main at /cygdrive/c/buildbot/worker/package_win64/build/src\jlapi.c:559 jl_repl_entrypoint at /cygdrive/c/buildbot/worker/package_win64/build/src\jlapi.c:701 mainCRTStartup at /cygdrive/c/buildbot/worker/package_win64/build/cli\loader_exe.c:42 BaseThreadInitThunk at C:\WINDOWS\System32\KERNEL32.DLL (unknown line) RtlUserThreadStart at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line) Allocations: 8319222 (Pool: 8314332; Big: 4890); GC: 10 ```

It has to be with MinGW, isn't it?

The testing can just be done in Windows. MinGW is used for building the library.

Environment info

julia> versioninfo()
Julia Version 1.7.2
Commit bf53498635 (2022-02-06 15:21 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, skylake)
Environment:
  JULIA_EDITOR = code
  JULIA_NUM_THREADS = 3

(dev) pkg> st -m
      Status `C:\Users\visser_mn\.julia\dev\NCDatasets\dev\Manifest.toml`
  [179af706] CFTime v0.1.1
  [34da2185] Compat v3.41.0
  [864edb3b] DataStructures v0.18.11
  [3c3547ce] DiskArrays v0.3.1
  [59287772] Formatting v0.4.2
  [692b3bcd] JLLWrappers v1.4.1
  [85f8d34a] NCDatasets v0.12.0 `https://github.com/Alexander-Barth/NCDatasets.jl.git#master`
  [30363a11] NetCDF v0.11.4
  [bac558e1] OrderedCollections v1.4.1
  [21216c6a] Preferences v1.2.4
  [0234f1f7] HDF5_jll v1.12.1+0
  [7243133f] NetCDF_jll v400.702.402+0
  [458c3c95] OpenSSL_jll v1.1.13+0
  [0dad84c5] ArgTools
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8bb1440f] DelimitedFiles
  [8ba89e20] Distributed
  [f43a241f] Downloads
  [b77e0a4c] InteractiveUtils
  [b27032c2] LibCURL
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [ca575930] NetworkOptions
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [1a1011a3] SharedArrays
  [6462fe0b] Sockets
  [2f01184e] SparseArrays
  [10745b16] Statistics
  [fa267f1f] TOML
  [a4e569a6] Tar
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll
  [deac9b47] LibCURL_jll
  [29816b5a] LibSSH2_jll
  [c8ffd9c3] MbedTLS_jll
  [14a3606d] MozillaCACerts_jll
  [4536629a] OpenBLAS_jll
  [83775a58] Zlib_jll
  [8e850b90] libblastrampoline_jll
  [8e850ede] nghttp2_jll
  [3f19e933] p7zip_jll

@Alexander-Barth
Copy link
Member Author

Thanks a lot for the quick feedback. I will try to activate debug information in the builds. Maybe we will get line numbers with the error stack traces.

@Alexander-Barth
Copy link
Member Author

Here is a link with the libraries with debug information:
https://data-assimilation.net/upload/Alex/NetCDF_jll_debug/

@visr
Copy link
Member

visr commented Mar 2, 2022

Now with line numbers!
julia> include(joinpath(dirname(pathof(NCDatasets)),"..","test","runtests.jl"))
NetCDF library: C:\Users\visser_mn\.julia\dev\NCDatasets\dev\prefix-debug\bin\libnetcdf-19.dll
NetCDF version: 4.8.1 of Mar  2 2022 16:59:21 $

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x7905cc0c -- nc4_create_file at /workspace/srcdir/netcdf-c-4.8.1/libhdf5\hdf5create.c:124
in expression starting at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\test\runtests.jl:10
nc4_create_file at /workspace/srcdir/netcdf-c-4.8.1/libhdf5\hdf5create.c:124
NC4_create at /workspace/srcdir/netcdf-c-4.8.1/libhdf5\hdf5create.c:313
NC_create at /workspace/srcdir/netcdf-c-4.8.1/libdispatch\dfile.c:1926
nc__create at /workspace/srcdir/netcdf-c-4.8.1/libdispatch\dfile.c:464
nc_create at /workspace/srcdir/netcdf-c-4.8.1/libdispatch\dfile.c:391
nc_create at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\src\netcdf_c.jl:255
unknown function (ip: 0000000060bf68fd)
#NCDataset#12 at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\src\dataset.jl:201
NCDataset at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\src\dataset.jl:157
#NCDataset#13 at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\src\dataset.jl:218
jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined]
do_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\builtins.c:713
NCDataset at C:\Users\visser_mn\.julia\packages\NCDatasets\TCrQh\src\dataset.jl:218
jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined]
do_call at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:126
eval_value at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:215
eval_body at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:461
eval_body at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:516
eval_body at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:516
jl_interpret_toplevel_thunk at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:731
jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:885
jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:830
jl_toplevel_eval at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:894 [inlined]
jl_toplevel_eval_in at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:944
eval at .\boot.jl:373 [inlined]
include_string at .\loading.jl:1196
_include at .\loading.jl:1253
include at .\client.jl:451
jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined]
do_call at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:126
eval_value at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:215
eval_stmt_value at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:166 [inlined]
eval_body at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:583
jl_interpret_toplevel_thunk at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:731
jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:885
jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:830
jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:830
jl_toplevel_eval at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:894 [inlined]
jl_toplevel_eval_in at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:944
eval at .\boot.jl:373 [inlined]
eval_user_input at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:150
repl_backend_loop at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:246
start_repl_backend at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:231
#run_repl#47 at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:364
run_repl at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:351
#930 at .\client.jl:394
jfptr_YY.930_36349.clone_1 at C:\Users\visser_mn\.julia\juliaup\julia-1.7.2+0~x64\lib\julia\sys.dll (unknown line)
jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined]
jl_f__call_latest at /cygdrive/c/buildbot/worker/package_win64/build/src\builtins.c:757
#invokelatest#2 at .\essentials.jl:716 [inlined]
invokelatest at .\essentials.jl:714 [inlined]
run_main_repl at .\client.jl:379
exec_options at .\client.jl:309
_start at .\client.jl:495
jfptr__start_21275.clone_1 at C:\Users\visser_mn\.julia\juliaup\julia-1.7.2+0~x64\lib\julia\sys.dll (unknown line)
jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined]
true_main at /cygdrive/c/buildbot/worker/package_win64/build/src\jlapi.c:559
jl_repl_entrypoint at /cygdrive/c/buildbot/worker/package_win64/build/src\jlapi.c:701
mainCRTStartup at /cygdrive/c/buildbot/worker/package_win64/build/cli\loader_exe.c:42
BaseThreadInitThunk at C:\WINDOWS\System32\KERNEL32.DLL (unknown line)
RtlUserThreadStart at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line)
Allocations: 9530329 (Pool: 9524780; Big: 5549); GC: 13

@Alexander-Barth
Copy link
Member Author

The tarball also contains nccopy.exe. I am wondering if we get also an error when we use:

nccopy -k netCDF-4 some_existing_file.nc output.nc

(probably all *.dll files need to be in the same folder next to the binary on Windows)

@Alexander-Barth
Copy link
Member Author

I tried to setup a CI test and it seem to work when I downgrade HDF5_jll to 1.12.0 on Windows. Binaries are in:
https://data-assimilation.net/upload/Alex/NetCDF_jll_debug/

https://github.com/Alexander-Barth/NCDatasets.jl/runs/5403552073?check_suite_focus=true

@visr
Copy link
Member

visr commented Mar 3, 2022

Ah yes, if I download this latest debug build, and add [email protected] in my environment, then all tests pass in Windows. So the main problem perhaps is with the HDF5_jll 1.12.1 build, right? I see 1.13 has also been out since December.

@felixcremer
Copy link
Member

Thanks for pushing this. I tested it on Ubuntu and it works.

@Alexander-Barth
Copy link
Member Author

Alexander-Barth commented Mar 3, 2022

@visr Yes, this seems to be a HDF5_jll issue (unfortunately, only HDF5_jll 1.12.1 supports Apple M1).
If a Windows user could test nccopy (or ncgen) from these tar files (https://data-assimilation.net/upload/Alex/NetCDF_jll/), that could help us to know if we can reproduce the issue independently from a julia package:

@felixcremer Thanks for checking and reporting back!

@visr
Copy link
Member

visr commented Mar 3, 2022

I cannot get any of the executables to produce any output, they all return directly. I tried copying either version of the HDF5_jll DLLs into the same directory but it doesn't help. Probably other DLLs bundled with Julia or HDF5_jll dependencies are needed as well. That makes these zips hard to test outside of julia. To use them from inside julia they should be added as ExecutableProduct in build_tarballs.jl in Yggdrasil, then julia can take care of loading the right dependencies, when used like this: https://github.com/JuliaGeo/GDAL.jl#using-the-gdal-and-ogr-utilities.

It would be easier to test these builds if we didn't only have the tarballs, but also the JLL package. Did you know that it is possible to create these locally with --deploy=local or on GitHub with --deploy="Alexander-Barth/NetCDF_jll.jl". Or do I misunderstand, and does that only create the tarballs?

https://docs.binarybuilder.org/stable/building/#Building-a-custom-JLL-package-locally
https://docs.binarybuilder.org/stable/FAQ/#Can-I-publish-a-JLL-package-locally-without-going-through-Yggdrasil?

@Alexander-Barth
Copy link
Member Author

I did not know about the deploy option (thanks for letting me know). I tested it (https://github.com/Alexander-Barth/NetCDF_jll.jl with the problematic HDF5 v1.12.1) and the deployment works indeed nicely.

I did not realize that the exe files in the tar balls cannot be (easily) used.

If somebody has an idea how to get Windows support back, one can generate the binaries with the following command (after cloning Yggdrasil

cd Yggdrasil/N/NetCDF/[email protected]
julia --color=yes ./build_tarballs.jl x86_64-linux-gnu,aarch64-linux-gnu,x86_64-apple-darwin,aarch64-apple-darwin,x86_64-w64-mingw32,i686-w64-mingw32  --deploy="<your github user name>/NetCDF_jll.jl"

Testing in julia is indeed much easier as one can install it via ]add https://github.com/<your github user name>/NetCDF_jll.jl

@Alexander-Barth
Copy link
Member Author

Closing this issue in favor of :
JuliaPackaging/Yggdrasil#4511
Unidata/netcdf-c#2248

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants