>The production tape server machine is running Solaris2.6 and doesn't have
>all of the marbles necessary (well it's missing lex at least) to configure
>the Makefile.  At this point, installing lex on the 2.6 box isn't an
>option.

Why?  It's not privileged in any way, so you don't have to install
it in any official place.  Just build flex with prefix set to (e.g.)
$HOME/flex, then make sure $HOME/flex/bin is in your PATH when you run
the ./configure for Amanda and it will find and use it from there.

Are you sure /usr/ccs/bin/lex doesn't exist on the 2.6 system?  Sun puts
it in a very odd spot, although if you found it on 2.8 you probably
already know that.

You might even do some serious cheating and drag the 2.8 version of lex
over to the 2.6 machine in your PATH, but it might require some other
files (I don't remember).

As Olivier said, no way would I try to build Amanda on a more recent OS
version (of any type) and take it back to a previous version.  You are
just asking for trouble (shared library versions, in particular).

Another possibility is to build Amanda on the 2.8 system, run "make
clean" there, then take that source tree over to the 2.6 system (use
something like tar so the modification times stay the same) and try
the build there.  I don't think "make clean" will remove the .c files
lex/flex and yacc/bison generate, so they should just be used.  It's at
least worth a shot.

A variant would be to build Amanda on 2.8, then remove all the .o files
(find . -name '*.o' -print | xargs rm) and tar that over to 2.6 and do
the "make" again.  Removing the .o's is more or less like "make clean",
but "make clean" might have gotten rid of things you don't want it to.

One other thing might bite you with this sequence.  Running ./configure
looks at your system for various things, such as where ufsdump is,
where GNU tar is, how various OS calls work and so on.  If the 2.6
system doesn't behave the same (i.e. some paths are different or some
system calls are not there), it could lead to trouble.  Except for not
having the right paths, I don't think this will be too bad for those
two versions of Solaris (I go the other direction all the time, i.e.
build on 2.6 but run on 2.7 and 2.8), but it's something to keep in mind
(and yet another reason to do the whole sequence on the lowest common
denominator machine it will end up running on).

>My configure line looks like this:
>
>./configure --with-user=amanda --with-group=backup --with-config=dailies
>--host=sparc-sun-solaris2 --prefix=/usr/share/src/amanda-2.4.2p2/taipei
>--exec-prefix=/usr/share/src/amanda-2.4.2p2/taipei

FYI, you should not specify --host.  Let ./configure figure it out.

Also, --exec-prefix defaults to the same value as --prefix, so that's
redundant.

>I used the prefix options to try to corral the files into one place, but
>I'm not sure if any files go elsewhere and my brain fries at about that
>point.

All of the files "make install" deals with will be put under --prefix,
although most go in subdirectories (e.g. $prefix/sbin, $prefix/libexec
and so on).

The Amanda configuration areas can also go under $prefix or can be put
elsewhere.  For instance, I use this:

  ./configure --prefix=/opt/amanda-2.4.2p2 --with-configdir=/var/amanda ...

>Also, I know I have to 'make' as the amanda user, but I'm supposed to
>'make install' as root because of some various files and stuff.  If that's
>the case shouldn't I be 'make'ing on the 2.6 box (named taipei) instead?

I'm sure with enough work and experience you could eventually make it
happy :-), but at some point it's not worth the hassle.

>Chris  :)

John R. Jackson, Technical Software Specialist, [EMAIL PROTECTED]

Reply via email to