• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. difference between LD_LIBRARY_PATH and PATH

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 125
  • Views 16160
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

difference between LD_LIBRARY_PATH and PATH

navi2582
navi2582 over 13 years ago

Hello all,

Could anyone please help me undestand the functionality between LD_LIBRARY_PATH and PATH?

For example,

setenv INCISIVPATH ${INCISIVHOME}/tools/bin
setenv INCISIVLIB ${INCISIVHOME}/tools/lib

...

setenv LD_LIBRARY_PATH ${INCISIVLIB }:$LD_LIBRARY_PATH

setenv PATH ${INCISIVPATH}:$PATH

Is it interchangeable?

Thanks,

Naveen

  • Cancel
  • skillUser
    skillUser over 13 years ago

    Hi Naveen,

    I'm sure Google could have helped answer this, but here goes: PATH is the Unix search path for finding executables (and scripts), whereas the LD_LIBRARY_PATH is the search path for finding shared objects and dynamically linked libraries - some binaries do not have all of the code compiled into them, but instead they reference common library functions that are used by many different executables, they are shared.  Such binaries have "links" to the library functions or shared objects, but on each machine the libraries could be located in different places, so the LD_LIBRARY_PATH is used to specify where to find them.

    Hopefully what I've said here is correct, and hopefully it answers your question.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • navi2582
    navi2582 over 13 years ago

    Thanks Lawrence!!

    I probably should have asked like this, what is the difference between files from "<>/tools/bin/" to "<>/tools/lib/" ?

    :)

     Regards,

    Naveen

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 13 years ago

    Hi Naveen,

    The "bin" directory contains the binaries, or scripts, or links to such items, and the "lib" directory contains the shared object files that are common to various Cadence binaries (these are Cadence library functions/code, if you like, like the previous description of shared object and library files in the earlier note [perhaps some of these are not defined by Cadence, but shipped with the tools to ensure that they are present?] ).

    If you look at a specific file, you could use the "file" Unix/Linux command to 'test' what type of file it is, for example:

     file `cds_root cds_root`/tools/lib/libCdsXmotif.so.2.1
    -> <path>/tools/lib/libCdsXmotif.so.2.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
    
    

     The file command shows that the libCdsXmotif.so.2.1 file is a shared object file.

    Does this answer the question?

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • navi2582
    navi2582 over 13 years ago

    Yes. It did answer my question.

    Thank you.

    Regards,

    Naveen

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information