Closed Morteza-M-Saber closed 6 years ago
Thanks for including the config.log.
It looks very similar to a known incompatibility between certain versions of binutils: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808205
If I had to guess, I think the root cause may be that the version of ld used to link /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/lib/../lib64/crt1.o
was newer than the version you're using to link kyotocabinet. It looks like that object is within a NixOS installation, so it might be that the ld from that Nix profile (likely a newer version) is being replaced by an earlier version by other things in your PATH. If you put /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin
or /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/usr/bin
first in your PATH, it might help?
I deleted everything in the PATH that could contain ld library and added /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin
to the PATH. But still get the same error.
Talking with computerCanada Admin it turned out the problem is due to following:
" There's something very weird about this "configure" script . When you load the gcc/5.4.0 module everything seems fine, you can do
[masih@gra-login4 kyotocabinet]$ which gcc
/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/gcc-5.4.0/bin/gcc
and you get the right gcc binary. However, in the config.log file we see that the script states,
configure:2341: checking for gcc
configure:2357: found /usr/bin/gcc
configure:2368: result: gcc
It looks as if somewhere in the configure script the author of this program has hard-coded the idea that executables should be in /usr/bin, which results in the program using the wrong gcc and the wrong ld (the linker), which is why nothing works.
After looking through the configure file I found the lines which were causing issues:
PATH=".:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:$PATH" CPATH=".:/usr/local/include:$CPATH" LIBRARY_PATH=".:/usr/local/lib:$LIBRARY_PATH" LD_LIBRARY_PATH=".:/usr/local/lib:$LD_LIBRARY_PATH" PKG_CONFIG_PATH=".:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" export PATH CPATH LIBRARY_PATH LD_LIBRARY_PATH PKG_CONFIG_PATH I commented out all of these lines and the configure script now runs correctly. The problem here is that the author of this file was modifying the environment to make it so that the PATH variable (and the gcc, ld etc.) were being superseded by versions in /usr/bin that don't work.
"You may want to tell the author of the tool to eventually excise these lines from the configure script so they don't create problems on other platforms by blindly imposing the toolchain found in /usr/bin.
Thanks for getting to the bottom of this! I think kyototycoon is unmaintained now, sadly, which is probably the core issue here. One of these days we will have to bite the bullet and switch over to a newer key-value DB.
I am trying to install Cactus on computer cluster and it keep returning the following error after running 'make':
Here is 'config.log':
I used GCC version 4,5,6 and 7. All returns the same error. I am not sure what is going wrong. Any solutions?