Closed Legogris closed 1 year ago
Hi, The packages missing only for 7.0 and 7.6. The rest releases contains arm64 packages.
This is a known issue. Due to recent hardware failure in machines, we are unable to build packages for arm64. There is mail sent to community back in may - https://lists.gluster.org/pipermail/gluster-users/2020-May/038223.html
If you have resources and would like to volunteer in building packages, we are happy to help and can guide you through the process.
Hi @Sheetalpamecha,
Thanks for this update - I'll send you a message to see if I can help with resources.
I realise that this is a lazy question but the payoff is I may be able to help if I can understand what resources are required.
Are we talking arm64 native cores, virtualised, containerised? Disk/ram/network requirements?
I note from the release schedule that once v9 is released in December, v7.5 (the latest build available for arm64) will be EOL. Is this issue likely to be resolved by then? There are a lot of people running GlusterFS on Raspberry Pi (myself included!) and is would be good if we can remain on a maintained version.
Hi @Sheetalpamecha. Is there any update here? There are two possible offers of help above, and maybe I can make that 3 if I can understand what's required - the docs I've found aren't clear on how to build debian packages, just RPMs. Thanks!
@gloomytrousers what version of GlusterFS do you run on Raspberry Pi. the armhf packages are only version 5.5-3 Is there a repository for latest versions of GlusterFS on Rapsberry Pi?
@gloomytrousers what version of GlusterFS do you run on Raspberry Pi. the armhf packages are only version 5.5-3 Is there a repository for latest versions of GlusterFS on Rapsberry Pi?
32-bit hasn't been supported in a long, long time by now. If you run 64 bit linux kernel and userspace you usually have it in distro repos.
@gloomytrousers what version of GlusterFS do you run on Raspberry Pi. the armhf packages are only version 5.5-3 Is there a repository for latest versions of GlusterFS on Rapsberry Pi?
32-bit hasn't been supported in a long, long time by now. If you run 64 bit linux kernel and userspace you usually have it in distro repos.
I figured raspbian testing sources have armhf gluster 8.3-1 included
@gloomytrousers what version of GlusterFS do you run on Raspberry Pi. the armhf packages are only version 5.5-3 Is there a repository for latest versions of GlusterFS on Rapsberry Pi?
@nheine there are packages for arm64 up to v7.5 on https://download.gluster.org/pub/gluster/glusterfs/.
If you have resources and would like to volunteer in building packages, we are happy to help and can guide you through the process.
What hardware is required to build the arm64 packages?
I do arm64 builds on docker buildx
(just in github actions) for kadalu images.
Hi,
I did some exercises and my conclusions are:
1. RPI4 (Raspberry PI OS, Buster, patched, still 32bit) doesn't pass 'make' for 10dev, 9.1 and 9.0. For all branches it quits with the same error:
make[5]: Entering directory '/home/pi/glusterfs-v9.0/rpc/rpc-transport/socket/src' CC socket.lo In file included from ../../../../libglusterfs/src/glusterfs/dict.h:18, from ../../../../rpc/rpc-lib/src/rpc-transport.h:59, from socket.h:25, from socket.c:11: ../../../../libglusterfs/src/glusterfs/common-utils.h:33:44: error: missing binary operator before token "("
define __BITS_PER_LONG (CHAR_BIT * (sizeof(long)))
........................................................^ make[5]: *** [Makefile:557: socket.lo] Error 1
However, it passes 8.4 :-) Whether it 'works' or not I don't know yet.
Details:
uname -a: Linux mars 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux os-release: PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
2. My "Renegade" (https://www.armbian.com/renegade/) passes phase of 'make' in case of both dev10 and 9.1. Details below:
uname -a: Linux pluton 5.10.21-rockchip64 #21.02.3 SMP PREEMPT Mon Mar 8 01:05:08 UTC 2021 aarch64 GNU/Linux os-release: PRETTY_NAME="Armbian 21.02.3 Buster"
Bests, Dariusz
Thank you for your contributions. Noticed that this issue is not having any activity in last ~6 months! We are marking this issue as stale because it has not had recent activity. It will be closed in 2 weeks if no one responds with a comment here.
Still required please!
The "missing binary operator" error above is due to trying to define a macro using "sizeof", which the compiler understands, but the preprocessor doesn't (so you can't use sizeof in a macro). The line before checks if BITS_PER_LONG is defined, so if BITS_PER_LONG is already defined, it compiles, otherwise it fails. If I replace the "sizeof(long)" with "4" (not a general solution, as sizeof(long) isn't guaranteed to be 4, but for compilation on 32-bit arm it will be), then it fails later on with:
In file included from event.c:19:0: glusterfs/gf-event.h:140:0: error: unterminated argument list invoking macro "__gf_static_assert"
endif / _GF_EVENTH /
^ In file included from event.c:20:0: glusterfs/timespec.h:21:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘void’ void ^ event.c: In function ‘gf_event_pool_new’: event.c:34:5: error: invalid use of undefined type ‘struct event_ops’ event_pool = event_ops_epoll.new(count, eventthreadcount); ^ event.c:37:19: error: dereferencing pointer to incomplete type ‘struct event_pool’ event_pool->ops = &event_ops_epoll; ^ event.c:45:9: error: invalid use of undefined type ‘struct event_ops’ event_pool = event_ops_poll.new(count, eventthreadcount); ^ event.c: In function ‘poller_destroy_handler’: event.c:171:21: error: dereferencing pointer to incomplete type ‘struct event_destroy_data’ readfd = destroy->readfd; ^ event.c:180:5: error: implicit declaration of function ‘gf_event_handled’ [-Werror=implicit-function-declaration] gf_event_handled(destroy->pool, fd, idx, gen); ^ event.c: In function ‘gf_event_dispatch_destroy’: event.c:206:12: error: variable ‘data’ has initializer but incomplete type struct event_destroy_data data = { ^ event.c:207:9: warning: excess elements in struct initializer 0, ^ event.c:207:9: note: (near initialization for ‘data’) event.c:206:31: error: storage size of ‘data’ isn’t known struct event_destroy_data data = { ^ cc1: some warnings being treated as errors Makefile:1069: recipe for target 'libglusterfs_la-event.lo' failed
This is on a Pi2 running Ubuntu 16.04.
Really in my case all it comes down to is that I'm in need of a machine to act as a thin arbiter, and the Pi in question happens to be better suited to the role than anything else available (mostly in that it's serving a role that already has it up 24/7). The trouble getting gluster compiled means I'll probably find something else to install it on, but just as a bit of feedback, even if the architecture options for the main gluster packages are going to be limited, it might pay to have a separate package specifically for the thin-arbiter use case with broader availability: As far as I understand, a big part of the point of a TA is that it places minimal demands on the arbiter, so it's the part of the whole system that people are most likely to try to run on a potato.
EDIT: How dependent is gluster on everything involved running the same version? This is mostly a learning exercise for me, there's nothing critical being stored. Could the thin arbiter be running a few versions back from the main cluster?
Thank you for your contributions. Noticed that this issue is not having any activity in last ~6 months! We are marking this issue as stale because it has not had recent activity. It will be closed in 2 weeks if no one responds with a comment here.
Thank you for your contributions. Noticed that this issue is not having any activity in last ~6 months! We are marking this issue as stale because it has not had recent activity. It will be closed in 2 weeks if no one responds with a comment here.
As debian is the source repo for raspberry-pi and they're arm, I imagine there is still a desire for this (myself included).
I've done some limited testing and using buildx with emulation seems to work. It did take just shy of 3 hours (like 2:40) to build 10.3 on a spare system I have running. I imagine https://github.com/gluster/glusterfs/issues/1301#issuecomment-775885796 is probably a valid solution?
Closing this issue as there was no update since my last update on issue. If this is an issue which is still valid, feel free to open it.
Hi @Sheetalpamecha What would be needed to support the arm64 builds?
Starting with 7.0, there are no arm64 packages in the PPA for glusterfs: https://download.gluster.org/pub/gluster/glusterfs/7/LATEST/Debian/10/arm64/apt/