Skip to content
This repository has been archived by the owner on Dec 11, 2022. It is now read-only.

BeagleBone Black compatibility (vfpv4) #52

Closed
dnadlinger opened this issue Dec 17, 2018 · 1 comment
Closed

BeagleBone Black compatibility (vfpv4) #52

dnadlinger opened this issue Dec 17, 2018 · 1 comment

Comments

@dnadlinger
Copy link

I am using Conda on an ARM board quite similar to the Raspberry Pi, the BeagleBone Black, and it would be quite convenient to be able to use the Berryconda channel for this – which almost works. The problem is the following:

The board has an AM335x 1GHz Cortex-A8 CPU and the stock Debian (jessie) distribution is armv7l with hardware floating point, which should be compatible with Raspbian. However, while the CPU supports NEON, it doesn't support VFPv4, which is enabled on the Berryconda armv7l binaries. (Symptom: Python crashes with SIGILL due to an v4-only FMA instruction.)

Would it be possible to build the armv7l binaries without vfpv4? The performance difference should be unnoticable for typical berryconda use cases.

Alternatively, is there a way to force conda to use the armv6l binaries? These seem to work.

@jjhelmus
Copy link
Owner

jjhelmus commented Jan 4, 2019

The armv7l packages in the rpi channel are built with the mfpu flag, neon-vfpv4. Rebuilding all the packages with a different mfpu flag would be quite involved and not the direction that I would like to take Berryconda.

There has been some interest in building ARM conda packages in conda-forge, conda-forge/conda-forge.github.io#269. If these used the same compiler flags as Debian uses for the armhf port, I think these would be compatible with the BeagleBone Black and the Raspberry Pi 2 and 3.

You can force conda to use the armv6l packages by setting the CONDA_SUBDIR environment variable to linux-armv6l.

@jjhelmus jjhelmus closed this as completed Jan 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants