-
Notifications
You must be signed in to change notification settings - Fork 578
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build on Raspberry Pi 4 fails #240
Comments
Hi all, commented that line and keydb has built successfully. Everything seems to work, hopefully there won't be any side effects. Would be nice though if this issue could be fixed. Thanks! |
Hey @Talkabout my rPi CI system broke after a move and I’ve been using this bug to also track getting it up and running again. I don’t think you’ll have issues commenting out the line but do run “make test” to ensure your build is clean. |
Hi @JohnSully , I ran "make test" with following result: !!! WARNING The following tests failed: *** [err]: Make the old master a replica of the new one and check conditions in tests/integration/psync2-pingoff.tcl Is this error related to that line? If not, do I need to worry? Thanks! Bye |
On a different RPI "make test" showed the following results: !!! WARNING The following tests failed: *** [err]: Connect a replica to the master instance (commands replication) in tests/unit/scripting.tcl Something to worry about? Thanks! |
These could be timing related failures due to the limited cpu power. Are you running on an rPi 4? |
Yes, both these are rPi 4, but with some other processes running also, that consume some CPU (Unbound, Freeradius, Apache, Nginx...) |
I will get my rPis back up and validate. I remember I also had to reduce the number of test clients to make them more reliable. Something like ./runtest —clients 2 Since your failures are timing related I’m not immediately worried ARM is broken except the line you fixed, but I should be able to give a firm answer shortly. |
Thanks @JohnSully! Will keep keydb running, currently I am not seeing any issues. |
The issue is that the default integer sizes for 32-bit (Raspbian is 32-bit) are smaller than x86_64. See the following snippet I hashed out to get it working locally:
I don't think it is tidy enough for a pull request, but you should be able to get the idea. |
@b-hyl I’m probably just going to do <= here instead of ifdefs. However the main blocker is getting the CI pipeline back up. If it weren’t for the rPi I’d just deprecate 32-bit altogether. |
Yes, understood. PLEASE do not deprecate it yet. I hope that Raspbian 64 bit will be stable enough soon so I can migrate, but this seems to be still risky. I am using KeyDB on 2 rPis as Unbound backend (to avoid duplicate queries for a domain) and it works really great. I really wouldn't want this to get lost :) |
@Talkabout don’t worry I won’t deprecate the rPi. If 64-bit pis become standard and common I may start pushing in that direction. But regardless the Pi as a platform will be supported. Right now 64-bit rPis are an oddity and I won’t force people down that rabbit hole. |
@JohnSully great to read that! KeyDB is really a great piece of software! Keep up the good work! |
+1 for keeping 32-bit support for embedded devices. Upstream Redis seems to be keeping it around for the foreseeable too. |
Fixed in #343. |
* Overload CPU reading metric * fix * fix
Describe the bug
Building on Raspberry Pi 4 fails
** Log Files **
In file included from server.cpp:31:
server.h:831:35: error: static assertion failed: object size is critical, don't increase
static_assert(sizeof(redisObject) == 16, "object size is critical, don't increase");
To Reproduce
Quite easy, simply checkout tag 6.0.16 and try to build it.
Bye
The text was updated successfully, but these errors were encountered: