Installation/OS Specific Notes/Installing Amanda on Solaris: Difference between revisions

From wiki.zmanda.com
Jump to navigation Jump to search
(→‎Solaris 10: IPv6 note)
(→‎Sun Studio cc: libcurl, glib notes)
Line 13: Line 13:


If {{file|/usr/sfw/bin}} is in you PATH, configure will find and try to use ''gcc'', which won't work well.  If this is a problem, remove that directory from PATH, or add <tt>CC=/opt/SUNWspro/bin/cc</tt> to your <tt>./configure</tt> line.
If {{file|/usr/sfw/bin}} is in you PATH, configure will find and try to use ''gcc'', which won't work well.  If this is a problem, remove that directory from PATH, or add <tt>CC=/opt/SUNWspro/bin/cc</tt> to your <tt>./configure</tt> line.
It's best to use the built-in version of glib (in <tt>/usr/lib</tt>), and to do so, it's easiest to not have any other versions of glib installed at the same time (e.g,. from blastwave).  The S3 device also requires libcurl, which is unfortunately ''not'' available built-in.  We recommend using libcurl from [http://www.blastwave.org/ blastwave], and add <tt>LD_LIBRARY_PATH=/opt/csw/lib</tt> to your configure and make invocations.


Proceed to ''./configure; make; make install'' as usual.
Proceed to ''./configure; make; make install'' as usual.

Revision as of 21:50, 21 January 2008

General Notes

You may get errors running make: Assure that you use the BSD-version of make, usually /usr/ccs/bin/make. Add /usr/ccs/bin to the path before running configure.

Specific Versions

Solaris 10

The recommended configuration is to compile with the Sun Studio CC.

Note that Solaris 10 systems have IPv6 support in the kernel, but that the default configuration is nonfunctional. If you don't intend to use IPv6, add --without-ipv6 to your configure options. If you do intend to use IPv6, be sure that it is correctly configured before setting up Amanda.

Sun Studio cc

Assuming Sun Studio is installed in /opt/SUNWspro, add the following to PATH:

PATH="$PATH:/opt/SUNWspro/bin:/usr/ccs/bin"

If /usr/sfw/bin is in you PATH, configure will find and try to use gcc, which won't work well. If this is a problem, remove that directory from PATH, or add CC=/opt/SUNWspro/bin/cc to your ./configure line.

It's best to use the built-in version of glib (in /usr/lib), and to do so, it's easiest to not have any other versions of glib installed at the same time (e.g,. from blastwave). The S3 device also requires libcurl, which is unfortunately not available built-in. We recommend using libcurl from blastwave, and add LD_LIBRARY_PATH=/opt/csw/lib to your configure and make invocations.

Proceed to ./configure; make; make install as usual.

GNU gcc

For latest (2.5.3alpha, while writing this) builds, requiring glib, /usr/bin/pkg-config might not give you valid results on Solaris 10 (and earlier releases where gnome is installed). You will get errors while running ./configure, which tries to get glib config from /usr/bin/pkg-config.

To build with gcc, you'll need to install at least pkg-config, gettext and glib2. You could download them manually and install them into e.g. --prefix=/usr/local (for source packages search at freshmeat.net), or use http://blastwave.com or http://sunfreeware.com.

Then call ./configure with an explicit path for pkg-config:

./configure PKG_CONFIG=/opt/csw/bin/pkg-config --with-...

Alternately, set e.g. /usr/local/bin as the first entry in your PATH environment variable.

If that doesn't work, you can set CFLAGS and LDFLAGS appropriately on the commandline while doing ./configure. e.g.:

CFLAGS="-I/usr/local/include -I/usr/local/include/glib-2.0" LDFLAGS="-R/usr/local/lib -L/usr/local/lib" ./configure

Solaris 9

To compile on Solaris 9 set the Environment Variables:

CFLAGS='-L/usr/local/lib -R/usr/local/lib';export CFLAGS

CPPFLAGS=-I/usr/local/include;export CPPFLAGS

LDFLAGS='-L/usr/local/lib -R/usr/local/lib';export LDFLAGS

LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/sfw/lib;export LD_LIBRARY_PATH

Use the configure command:

./configure --with-user=amanda --with-group=backup --with-libraries="/usr/lib /usr/local/lib" --with-includes="/usr/include /usr/local/include /usr/local/include/readline" --without-ipv6

The --with-user and --with-group would be set to the user and group you created. The --without-ipv6 may or may not need to be used depending on whether you are have ipv6 set up.

Solaris 8

TBD

Trusted Solaris

According to Julian Stevens <[email protected]>, the format of inetd on Trusted Solaris 1.2 is a bit different. Just before the user name, you should insert the word `untrusted':

amanda dgram udp wait untrusted amuser /usr/local/libexec/amandad amandad

The patch-system script is *NOT* aware of this detail; you must fix it yourself.

Solaris 2.6

You may have compilation errors on statfs.c if you're running, on a Solaris 2.6 host, a gcc that was not build on a Solaris 2.6 host. This happens because gcc stores fixed copies of some Solaris header files on an internal directory. You must rebuild gcc if you get this kind of trouble. Note, however, that gcc 2.7.2.3 does not support Solaris 2.6, you should upgrade to 2.8.0 or higher, or egcs.

SunOS 4.x

A bug in GNU-tar 1.12 causes it to miscalculate (in fact, to misreport) the size of filesystems. A patch for GNU-tar is available in the patches directory.