bottom
bottom copied to clipboard
Can't install on Amazon Linux arm64 instances.
Describe the issue
There are aarch64 releases here on github but when installing the repo on an arm64 system it does not work.
Here is the output when I try and enable the repo and install bottom
on an amazon arm64 t4g.nano
instance running Amazon Linux 2
.
[ec2-user@<redacted> ~]$ sudo yum-config-manager --add-repo https://pkgs.tailscale.com/stable/amazon-linux/2/tailscale.repo
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
adding repo from: https://pkgs.tailscale.com/stable/amazon-linux/2/tailscale.repo
grabbing file https://pkgs.tailscale.com/stable/amazon-linux/2/tailscale.repo to /etc/yum.repos.d/tailscale.repo
repo saved to /etc/yum.repos.d/tailscale.repo
[ec2-user@<redacted> ~]$ sudo yum -y copr enable atim/bottom
Loaded plugins: copr, extras_suggestions, langpacks, priorities, update-motd
copr done
[ec2-user@<redacted> ~]$ sudo yum -y install bottom
Loaded plugins: copr, extras_suggestions, langpacks, priorities, update-motd
https://download.copr.fedorainfracloud.org/results/atim/bottom/epel-8-aarch64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
tailscale-stable/aarch64/signature | 800 B 00:00:00
tailscale-stable/aarch64/signature | 2.9 kB 00:00:00 !!!
No package bottom available.
Error: Nothing to do
Running the same set of commands on an amd64 instance runs/installs as expected.
I don't handle any repos/mirrors other than Chocolatey anymore (EDIT: and cargo) so I'm not really sure what's going on, unfortunately. Might have to contact the package maintainer.
Judging from the commit history that should be @tim77?
Yeah, looks like it.
Note I don't know how Fedora/COPR expects people to contact package maintainers for stuff like this (I only have experience with this stuff in AUR), you might also have luck asking them through the package page: https://copr.fedorainfracloud.org/coprs/atim/bottom/
Thanks for reporting. Now aarch64
builds available for recent Fedora/RHEL/CentOS.
Thanks for the quick turn around @tim77 🚀
@ClementTsang I tried installing it again but there seems to be a dependency issue with glib and as far as know glib version isn't something that can just be easily upgraded?
[ec2-user@<redacted> ~]$ sudo yum install bottom
Loaded plugins: copr, extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package bottom.aarch64 0:0.6.8-1.el8 will be installed
--> Processing Dependency: libc.so.6(GLIBC_2.28)(64bit) for package: bottom-0.6.8-1.el8.aarch64
--> Finished Dependency Resolution
Error: Package: bottom-0.6.8-1.el8.aarch64 (copr:copr.fedorainfracloud.org:atim:bottom)
Requires: libc.so.6(GLIBC_2.28)(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
[ec2-user@<redacted> ~]$ sudo yum install glibc
Loaded plugins: copr, extras_suggestions, langpacks, priorities, update-motd
Package glibc-2.26-58.amzn2.aarch64 already installed and latest version
Nothing to do
Also I'm not sure why this is only an issue on aarch64 and not amd64 since they are both stuck on glibc 2.26.x?
This also seems more like a question for the package maintainer for copr, not really sure how much I can help here. They mentioned they only have aarch64 packages for recent versions of Feodra/RHEL/CentOS - is that why? (again unfortunately I'm not too familiar with how the copr ecosystem works, sorry!)
FWIW I have also had distribution problems regarding glibc version, but I usually get around it by building my binary on older versions of Linux or using musl.
Ah yes you are correct, I didn't notice that the EPEL 7 version is still amd64 only. 😅https://copr.fedorainfracloud.org/coprs/atim/bottom/
I'm running into the same issue running on Amazon Linux on an x86_x64 platform, so this issue isn't specific to arm64 instances.
I've confirmed that libc.so.6 is indeed installed - yet the installation process still fails.
I can understand you want to have us going to the team responsible for copr to get this issue resolved, but I would also have to think you would want people that are interested in installing your application to be successful without making it their problem to solve. From my perspective, at the end of the day, it's a dependency on using copr (and DNF instead of simply supporting yum) that makes this an issue.
Plus, there's also a matter of you being the package developer vs us being just run-of-the-mill users. The copr team is far more likely to take your request seriously vs our requests which would just get lost in the noise.
You might see it differently. If I were in your shoes, I'd be reaching out to the copr team on your user's behalf - but that's just me.
Amazon Linux does not support using DNF. I was able to install support for copr:
[root@awsec2host ec2user]# yum install yum-plugin-copr
Loaded plugins: copr, extras_suggestions, langpacks, priorities, update-motd
Package yum-plugin-copr-1.1.31-46.amzn2.0.1.noarch already installed and latest version
Nothing to do
[root@awsec2host ec2user]# yum copr enable atim/bottom -y
Loaded plugins: copr, extras_suggestions, langpacks, priorities, update-motd
copr done
Check for the presence of the bottom package:
[root@awsec2host ec2user]# yum search bottom
Loaded plugins: copr, extras_suggestions,ec langpacks, priorities, update-motd
copr:copr.fedorainfracloud.org:atim:bottom | 3.3 kB 00:00:00
copr:copr.fedorainfracloud.org:atim:bottom/x86_64/primary_db | 2.6 kB 00:00:00
bottom.x86_64 : Yet another cross-platform graphical process/system monitor
gnome-shell-extension-window-list.noarch : Display a window list at the bottom of the screen in GNOME Shell
Name and summary matches only, use "search all" for everything.
Attempt to install bottom:
[root@awsec2host ec2user]# yum install bottom
Loaded plugins: copr, extras_suggestions, langpacks, priorities, update-motd
Resolving Dependencies
--> Running transaction check
---> Package bottom.x86_64 0:0.6.8-1.el9 will be installed
--> Processing Dependency: libm.so.6(GLIBC_2.29)(64bit) for package: bottom-0.6.8-1.el9.x86_64
--> Processing Dependency: libc.so.6(GLIBC_2.34)(64bit) for package: bottom-0.6.8-1.el9.x86_64
--> Finished Dependency Resolution
Error: Package: bottom-0.6.8-1.el9.x86_64 (copr:copr.fedorainfracloud.org:atim:bottom)
Requires: libm.so.6(GLIBC_2.29)(64bit)
Error: Package: bottom-0.6.8-1.el9.x86_64 (copr:copr.fedorainfracloud.org:atim:bottom)
Requires: libc.so.6(GLIBC_2.34)(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Then I checked to see what package(s) provide libc.so.6:
[root@awsec2host ec2user]# yum install glibc
Loaded plugins: copr, extras_suggestions, langpacks, priorities, update-motd
Package glibc-2.26-58.amzn2.x86_64 already installed and latest version
Nothing to do
The glibc package is already installed, so I also installed glibc-devel:
[root@awsec2host ec2user]# yum install glibc-devel
Loaded plugins: copr, extras_suggestions, langpacks, priorities, update-motd
Resolving Dependencies
--> Running transaction check
---> Package glibc-devel.x86_64 0:2.26-58.amzn2 will be installed
--> Processing Dependency: glibc-headers = 2.26-58.amzn2 for package: glibc-devel-2.26-58.amzn2.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.26-58.amzn2.x86_64
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.26-58.amzn2 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
Package Arch Version Repository Size
Installing:
glibc-devel x86_64 2.26-58.amzn2 amzn2-core 994 k
Installing for dependencies:
glibc-headers x86_64 2.26-58.amzn2 amzn2-core 514 k
Transaction Summary
Install 1 Package (+1 Dependent package)
Total download size: 1.5 M
Installed size: 3.3 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): glibc-headers-2.26-58.amzn2.x86_64.rpm | 514 kB 00:00:00
(2/2): glibc-devel-2.26-58.amzn2.x86_64.rpm | 994 kB 00:00:00
Total 9.1 MB/s | 1.5 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : glibc-headers-2.26-58.amzn2.x86_64 1/2
Installing : glibc-devel-2.26-58.amzn2.x86_64 2/2
Verifying : glibc-headers-2.26-58.amzn2.x86_64 1/2
Verifying : glibc-devel-2.26-58.amzn2.x86_64 2/2
Installed:
glibc-devel.x86_64 0:2.26-58.amzn2
Dependency Installed:
glibc-headers.x86_64 0:2.26-58.amzn2
Complete!
Even searching for the presence of libc.so.6:
[root@awsec2host ec2user]# locate libc.so.6
/usr/lib64/libc.so.6
I tried running rpm -Va --nofiles --nodigest - that didn't help.
I also tried using the skip-broken option:
[root@awsec2host lib]# yum install bottom --skip-broken
Loaded plugins: copr, extras_suggestions, langpacks, priorities, update-motd
Resolving Dependencies
--> Running transaction check
---> Package bottom.x86_64 0:0.6.8-1.el9 will be installed
--> Processing Dependency: libm.so.6(GLIBC_2.29)(64bit) for package: bottom-0.6.8-1.el9.x86_64
--> Processing Dependency: libc.so.6(GLIBC_2.34)(64bit) for package: bottom-0.6.8-1.el9.x86_64
copr:copr.fedorainfracloud.org:atim:bottom/x86_64/filelists_db | 1.1 kB 00:00:00
Packages skipped because of dependency problems:
bottom-0.6.8-1.el9.x86_64 from copr:copr.fedorainfracloud.org:atim:bottom
I'm sure I'm not alone in wanting to be able to use your awesome application. It would be really great if you would reach out to the copr team as the package developer and work to get this dependency issue resolved.
@tim77 sorry for pinging you again, but would it be possible to look at this?
@tim77 sorry for pinging you again, but would it be possible to look at this?
No need to apologize. I'll try to look at this as soon as i can. But some my quick thoughts: official Amazon docs said that we need to enable EPEL-7 repo for AL2. The problem is that the only EPEL Fedora repos support aarch64
(official EPEL repo), but Copr not. Copr support aarch64
builds only for EPEL-8 and newer.
Packaging bottom
for EPEL-7 is nearly impossible and requires a lot of resources due how Rust software packaged in Fedora/EPEL. Would be really great if Amazon Linux do not stuck in stone age and upgraded one day.
Interesting stuff to learn, thanks for the info.
Kinda just randomly throwing out an idea, but I guess one way (maybe?) to work around the glibc issues is just build for musl. However, I don't know how that would look in regards to packaging/distribution, or if that would be an acceptable solution.
No issues here installing bottom_aarch64-unknown-linux-gnu.tar.gz 0.6.8 on Amazon Linux 2, seems to work wonderfully :)