-
Notifications
You must be signed in to change notification settings - Fork 178
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
execute db_bench end up with "no such file or directory" error [JIRA: RIAK-2492] #190
Comments
Please help me, why is this a leveldb issue? |
oh, db_bench ... I was thinking about Basho's basho_bench. Brain dead on my end. |
@milesxu if you run "make check", do the leveldb unit tests run successfully? |
@paulplace |
By the way, Arch Linux is different with Ubuntu, it has no static snapyy library. So I downloaded snappy and compile it to get |
@milesxu It may be that you have a disconnect between the toolset you're using to build db_bench and the interpreter linux is using to load db_bench, which is usually ld-linux.so.2. If the interpreter referenced by db_bench is not found, then you get the error you saw. Please run the command "readelf -l db_bench" and look for a line containing "INTERP", which will tell you the interpreter being requested in the db_bench ELF header. For more information about the linux interpreter, see the article http://www.cs.virginia.edu/~dww4s/articles/ld_linux.html Also check that the interpreter specified in the ELF header is found on your system. If the toolset used to compile libsnappy.a is different from the toolset used to compile/link db_bench, that would also cause a problem (although I would expect that to result in a linker error). |
@paulplace Thanks, I have run |
@milesxu I'm glad to hear that you're making progress. Please post the build_config.mk files from the google and basho builds of leveldb, so that I can look at how the two build environments are configured. |
@paulplace sorry for reply so late. Then contents of same file in leveldb: |
@milesxu Both versions of leveldb (google's and basho's) are using the GNU toolsets, so the issue is likely due to the command line options being passed to the linker. We haven't seen this issue on any of our supported platforms. If you want to continue diagnosing the issue, the next step would be for you to delete db_bench and rebuild (both basho and google versions) and post the make output here. |
@paulplace thank you very much! So may be it's some problems of my own system. The outputs of make are listed below: make basho: |
@milesxu According to this info (https://wiki.debian.org/Multiarch/LibraryPathOverview), /lib/ld64.so.1 is the ELF interpreter to use when building something to run on s390. I have no idea how g++/ld decided to set that as the ELF interpreter when linking the basho version of db_bench. I have never seen this on any platform that we currently support, and I have no way of reproducing it. My best guess is that there is some configuration issue in the gcc toolset on the system where you're building. Please update this bug if you gather any more information that might be pertinent to this issue. |
@paulplace Thank you! I will. |
I use
make db_bench
to get thedb_bench
in the root directory, which has no error.But when I try to run it, the bash shell always complains
no such file or directory
error. I have tried but cannot solve this problem.basho leveldb version: 2.0.17 or the latest develop branch
enviroment: Arch Linux x86_64
the result of
file ./db_bench
:./db_bench: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, for GNU/Linux 2.6.32, BuildID[sha1]=6355428a499e98252c61fc3d284a3aca757f7fba, not stripped
the result of
ldd ./db_bench
:/usr/bin/ldd: line 117: ./db_bench: no such file or directory
The text was updated successfully, but these errors were encountered: