Amanda-Users

Re: Solaris 8 compile problem with amanda 2.4.4

2003-06-23 11:01:53
Subject: Re: Solaris 8 compile problem with amanda 2.4.4
From: Jon LaBadie <jon AT jgcomp DOT com>
To: amanda-users <amanda-users AT amanda DOT org>
Date: Mon, 23 Jun 2003 10:59:30 -0400
On Mon, Jun 23, 2003 at 02:20:02PM +0100, Jim Mozley wrote:
> *This message was transferred with a trial version of CommuniGate(tm) Pro*
> Jim,
> 
> > I may have missed some of the things already tried, but I was wondering
> > if the logged in user also has the LD_LIBRARY_PATH set accurately?
> >
> > Seems that has gotten me once or twice.
> 
> Has got me before too.
> 
> However, I have set this during the compile and have done this when I run
> amcheck (both as root and the amanda user - the paranoia is beginning to get
> to me).

The line below, quoted from one of your earlier messages, should make the
setting of LD_LIBRARY_PATH superfluous.

>> CFLAGS="-L/usr/local/lib -L/usr/lib" LDFLAGS="-R/usr/local/lib"

Both are ld(1) options and could be listed as LDFLAGS though it would
not affect much as gcc passes any -L options on to ld.  I would hope
the inclusion of /usr/lib is unneeded.  Any compiler/linker worth its
salt on unix would be looking there as a default.

Does Sol 8 on sparc include the crle command?  Running this should tell
you (and let you modify) what lib directories are looked at at runtime
without a need to set LD_LIBRARY_PATH.  I don't think it affects the
compile/link, just the runtime dynamic linker.  Here is a sample output:

$ crle

Configuration file [3]: /var/ld/ld.config  
  Default Library Path (ELF):   
/usr/lib:/usr/sfw/lib:/opt/sfw/lib:/usr/local/lib
  Trusted Directories (ELF):    /usr/lib/secure  (system default)

Command line:
  crle -c /var/ld/ld.config -l /usr/lib:/usr/sfw/lib:/opt/sfw/lib:/usr/local/lib


That is modified from the default by the inclusion of /usr/local/lib and
probably the "sfw/lib" dirs.  The -R option is the used to specify lib dirs
specific to an executable (like X window system libs for X programs).  The
-R puts the lib dir location into the executable.  These techniques are
generally considered more secure than using LD_LIBRARY_PATH and some nasty
person could point to a libdir with "trojan horse functions" like a funky
printf, or amanda's get_disklist_entry function :).


Two obscure possible ideas.

1. try "file /usr/local/lib/libgcc_s*".  Are they Sparc modules?  Every once in
   a while I put a Sparc module on my x86 systems.  Know what, they don't work 
:)
2. you have installed and uninstalled several times.  Might you have two 
competing
   amanda installations and the amcheck you are running is not the newly built 
one?

-- 
Jon H. LaBadie                  jon AT jgcomp DOT com
 JG Computing
 4455 Province Line Road        (609) 252-0159
 Princeton, NJ  08540-4322      (609) 683-7220 (fax)