I am trying to install a software "W" which requires some non standard packages like "XYZ". I am installing XYZ as instructed in the related site using the following commands

./configure -C
make install

after installation of XYZ, I use the following commands to install W (as suggested in the related site):

env PKG_CONFIG_PATH="installation path for XYZ/lib/pkgconfig" cmake 

however I get usr/bin/ld cannot find -lXYZ.
I have also tried the following, which returned the same results:

export LD_LIBRARY_PATH="installation path for XYZ/lib"

when I am checking the library list associated with LD_LIBRARY_PATH I see something like the following results:

................. libXYZ.la
................. libXYZ.so -> libXYZ.so.1.5.3
................. libXYZ.so.1 -> libXYZ.so.1.5.3
................. libXYZ.so.1.5.3
................. pkgconfig

where ....... are some info like date and other things
Does this problem is caused due to the version number of libraries or what? how can i solve it?

  • 1
    I'd start by examining the output of cmake and/or the CMakeCache.txt file to see what location (if any) was cached for the library. (I'm hazy on the details of how Cmake works, however it has its own rules for finding packages that may or may not involve pkg-config.) – steeldriver Dec 28 '18 at 18:22
  • @steeldriver i cheked it seems to be allright, however, i slightly summerized the quession in fact there are some packeges like xyz, tuv, mln, that are reqiured for W. However some of their libraries are also defined in the others for example xyz/lib has libxyz libtuv,.... can this be the cause of problem? – oscarali Dec 28 '18 at 18:51
  • 1
    Can you try with export LIBRARY_PATH="installation path for XYZ/lib". – Thomas Dec 28 '18 at 18:53
  • @Thomas yes it did! Thanks it realy made me misreable during the past week! But how? What is difference? And also i have read library_path and ld-path are not good choices especially library path – oscarali Dec 28 '18 at 19:12
  • Basically LIBRARY_PATH is used during linking, LD_LIBRARY_PATH is used during runtime. But you will find enough resources with a search engine of your choice. Not sure why that should be considered not good. It would be better if the configure step would provide such... – Thomas Dec 28 '18 at 19:26

Your Answer

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

Browse other questions tagged or ask your own question.