-
Notifications
You must be signed in to change notification settings - Fork 603
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
Symbol lookup error with precompiled binaries #24944
Comments
@mdorier thanks for the report. we primarily see ubuntu and rhel, so this may due to testing gap. i think it should be easy to fix this i'll report back. |
@mdorier can you clarify how you installed the Redpanda? Was it using the .rpm we provide? |
FWIW using a SLES 15 SP5 container I was able to install the .rpm using The redpanda binary in Note that redpanda hard-codes the ELF interpreter path to |
Ok I have fixed the problem (got another problem though, but this particular symbol linking problem is fixed). For reference here is an explanation of what I'm doing: I have noticed indeed that the binaries are supposed to go in /opt. However because I can't do that (no admin privileges), I did the following:
This allowed redpanda to work on my Ubuntu 24.04 ARM64 machine. Without this I would get link errors caused by redpanda picking up the machine's system libraries instead of its own (I don't remember exactly the error but I believe it was coming from libc.so). However doing the exact same on the SLES machine wasn't working, and was giving me the link error with libdl.so.2. I checked right now and on my Ubuntu, indeed, none of the libraries depend on libdl.so.2. On my SLES machine however, where I do the same tricks, all the libraries show a dependency to libdl.so.2. It also showed a dependency on a random .so file that I didn't know about, located in a strange path (/soft/xalt/3.0.2-202408282050/lib64/libxalt_init.so), and I figured out that this was the library asking for libdl.so, and it was coming from LD_PRELOAD set by the admins of the machine. Unsetting LD_PRELOAD before running redpanda made the problem disappear. Now I have this problem:
I've seen this problem being discussed on some other issues, with the solution being to change Feel free to close the issue. |
@mdorier thanks for the details! You could also consider running Redpanda in a container (assuming you can do that) which avoids the need to patch the binaries to reset the interpreter path. |
Yes, though I would need to convert the redpanda image into an Apptainer image as I cannot run Docker (again, privilege issues). This would have been my next step, had I not found the cause of the libdl.so issue. |
@mdorier wrote:
... the error message doesn't mention it, but you can also reduce demand for aio slots using the The downside is that you can only support about that many connections efficiently (modulo a factor or 2 or so) per shard, so if you need more than a few hundred connections (per shard) things would slow down a lot. |
Version & Environment
Redpanda version: (use
rpk version
): 24.2.7Operating system: SUSE Linux Enterprise Server 15 SP5
What went wrong?
Trying to run the pre-compiled binaries for amd64 on this machine gives the following error:
My understanding is that the release binaries include the libraries it depends on, and
bin/redpanda
setsLD_LIBRARY_PATH
before runninglibexec/redpanda
to pick up the right library. However, the archive doesn't shiplibdl.so.2
, so on my system it picks up the one in/lib64
, which must be a different version.JIRA Link: CORE-8920
The text was updated successfully, but these errors were encountered: