Closed nianzelee closed 3 years ago
Had the same problem with the binary in bin/abc after the update. ldd gives linux-vdso.so.1 (0x00007ffe41dab000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3b2dcf1000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3b2dceb000) libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3b2db0a000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3b2d9bb000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3b2d9a0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3b2d7ae000) /lib64/ld-linux-x86-64.so.2 (0x00007f3b2efbf000)
Am I missing something?
Do you mean you still encounter:
./abc: error while loading shared libraries: libreadline.so.8: cannot open shared object file: No such file or directory
As shown by ldd
, the updated binary does not depend on libreadline
now.
It is strange if you still got the same error.
I still have external dependencies. We have only an aged centos on those machines (usually due to infiniband dependencies). So we really need the binary without any dynamically linked libraries. Sorry about that.
I still have external dependencies. We have only an aged centos on those machines (usually due to infiniband dependencies). So we really need the binary without any dynamically linked libraries. Sorry about that.
No need to say sorry. We very much appreciate your effort in organizing the competition, and we definitely want to make it easier for you to run our solver. It is just that we have never tried to compile abc
without any dynamic libraries before, so it might take some time to figure out how to do it properly. Will get back to you once the problem is fixed.
The latest commit should fix the issue, now running ldd on my side give
Not a dynamic executable
Feel free to reopen the issue there’s still anything wrong.
Not on my laptop.
On commit 682c9e7 I still get the following dynamic dependencies with ldd bin/abc
linux-vdso.so.1 (0x00007ffef31d3000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5eb7428000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5eb7422000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5eb7241000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5eb70f2000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f5eb70d7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5eb6ee5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5eb86ee000)```
Ah, you put the binary at the wrong place.
I will move abc
to bin/abc
.
@daajoe Could you please have a look at commit 3fb473c? The updated binary does not have any dynamic dependency. If it works on your side, I will also update the files on StarExec.
@haorenW1025 Thanks for the work. I was about to push the same fix actually. Let's sync next time before we start to work. Otherwise, it is a waste of our time. Let's keep this issue open as a record before Johannes replies.
The competition organizers ran into the following problem caused by
libreadline
:It can be solved by compiling
abc
withoutlibreadline
, or without any dynamic libraries.@haorenW1025 has already committed the former solution. For the latter, we may need to change the Makefile of
abc
, to use options suggested by Johannes.The files on StarExec have not been updated yet.