[MDBF-267] Build ARM tarballs Created: 2021-08-25  Updated: 2023-07-31  Resolved: 2023-07-31

Status: Closed
Project: MariaDB Foundation Development
Component/s: Buildbot
Affects Version/s: N/A
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Vicențiu Ciorbaru Assignee: Vlad Bogolin
Resolution: Fixed Votes: 1
Labels: buildbot, packaging
Remaining Estimate: 0d
Time Spent: 3d
Original Estimate: Not Specified

Issue Links:
Blocks
is blocked by MDBF-498 Build bintars for amd64 on buildbot.m... Closed
Relates
relates to MDEV-26265 bintars depend on dynamic libraries Closed

 Description   

Currently there are no tarballs being published for MariaDB Server for ARM64.

In order to do this we need to have a builder with all required libraries (systemd, libcap, zlib, etc.) compiled statically.

The current ldd list for 10.5 tarball on x86_64 is:
[vicentiu@Caladan bin]$ ldd mysqld
	linux-vdso.so.1 (0x00007ffc4175d000)
	libcrypt.so.1 => /usr/lib/libcrypt.so.1 (0x00007fafb87bf000)
	librt.so.1 => /usr/lib/librt.so.1 (0x00007fafb87b4000)
	libaio.so.1 => /usr/lib/libaio.so.1 (0x00007fafb87af000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fafb878e000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fafb8787000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fafb8571000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007fafb842b000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007fafb825f000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fafbac8d000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fafb8244000)

ARM should be as close as possible to this, ideally removing libaio as well.

Container probably needs to be CentOS 6 (oldest GLIBC distro that is still supported)



 Comments   
Comment by Vicențiu Ciorbaru [ 2021-08-25 ]

danblack This is the task that covers us releasing ARM tarballs with as many statically compiled system components as possible.

The goal of tarballs is for them to be as portable as possible on any system. The container that builds these tarballs needs to be the system that has the oldest possible glibc that is still maintained when we first publish these packages. Most likely CentOS 6's glibc version.

Comment by Daniel Black [ 2021-08-26 ]

Centos6 isn't supported any more surely. The highly colourful page https://c6eol.centos.org/ says so.

So you still want glibc dynamicly linked? Any reason why? A static linking of that too will provide a high level of optimizations that have been provided for arm64 over the years. If we do it that we we only need to support a minimum Linux kernel version (3.14?) or so based on some 10.5 commits I did in the very early cycle. (MDEV-16548)

If dynamic:

glibc-2.17 on centos7. I haven't exhaustively searched yet.

https://distrowatch.com/dwres.php?firstlist=debian&secondlist=centos&firstversions=4&secondversions=1&resource=compare-packages&view=major&refresh=Refresh

Comment by Martynas Bendorius [ 2022-07-20 ]

Any news on this? It seems it was planned in 2020: "The next MariaDB release will include additional binary tarballs for ARM distributions, in addition to the already existing RPM and DEB packages." (https://mariadb.org/arm-improvements-in-2020/)

Comment by Vicențiu Ciorbaru [ 2022-08-09 ]

Hi smtalk,

We didn't yet get arm tarballs packages done, however we have expanded the supported ARM rpm and deb packages.

It is still in the pipeline.

Comment by Vlad Bogolin [ 2023-07-31 ]

https://github.com/MariaDB/buildbot/pull/143

Generated at Thu Feb 08 03:36:39 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.