DecFP.jl icon indicating copy to clipboard operation
DecFP.jl copied to clipboard

Build error when using DecFP on 32-bit arm7l

Open smartphoneworld opened this issue 6 years ago • 12 comments

On Debian Stretch ARM platform (Beaglebone):

`julia> Pkg.add("DecFP")
INFO: Installing DecFP v0.4.3
INFO: Building DecFP
=====================================================================[ ERROR: DecFP ]======================================================================

LoadError: Your platform arm-linux-gnueabihf is not supported by this package!
while loading /root/.julia/v0.6/DecFP/deps/build.jl, in expression starting on line 32

===========================================================================================================================================================

=====================================================================[ BUILD ERRORS ]======================================================================

WARNING: DecFP had build errors.

 - packages with build errors remain installed in /root/.julia/v0.6
 - build the package(s) and all dependencies with `Pkg.build("DecFP")`
 - build a single package by running its `deps/build.jl` script

===========================================================================================================================================================
INFO: Package database updated
INFO: METADATA is out-of-date — you may not have the latest version of DecFP
INFO: Use `Pkg.update()` to get the latest versions of your packages
`

screenshot 2018-04-10 21 09 46

smartphoneworld avatar Apr 10 '18 19:04 smartphoneworld

DecFP is a wrapper for the Intel Decimal Floating-Point Math Library. It only supports the IA-32, Intel 64 and IA-64 architectures. It doesn't support ARM. There has been some interest #12 in wrapping the IBM decNumber library which would support ARM. @ScottPJones started looking at this at one time https://github.com/ScottPJones/Dec.jl

jmkuhn avatar Apr 10 '18 20:04 jmkuhn

Which parts of the Intel library are Intel-specific? How hard would it be to port it to ARM, I wonder?

stevengj avatar Apr 10 '18 21:04 stevengj

Yes, I haven't had time yet to get back to that - I'd wanted not to just wrap it, but to rewrite it in Julia for better flexibility. I don't know what the licensing issues are with the Intel library, there's one nice thing about it, it supports the "bid" IEEE decimal float format (which is better for software implementations), while the IBM library supports the other format (which is better for hardware, and IBM has added hardware support for that format).

ScottPJones avatar Apr 11 '18 00:04 ScottPJones

Perhaps try opening an issue at https://github.com/quinnj/DecFPBuilder

simonbyrne avatar Aug 21 '18 17:08 simonbyrne

Note that this is now built at Yggdrasil (https://github.com/JuliaPackaging/Yggdrasil/blob/master/D/DecFP/build_tarballs.jl), not in the DecFPBuilder package. The binary releases are here: https://github.com/JuliaBinaryWrappers/DecFP_jll.jl

stevengj avatar May 14 '20 18:05 stevengj

It appears to have been compiled for ARM 7l (https://github.com/JuliaBinaryWrappers/DecFP_jll.jl/releases/download/DecFP-v2.0.2%2B0/DecFP.v2.0.2.armv7l-linux-gnueabihf.tar.gz) at https://github.com/JuliaBinaryWrappers/DecFP_jll.jl/releases, so is this resolved?

stevengj avatar May 14 '20 18:05 stevengj

It compiles, but I think there are run time errors. I will look at this in the next few days.

jmkuhn avatar May 14 '20 18:05 jmkuhn

#133 adds CI for both armv7l and aarch64 with Drone CI

giordano avatar May 20 '20 17:05 giordano

Is this still an issue?

stevengj avatar Jul 17 '21 12:07 stevengj

Seems to be. Drone CI is failing with:

signal (11): Segmentation fault
127s
88	in expression starting at /drone/src/src/DecFP.jl:281
127s
89	__bid64_from_string at /root/.julia/artifacts/4d827acbd6c8d7227293f7b64c440ea3f6c2f4ec/lib/libbid.so (unknown line)
127s
90	Allocations: 8286312 (Pool: 8285410; Big: 902); GC: 23
127s
91	ERROR: LoadError: Failed to precompile DecFP [55939f99-70c6-5e9b-8bb0-5071ed7d61fd] to /root/.julia/compiled/v1.3/DecFP/QmCKT_9EaeH.ji.

stevengj avatar Jul 17 '21 13:07 stevengj

Not sure if this was fixed by #91? Currently we aren't testing on 32-bit ARM (#154).

stevengj avatar Mar 29 '22 18:03 stevengj

I'm out of town at the moment but later this week I can test 32-bit ARM locally.

jmkuhn avatar Mar 29 '22 18:03 jmkuhn