HDF and JLD have been unbuildable on macs for months... Not sure anyone is addressing

So for several months now HDF.jl and JLD.jl are unbuildable on macs because of a problem with Homebrew.jl. It’s been brought up in a number of places by a number of people (here, here, here, here, here, here, and more I’m sure I haven’t seen), but I don’t think it’s getting any attention because it only affects new users who don’t have a pre-existing homebrew install of HDF5 (as many developers do).

With the release of 1.0, I feel like Julia is looking to bring in new people, and I worry about a problem with such a basic set of dependencies. Any chance anyone is working on this?


I agree it seems like a problem, and it seems to have lasted for a long time for such an important package. Part of the problem is that HDF5 won’t cross compile, so the new BinaryBuilder toolchain doesn’t work. But maybe we could just build a BinaryProvider script (like this example) that points to new github repo that just caches copies of the HDF5 binaries? The HDF5 site provides linux and windows binaries, and someone could upload a mac binary, maybe just copy the ones homebrew builds?. It not as maintainable as having BinaryBuilder cross compile, but it shouldn’t be too much work to get it going.

But in answer to your final question, no, I’m not working on this.

In the long run, I think it should be possible to cross compile HDF5. I’m working on a fork for this.


Thanks @stevengj! Also, sorry to raise a problem without offering a solution (poor form in open source I know), but this is well outside my areas of experties.

I have opened https://github.com/staticfloat/homebrew-juliadeps/issues/132 since I think what should be done is to make a custom formula for gcc allowing relocation. I hope of course that Steven will solve this in the long run with the fork of HDF5 that allows cross-compilation.

Just a note that HDF and JLD are still, as far as I can tell, unbuildable for new users… (sorry, last post was reply to wrong portion of post)

1 Like