Akumuli icon indicating copy to clipboard operation
Akumuli copied to clipboard

ARM build failed

Open kvantos opened this issue 6 years ago • 5 comments

Hello,

I try to build on ARM Linux, and have got this error:

/home/kvantos/Projects/Akumuli/libakumuli/crc32c.cpp: In function ‘bool hardwared_crc32c_available()’:
/home/kvantos/Projects/Akumuli/libakumuli/crc32c.cpp:323:30: error: unknown register name ‘%edx’ in ‘asm’
             : "%ebx", "%edx");
                              ^
/home/kvantos/Projects/Akumuli/libakumuli/crc32c.cpp:323:30: error: unknown register name ‘%ebx’ in ‘asm’

Is there a way to fix it?

Thanks.

kvantos avatar Feb 27 '18 21:02 kvantos

Hello, Only x86 is supported at the moment. If you want to port it to ARM you should provide the implementation for crc32c checksum. Another thing to check is attribute((packed)) on some structs.

Lazin avatar Feb 28 '18 12:02 Lazin

ARM64 is supported now

Lazin avatar Jun 25 '18 19:06 Lazin

@Lazin do you have release notes for the ARM64 support?

vielmetti avatar Jun 25 '18 20:06 vielmetti

@vielmetti not yet. It's being tested only on ARM 64 now since I have access only to the machine provided by the Scaleway (which I believe is based on Cavium ThunderX SoC). Only deb package for Ubuntu Xenial is provided at the moment since I can't automate package creation on ARM. But other than that there is no difference between the x86 and arm versions. The performance is quite decent. I was able to get almost 600K writes/second on cheapest Scaleway server with 2Gigs of RAM and 4 cores.

Lazin avatar Jun 26 '18 06:06 Lazin

Thanks @Lazin .

There is test and build infrastructure available for arm64 from the @worksonarm project - see http://worksonarm.com/cluster and http://github.com/worksonarm/cluster . We have bare metal Cavium ThunderX systems & a pretty active support community.

Let me know if you're interested by opening up an issue in the cluster repo.

vielmetti avatar Jun 27 '18 19:06 vielmetti