Just a quick note on my build this week of Amanda 3.3.3 on an Ubuntu 12.04 LTS
server (SuperMicro).
The comments below related to building 3.3.2 on a Solaris 10 server (Sun T5220). Dustin had replied
back that there was probably a knob in autoconf to tweak so that the chmod of directories that were
created ended up with useable permissions.
On my 3.3.3 install on Ubuntu, I ran into the same thing. `amcheck daily`
complained:
Can't locate Amanda/Util.pm in @INC (@INC contains: /usr/local/share/perl/5.14.2 /etc/perl
/usr/local/lib/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14
/usr/local/lib/site_perl .) at /usr/local/libexec/amanda/amcheck-device line 25.
When I looked at /usr/local/share, I found that the directories created within that had permissions
700 and could only be accessed by root. When I changed all the directories to 755, amcheck worked.
There were quite a few. After I had worked my way down into /usr/local/share/perl/5.14.2/, I ended
up doing `sudo find . -type d -exec chmod 755 {} \;`.
Anyway, I thought I would just bring this up again in hopes that someone would
iron out the install.
On the whole, however, I would like to say that the current versions of Amanda are very easy to
build on both Solaris and Ubuntu. Back when I was first trying to build (I think it was) 2.6.x on
Solaris 10, I was getting into all kinds of circular headaches with pkgconfig or something like
that. I ended up putting it off (sticking with the running 2.5.1p3) and working on other things I
had to get done.
Thank you for all the work.
Chris Hoogendyk
On 12/3/12 11:32 AM, Chris Hoogendyk wrote:
Sorry if I'm a bit late in reporting back.
Works beautifully. Got dumps to the holding disk Wednesday night. Added tapes to the library and
more dle's and got dumps and everything flushed to tape Thursday night. Added more dle's Friday
and put in the --no-taper directive for the weekend (Thank you for that feature). Ran smoothly
over the weekend.
So, I'm off and running.
For developers and hackers . . . two things that I think ought to be taken care of in the build
process.
First, when the directories are created to hold Amanda modules and loadable libraries in perl
(e.g. /usr/local/lib/perl5/site_perl/5.16.2/auto/Amanda/), please chmod them so they are readable
by the amanda user. It is not uncommon for Unix sysadmins to implement restrictive umasks (e.g.
027, leading to permissions of 750 on directories). Then the amanda processes "can't find" the .so
files. Scanning back through the install, I see instances of "libtool: install: chmod +x ...." For
the directories, you would just need it to do a "chmod 755 ...."
Second, I see no point in the build process grabbing a libamanda.so from the already installed
system. That is one of the things that is being built. It almost guarantees that the build will
fail on a system that is being updated to a newer Amanda. The build should be designed to pull
things that are Amanda from the build directories. After I had done the "make install", it seemed
particularly weird that an "ldd -s" showed that the newly built .so's associated with the Amanda
perl modules were explicitly calling for libmanda.so.2.5.1p3.
Those two issues lead to confusing errors. The first resulted in a "can't find", and I had to go
find the directories in site_perl and issue a chmod to fix them. The second resulted in a
relocation error. I had to find and hide all the pre-existing Amanda libraries so that the build
could not find them. Then rebuild.After that I had to go back and repeat the chmod fix on the perl
Amanda directories. If those two things were fixed, I would pretty much have a clean Amanda build
first time through.
I should mention that it was much easier than a lot of other software packages we have had to deal
with.
Now I just need to update several other servers and a bunch of clients.
On 11/28/12 3:25 PM, Chris Hoogendyk wrote:
That seems to have done it.
`amcheck daily` works now.
I'll see if I can run some dumps tonight and then start ramping this server up. I'll let you know
how things work out.
Thank you,
On 11/28/12 1:55 PM, Jean-Louis Martineau wrote:
On 11/28/2012 01:48 PM, Chris Hoogendyk wrote:
It is apparently explicitly looking for that version: "find object=libamserver-2.5.1p3.so"
(from ldd -s). So, if I move the old libraries, the ldd fails. It isn't just looking for
libamserver.so and finding one that links to 2.5.1p3.
If I remove all the old libraries, how far back in the build do I have to go? All the way back
to the beginning? What other pieces of Amanda 2.5.1p3 do I have to hide for 3.3.2 to build
correctly?
make clean; make ; make install
You should remove all *-2.5.1p3.so files
I'm not familiar with the build process on solaris, i don't know why it take
the wrong libs.
Jean-Louis
Following is the beginning of the ldd -s:
marlin:/usr/local/etc/amanda/daily$ ldd -s
/usr/local/lib/perl5/site_perl/5.16.2/auto/Amanda/Logfile/libLogfile.so | head -30
find object=libamglue-3.3.2.so; required by
/usr/local/lib/perl5/site_perl/5.16.2/auto/Amanda/Logfile/libLogfile.so
search path=/usr/local/lib/amanda (LD_LIBRARY_PATH)
trying path=/usr/local/lib/amanda/libamglue-3.3.2.so
libamglue-3.3.2.so => /usr/local/lib/amanda/libamglue-3.3.2.so
find object=libamserver-2.5.1p3.so; required by
/usr/local/lib/perl5/site_perl/5.16.2/auto/Amanda/Logfile/libLogfile.so
search path=/usr/local/lib/amanda (LD_LIBRARY_PATH)
trying path=/usr/local/lib/amanda/libamserver-2.5.1p3.so
search
path=/usr/local/lib/amanda:/usr/local/lib:/usr/local/samba/lib:/usr/sfw/lib:/usr/lib:/usr/ccs/lib:/usr/ucblib
(RPATH from file /usr/local/lib/perl5/site_perl/5.16.2/auto/Amanda/Logfile/libLogfile.so)
trying path=/usr/local/lib/amanda/libamserver-2.5.1p3.so
trying path=/usr/local/lib/libamserver-2.5.1p3.so
trying path=/usr/local/samba/lib/libamserver-2.5.1p3.so
trying path=/usr/sfw/lib/libamserver-2.5.1p3.so
trying path=/usr/lib/libamserver-2.5.1p3.so
trying path=/usr/ccs/lib/libamserver-2.5.1p3.so
trying path=/usr/ucblib/libamserver-2.5.1p3.so
search
path=/lib:/usr/lib:/opt/coolstack/lib:/usr/local/gcc/lib/gcc/sparc-sun-solaris2.10/4.2.0:/usr/local/lib
(configuration default - /var/ld/ld.config)
trying path=/lib/libamserver-2.5.1p3.so
trying path=/usr/lib/libamserver-2.5.1p3.so
trying path=/opt/coolstack/lib/libamserver-2.5.1p3.so
trying
path=/usr/local/gcc/lib/gcc/sparc-sun-solaris2.10/4.2.0/libamserver-2.5.1p3.so
trying path=/usr/local/lib/libamserver-2.5.1p3.so
libamserver-2.5.1p3.so => (file not found)
--
---------------
Chris Hoogendyk
-
O__ ---- Systems Administrator
c/ /'_ --- Biology & Geology Departments
(*) \(*) -- 140 Morrill Science Center
~~~~~~~~~~ - University of Massachusetts, Amherst
<[email protected]>
---------------
Erdös 4