Home > Community > Forums > Custom IC Design > difference between LD_LIBRARY_PATH and PATH

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 difference between LD_LIBRARY_PATH and PATH 

Last post Tue, Jul 3 2012 12:14 PM by navi2582. 4 replies.
Started by navi2582 28 Jun 2012 06:00 PM. Topic has 4 replies and 2334 views
Page 1 of 1 (5 items)
Sort Posts:
  • Thu, Jun 28 2012 6:00 PM

    • navi2582
    • Top 500 Contributor
    • Joined on Tue, May 8 2012
    • Posts 26
    • Points 415
    difference between LD_LIBRARY_PATH and PATH Reply

    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

    • Post Points: 20
  • Thu, Jun 28 2012 6:16 PM

    • skillUser
    • Top 10 Contributor
    • Joined on Fri, Sep 19 2008
    • Austin, TX
    • Posts 2,586
    • Points 15,880
    Re: difference between LD_LIBRARY_PATH and PATH Reply

    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.

    • Post Points: 20
  • Mon, Jul 2 2012 3:39 PM

    • navi2582
    • Top 500 Contributor
    • Joined on Tue, May 8 2012
    • Posts 26
    • Points 415
    Re: difference between LD_LIBRARY_PATH and PATH Reply

    Thanks Lawrence!!

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

    :)

     Regards,

    Naveen

     

    • Post Points: 20
  • Mon, Jul 2 2012 3:50 PM

    • skillUser
    • Top 10 Contributor
    • Joined on Fri, Sep 19 2008
    • Austin, TX
    • Posts 2,586
    • Points 15,880
    Re: difference between LD_LIBRARY_PATH and PATH Reply

    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.

    • Post Points: 20
  • Tue, Jul 3 2012 12:14 PM

    • navi2582
    • Top 500 Contributor
    • Joined on Tue, May 8 2012
    • Posts 26
    • Points 415
    Re: difference between LD_LIBRARY_PATH and PATH Reply

    Yes. It did answer my question.

    Thank you.

    Regards,

    Naveen

    • Post Points: 5
Page 1 of 1 (5 items)
Sort Posts:
Started by navi2582 at 28 Jun 2012 06:00 PM. Topic has 4 replies.