#community-help

Issues Installing rpm Binary in Oracle Linux in Oracle aarch64 VM

TLDR Frank faces trouble installing the rpm binary on an Oracle aarch64 vm running on Oracle Linux due to an incompatible architecture and unsupported system page size. Kishore Nallan advises to try the ARM binary or change the page size on the Linux distribution, and suggests creating a Github issue to track the needed build improvement.

Powered by Struct AI
Feb 03, 2023 (8 months ago)
Frank
Photo of md5-3b6c31c773d265c60212a396f8d5fd4b
Frank
02:06 AM
๐Ÿ‘‹ I'm running into issues trying to install the rpm binary on an Oracle aarch64 vm running Oracle Linux. Is that to be expected?
02:12
Frank
02:12 AM
Last metadata expiration check: 2:25:44 ago on Thu 02 Feb 2023 06:45:10 PM EST.
Error: 
 Problem: conflicting requests
  - package typesense-server-0.24.0-1.arm64 does not have a compatible architecture
  - nothing provides config(typesense-server) = 0.24.0-1 needed by typesense-server-0.24.0-1.arm64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
04:38 AM
The ARM binary is built on a Graviton instance. I wonder if the instruction set is not fully compatible with the ARM processor you are using.
Frank
Photo of md5-3b6c31c773d265c60212a396f8d5fd4b
Frank
08:04 AM
Any ideas on how to resolve?
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
09:25 AM
Does the ARM binary (tar gz) work? If so it might be a RPM issue.
Frank
Photo of md5-3b6c31c773d265c60212a396f8d5fd4b
Frank
12:38 PM
<jemalloc>: Unsupported system page size
<jemalloc>: Unsupported system page size
terminate called without an active exception
Aborted (core dumped)
12:38
Frank
12:38 PM
๐Ÿ˜ž
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
12:38 PM
Are you using huge pages?
Frank
Photo of md5-3b6c31c773d265c60212a396f8d5fd4b
Frank
12:39 PM
This is what I get when I start it up -- I haven't added anything.

[frank@vm ~]$ ./typesense-server --data-dir=$(pwd)/typesense-data --api-key=$TYPESENSE_API_KEY --enable-cors
<jemalloc>: Unsupported system page size
<jemalloc>: Unsupported system page size
terminate called without an active exception
Aborted (core dumped)
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
12:41 PM
Ok can you post the exact ARM CPU this machine is using?
12:45
Kishore Nallan
12:45 PM
I think your Linux distros page size is not 4K which is what jemalloc expects.
Frank
Photo of md5-3b6c31c773d265c60212a396f8d5fd4b
Frank
12:46 PM
https://www.oracle.com/cloud/compute/arm/

Ampere Altra A1 Compute
OCPU: 4
Memory: 24GB

(this is Oracle's always free tier -- I was hoping it would be a good fit for a local typesense server)
12:48
Frank
12:48 PM
&gt; $ getconf PAGE_SIZE
&gt; 65536
Feb 06, 2023 (8 months ago)
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
04:33 AM
We use jemalloc and that only works well on 4096 page size. That's the default page size on most Linux distributions but I just realized that CentOS, RedHat, or Oracle Linux, set the default page size to 64k. Is it possible to change that to 4K (not sure if that's determined at kernel compile time)?
04:42
Kishore Nallan
04:42 AM
The longer term fix is to use a larger page size on the ARM build since Jemalloc supports a smaller run-time page size than the one used in compile time: https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4800

Can you please create a Github issue so we can track this build improvement?