[torqueusers] pbs_server -t create can't find torque library

Lloyd Brown lloyd_brown at byu.edu
Mon Jul 21 13:03:00 MDT 2008


Garrick Staples wrote:
> On Mon, Jul 21, 2008 at 09:17:44AM -0600, Lloyd Brown alleged:
>> - Append or prepend to LD_LIBRARY_PATH variable - Note that since this
>> is environment instance specific, I wouldn't recommend it, except for
>> testing.  For example to make sure that's going to fix your problem (and
>> assuming you're using Bash shell), you could do this:
>>
>> export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
>> ldd /path/to/wherever/you/installed/pbs_server
> 
> Oh no!  Not the LD_LIBRARY_PATH advice.  LD_LIBRARY_PATH is eeevviilll.
> 
> http://xahlee.org/UnixResource_dir/_/ldpath.html
> 
> 
>> - Add the path (/usr/local/lib) either to /etc/ld.so.conf file, or to a
>> file in /etc/ld.so.conf.d/, then run "ldconfig" to update the path
>> cache, etc.  This is the recommended system-wide way of doing things.
> 
> 3rd option:  Set LD_RUN_PATH=/usr/local/lib and recompile.  The new binaries
> will have /usr/local/lib built in.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> torqueusers mailing list
> torqueusers at supercluster.org
> http://www.supercluster.org/mailman/listinfo/torqueusers



I'd have to disagree.  I agree that the way some
people/companies/software use LD_LIBRARY_PATH eeevviilll, but that
doesn't make it eeevviilll in and of itself.  It's just a tool, like any
other tool.  If it does the job, and you understand the correct way to
use it, it's just fine.  It's the only way I know of, for example, to
modify the run-time linking path in a way that's not system-wide, but
user-specific.

For example, we're testing a new OS image based on NPACI Rocks 5.0, and
we use a set of tools from Cisco called "mpi-selector", which maintains
a set of paths, etc. for the various MPI implementations we have
installed.  When you dig into it, it turns out to be a set of scripts
that are sourced at login that modify PATH, MANPATH, and
LD_LIBRARY_PATH.  This lets, for example, the system-wide default to be
OpenMPI with GNU compilers, but an individual user can choose to use any
combination of OpenMPI or MVAPICH or MPICH or even LAM (if we'd
installed either of those last two), and GNU, Intel, or PGI compilers,
etc.  It's great.  It gives our users a lot of freedom.

I do agree that in the OP's situation, the LD_LIBRARY_PATH is the wrong
approach, except perhaps to test and make sure it would work before
making the *right* move to use /etc/ld.so.conf or something.  That's how
I'd do it: test it using the variable, and then when it works make it
permanent using the /etc/ld.so.conf file.



-- 


Lloyd Brown
Systems Administrator
BYU Supercomputing Lab
http://marylou.byu.edu



More information about the torqueusers mailing list