Gcc - /Usr/Bin/Ld Error: Cannot Find in /Usr/Local/Lib Though Ldconfig List It, and Path Added to Ld. So. Conf

I try to compile a C++ code, using a library I've also compiled manually and installed in /usr/local/lib

The compilation of the software fails at the linking step:

 /usr/bin/ld: error: cannot find -lcppdb

it seems that g++ does not search by default in /usr/local/lib , same for clang++

 g++ -print-search-dirs # does not show /usr/local/lib

however the fact is /usr/local/lib is in my /etc/ld.so.conf and I did run ldconfig as root, and actually running ldconfig -p | grep cppdb shows me

libcppdb_sqlite3.so.0 (libc6) => /usr/local/lib/libcppdb_sqlite3.so.0
libcppdb_sqlite3.so (libc6) => /usr/local/lib/libcppdb_sqlite3.so
libcppdb.so.0 (libc6) => /usr/local/lib/libcppdb.so.0
libcppdb.so (libc6) => /usr/local/lib/libcppdb.so

adding the option -L/usr/local/lib of course solve the problem, but the goal is to use configuration files

2

3 Answers

ld, the linker, does not use external configuration files for that. ldconfig is for the loader, ld.so. Create a makefile if you want to set values for the linker somewhere.

2

Specifying -L switches in your makefile is a common way to deal with this problem, but you can actually make system-wide changes by modifying the default GCC spec file, which can be used to specify additional options to be passed to the compiler, linker, etc. I've done this in the past to address your specific problem, but it was a long time ago, so I can't give you a specific example, unfortunately.

  1. You can use linker script, and add '/usr/local/lib' to search_dir. see this Linker_Scripts to get more details.

  2. add /usr/local/lib to GCC_EXEC_PREFIX shell environment, and try it again. more details search print-search-dirs in "man" of g++.

just suggestion, it has not yet tried.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Alexander Ross

Alexander Ross

Gaming, Esports & Interactive Media Writer

Alexander Ross has covered the video game industry for a decade, writing deep dives on game design, esports tournaments, VR developments, and gaming culture.

Share this article
Twitter Facebook Pinterest