Amanda-Users

Re: compile fail on Soalris 10 X86/AMD64

2006-02-22 16:22:18
Subject: Re: compile fail on Soalris 10 X86/AMD64
From: Jon LaBadie <jon AT jgcomp DOT com>
To: amanda users list <amanda-users AT amanda DOT org>
Date: Wed, 22 Feb 2006 16:17:42 -0500

I read the list, no need to send me a second copy.



On Wed, Feb 22, 2006 at 04:00:30PM -0500, stan wrote:
> On Tue, Feb 21, 2006 at 10:33:54PM -0500, Jon LaBadie wrote:
> > 
> > The command "false" should have been "ar", the "archive" command used to
> > build and extract from libraries.  Likely you are running some release
> > of Sol 10 and I'm unfamiliar with that.  In Sol 9 x86 "ar" is found in
> > /usr/xpg4/bin and in /usr/ccs/bin.
> > 
> > A guess, when you ran configure the directory containing ar was not in your
> > PATH, configure couldn't find ar and thus used the false command instead.
> > Your Makefile probably contains a line like   AR = /usr/bin/false  .
> > 
> 
> Well, you seem to have diagnosed the problem coreclty, but perhaps not the
> cause, nor the corective action. A what for ar results in
> /usr/ccs/bin/what. so it _is_ in the path. But the generateMakefile does
> look as you suppose.
> 
> Any idea how to overide this incorect behavior of cofnigure?

I don't know what "what" is except an old SCCS command that is in /usr/ccs/bin.

Do you mean "whereis" finds ar?  That is not definitive, whereis has some
hardcoded places to look.  For example:

  $ whereis ar
  ar: /usr/ccs/bin/ar /usr/include/ar.h
  $ ar
  usage: ar -d[-vV] archive file ...
       ar -m[-abivV] [posname] archive file ...
       ar -p[-vV][-s] archive [file ...]
       ar -q[-cuvV] [-abi] [posname] [file ...]
       ar -r[-cuvV] [-abi] [posname] [file ...]
       ar -t[-vV][-s] archive [file ...]
       ar -x[-vV][-sCT] archive [file ...]
  $ 

with the correct PATH whereis finds ar and the shell does also

But if I change my PATH:

  $ PATH=/usr/bin:/usr/ucb
  $ whereis ar
  ar: /usr/ccs/bin/ar /usr/include/ar.h
  $ ar
  ksh: ar: not found [No such file or directory]
  $

whereis still finds ar, but the shell (and configure)
does not.


For a workaround, edit your makefiles (plural), change
AR = false to AR = /usr/ccs/bin/ar.  Probably will work.

Or clean up your source tree (make distclean) and redo
the configure/build with the PATH set properly.

If you still feel the PATH was set properly, but ar was
not found for other reasons, set an environment variable,
AR, to properly point to it.  This can be combined with
the configure step by putting the assignment before the
command:

  AR=/usr/ccs/bin/ar  ./configure  <whateverelseyouneed>


-- 
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)