-
Notifications
You must be signed in to change notification settings - Fork 407
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
Bug: can't build on Debian 12 with dynamic linking due to undefined reference to ZSTD_*
#1001
Comments
undefined reference to
ZSTD_*`undefined reference to ZSTD_*
That's weird, it did work on my machine the last time I tried. And I also have Qubes, so the system should be practically identical. But looks like I built 0.10.0. Could you try to build that one? |
Thanks for the reply! Tag
Tag
Tried |
Can you run |
Per the bisect logs below, it is b2760f3 the first bad commit. Ran: $ echo "#!/bin/sh
ROCKSDB_INCLUDE_DIR=/usr/include ROCKSDB_LIB_DIR=/usr/lib \
cargo build --release --locked --no-default-features" | tee /tmp/build-electrs.sh
$ chmod +x /tmp/build-electrs.sh
$ git bisect start v0.10.2 v0.10.1
$ git bisect run /tmp/build-electrs.sh
|
Just as a test, I did checkout the latest revision. Commits IDs for reference:
|
What the first bad commit b2760f3 and the recent good commit 6cf431e have in common is
The electrs tag Can you please bump the electrs version so I can checkout a newer tag instead of a commit? |
What the hell, how can shlex cause zstd not building?! |
|
It's used for parsing the |
Thanks for the information. If I can do more tests to narrow down, please let me know. I understood what you said about command parsing but I'm not familiar with Rust to debug this issue more deeply. |
Oh, I noticed |
The electrs master? I built from it: #1001 (comment) Commit 6cf431e with shlex 1.3.0 fixes the issue. |
Ah, cool, so releasing a new version should be enough @romanz |
https://crates.io/crates/electrs/0.10.3 is released. |
# /home/user/build-electrs.sh
ROCKSDB_INCLUDE_DIR=/usr/include ROCKSDB_LIB_DIR=/usr/lib cargo build --locked --release --no-default-features Thank you very much. At first,
I decided to give
So, I did in the following order builds for
So at that moment I as unsure if After the dynamic build failed, I did So I decided to do the same with
I think the errors are reproducible this way, if you have a Debian 12 machine you can try. After all, it is a lack of cleaning, mistake on my part. Can cleaning be documented in the install guide? It was probably a silly mistake to not clean the directory, but I didn't think of doing it until I did |
Oh, my guess is |
@ben-grande Many thanks for the detailed analysis of this issue!
Sure! Could you please open a PR? |
Describe the bug
I can't build electrs dynamically linking to rocksdb available from Debian.
Electrs version
Which version of
electrs
do you use? Please try to use newest version if possible.If it's not the newest version why you can't try the newest one?
Tag v0.10.2.
To Reproduce
Follow the install guide to install the dependencies:
Check the version of the installed dependencies:
Use rocksdb from Debian, not built from source.
Try to build dynamically linking to rocksdb on amd64:
Expected behavior
Build succeeds.
System running electrs
Qubes R4.2, Debian 12 Template.
Additional context
Statically linking works.
The text was updated successfully, but these errors were encountered: