# Julia on Raspberry Pi: error building HDF5 package

**URL:** https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903
**Category:** General Usage
**Created:** [October 14, 2019, 2:42pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903 "2019-10-14T14:42:38Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [December 28, 2019, 7:58am UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/21 "2019-12-28T07:58:57Z")

</div>

Since in Julia 1.3 new Artifact system was added, seems like this problem can be solved by providing precompiled binaries specifically for RPi?

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [December 28, 2019, 4:21pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/22 "2019-12-28T16:21:22Z")

</div>

> [@sairus7](#):
>
> Since in Julia 1.3 new Artifact system was added

Julia 1.3 didn’t change much (apart from making the installation process easier for the developers): the new artifact system is a merging of BinaryProvider.jl directly into Pkg.jl.

> [@sairus7](#):
>
> seems like this problem can be solved by providing precompiled binaries specifically for RPi?

Do you have them?

In an ideal world, HDF5 could be cross-compiled and we’d be much more happy

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [December 28, 2019, 8:31pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/23 "2019-12-28T20:31:00Z")

</div>

> [@](#):
>
> ![](https://global.discourse-cdn.com/julialang/original/2X/a/a4e6445ef34cb89452dbadfdce3920f21918c865.png) sairus7:
> 
> > seems like this problem can be solved by providing precompiled binaries specifically for RPi?
> 
> Do you have them?

Yes, I have compiled binaries for RPi 4. Should I upload it here?

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [December 28, 2019, 9:46pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/24 "2019-12-28T21:46:30Z")

</div>

Yes, please upload somewhere a tarball with the library. What’s the exact triplet of the platform?

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [December 28, 2019, 10:10pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/25 "2019-12-28T22:10:47Z")

</div>

Ok, I will figure the exact triplet and upload binaries in two or three weeks.

If you need some specific compiler settings for that platform, please let me know, so I could compile it again.

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [December 28, 2019, 10:38pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/26 "2019-12-28T22:38:13Z")

</div>

Like all libraries for Julia, it needs to be a shared library built with `-fPIC`. An as old as possible compiler would help (in BinaryBuilder we use GCC 4.8.2 with binutils 2.24), but I assume you don’t have much control over that

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [January 13, 2020, 4:40pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/27 "2020-01-13T16:40:51Z")

</div>

Raspberry Pi 4, Model B, BCM2711

Linux version 4.19.66-v7l+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1253 SMP

HDF5 v1.10.5 binaries: [1.10.5.zip — Yandex.Disk](https://yadi.sk/d/DnepMvNrYm77iw)

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [January 17, 2020, 12:59am UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/28 "2020-01-17T00:59:32Z")

</div>

I’ve noticed that [PR](https://github.com/JuliaPackaging/Yggdrasil/pull/386) was merged into JuliaPackaging/Yggdrasil. Does it work with HDF5.jl package already? What Julia version should I use to check it working on RPi?

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [January 17, 2020, 1:25am UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/29 "2020-01-17T01:25:06Z")

</div>

> [@sairus7](#):
>
> I’ve noticed that [PR](https://github.com/JuliaPackaging/Yggdrasil/pull/386) was merged into JuliaPackaging/Yggdrasil. Does it work with HDF5.jl package already?

Yes, it’s now also [merged in General](https://github.com/JuliaRegistries/General/pull/8069).

> [@sairus7](#):
>
> What Julia version should I use to check it working on RPi?

Julia 1.3

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [January 30, 2020, 12:09pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/30 "2020-01-30T12:09:33Z")

</div>

I’ve tried recently to install HDF5.jl on RPi, seems like the error remains the same: [Error building HDF5.jl package on Raspberry Pi · Issue #588 · JuliaIO/HDF5.jl · GitHub](https://github.com/JuliaIO/HDF5.jl/issues/588)

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [January 30, 2020, 12:53pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/31 "2020-01-30T12:53:32Z")

</div>

What version are you using? If you still get the error

```julia
┌ Error: Error building HDF5: 
│ [ Info: Downloading https://github.com/bicycle1885/ZlibBuilder/releases/download/v1.0.4/Zlib.v1.2.11.arm-linux-gnueabihf.tar.gz to /home/pi/.julia/packages/HDF5/rF1Fe/deps/usr/downloads/Zlib.v1.2.11.arm-linux-gnueabihf.tar.gz...
│ ERROR: LoadError: LoadError: MethodError: no method matching iterate(::Nothing)
│ Closest candidates are:
│ iterate(!Matched::Core.SimpleVector) at essentials.jl:604
│ iterate(!Matched::Core.SimpleVector, !Matched::Any) at essentials.jl:604
│ iterate(!Matched::ExponentialBackOff) at error.jl:214
│ ...

```

you’re definitely not installing the JLL package of HDF5\_jll

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [January 30, 2020, 2:44pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/32 "2020-01-30T14:44:31Z")

</div>

Ok, the problem was with old julia version installed with  
`sudo apt install julia`  
as stated here [https://juliaberry.github.io/](https://juliaberry.github.io/)

So, I’ve downloaded 1.3.1 version tarball [32-bit (ARMv7-a hard float)](https://julialang-s3.julialang.org/bin/linux/armv7l/1.3/julia-1.3.1-linux-armv7l.tar.gz) ([GPG](https://julialang-s3.julialang.org/bin/linux/armv7l/1.3/julia-1.3.1-linux-armv7l.tar.gz.asc)) from [Download Julia](https://julialang.org/downloads/) , and simply extracted it and run bin/julia, it then creates 1.3 environment.

Then I run old Julia 1.0 console and remove HDF5 from 1.0 environment:

```julia
]rm HDF5
gc

```

Then I run new Julia 1.3 console (that from from extracted tarball) and add HDF5 to 1.3 environment:

```julia
]add HDF5

```

But it fails again with the same error.

Maybe I should manually install 1.3 tarball somehow, or change path variables? Or there are some scripts to install it from tarball?

Or should I completely delete previous 1.0 version and work with extracted binaries?

---

<div class="post-metadata">

### Author: ![zsoerenm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zsoerenm/32/664_2.png) [@zsoerenm](https://discourse.julialang.org/u/zsoerenm)
#### Post date: [January 30, 2020, 3:42pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/33 "2020-01-30T15:42:24Z")

</div>

Julia 1.0 and Julia 1.3 have a different package environment.  
If you have installed Julia 1.0 with some packages und then start Julia 1.3, you’ll have to reinstall all packages.  
So your error must be in the HDF5 package.

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [January 30, 2020, 5:12pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/34 "2020-01-30T17:12:37Z")

</div>

Even if I set system-provided binaries path `ENV["JULIA_HDF5_LIBRARY_PATH"] = "/home/pi/hdf5/1.10.5"` and then rebuild HDF5, it crashes with the same error.

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [January 30, 2020, 5:21pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/35 "2020-01-30T17:21:10Z")

</div>

What version of HDF5.jl are you trying to install?

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [January 31, 2020, 11:02am UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/36 "2020-01-31T11:02:25Z")

</div>

`]add HDF5#master` solved the problem.  
By default it was 0.12.5 release, and now its 0.13.0 #master.

---

<div class="post-metadata">

### Author: ![musm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/musm/32/3675_2.png) [@musm](https://discourse.julialang.org/u/musm)
#### Post date: [August 18, 2020, 3:07am UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/37 "2020-08-18T03:07:30Z")

</div>

> [@sairus7](#):
>
> 3.1 versi

Any chance we could get v1.12 binaries ?

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [August 19, 2020, 8:55am UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/38 "2020-08-19T08:55:37Z")

</div>

Cannot say - I just don’t have physical access to that RPi for now.

---

<div class="post-metadata">

### Author: ![onButtonUp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/onbuttonup/32/3098_2.png) [@onButtonUp](https://discourse.julialang.org/u/onButtonUp)
#### Post date: [August 19, 2020, 2:44pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/39 "2020-08-19T14:44:57Z")

</div>

Out of curiosity, what does this mean for Julia running on Raspberry Pi, in general ?

It seems like this means: Julia currently runs on Pi except for anything that relies on HDF5. (Maybe this is Julia itself/herself ??)

The NVIDIA Jetson Nano same situation ?

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [August 19, 2020, 2:53pm UTC](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903/40 "2020-08-19T14:53:47Z")

</div>

It works with HDF5 precompiled library, that is loaded as a binary artifact. I’ve tried it only with RPi4.

[Previous page](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903.md?page=1)

[Next page](https://discourse.julialang.org/t/julia-on-raspberry-pi-error-building-hdf5-package/29903.md?page=3)
