Chris,
You must use the same compiler and compiler flags as used for compiling
perl.
Jean-Louis
On 11/26/2012 01:07 PM, Chris Hoogendyk wrote:
I'm having some issues with an install. I have a T5220 running Solaris
10 that has been an Amanda 2.5.1p3 client for some time. The storage
distribution has escalated to the point where I wanted to make this
into an Amanda server, and figured I should update it in the process.
So, I downloaded Amanda 3.3.2 and proceeded. One added complication is
that I am still running coolstack (including perl) on this server,
although I have updated gcc (to 3.4.6) so that it is no longer gccfss.
At first, it seemed the build and install went through without much
trouble. I figured I was ready to go ahead with the transition and
started work on getting it going; which, of course, broke the 2.5.1p3
connections. Now, until I get it running, I have a server with lots of
storage not getting backed up.
The first thing I ran into qualifies as an outright installer bug, I
think. When I tried to run amcheck or amdump, I got an error traceback
indicating that it couldn't find the libDebug.so associated with the
module debug.pm. After chasing it down, I discovered that the
directory containing the .so's was 750, root:other. So, the install
script created the directory and put things there, but failed to set
the access privileges. On systems with restrictive umasks that will
fail. There were at least two directories involved in the install of
perl modules that were not readable by user amanda.
Once those were fixed, I started seeing
for amcheck:
Can't load
'/opt/coolstack/lib/perl5/site_perl/5.8.8/auto/Amanda/Logfile/libLogfile.so'
for module Amanda::Logfile: ld.so.1: perl: fatal: relocation error:
file
/opt/coolstack/lib/perl5/site_perl/5.8.8/auto/Amanda/Logfile/libLogfile.so:
symbol amanda_log_trace_log: referenced symbol not found at
/opt/coolstack/lib/perl5/5.8.8/sun4-solaris-thread-multi/DynaLoader.pm
line 230.
at /opt/coolstack/lib/perl5/site_perl/5.8.8/Amanda/Logfile.pm line 12
Compilation failed in require at
/usr/local/libexec/amanda/amcheck-device line 26.
BEGIN failed--compilation aborted at
/usr/local/libexec/amanda/amcheck-device line 26.
and for amdump:
Can't load
'/opt/coolstack/lib/perl5/site_perl/5.8.8/auto/Amanda/Logfile/libLogfile.so'
for module Amanda::Logfile: ld.so.1: perl: fatal: relocation error:
file
/opt/coolstack/lib/perl5/site_perl/5.8.8/auto/Amanda/Logfile/libLogfile.so:
symbol amanda_log_trace_log: referenced symbol not found at
/opt/coolstack/lib/perl5/5.8.8/sun4-solaris-thread-multi/DynaLoader.pm
line 230.
at /opt/coolstack/lib/perl5/site_perl/5.8.8/Amanda/Logfile.pm line 12
Compilation failed in require at /usr/local/sbin/amdump line 29.
BEGIN failed--compilation aborted at /usr/local/sbin/amdump line 29.
I'm not quite sure where to start here. One sysadmin is arguing that I
have to rebuild perl from source and stop using coolstack altogether.
That gets somewhat complicated, because we have a history with lots of
applications dependent on perl and lots of perl modules installed to
get various of those applications running. I suppose the proper path
would be to build into a version directory and have the default
/usr/local/bin/perl continue to link to coolstack for compatibility,
but build Amanda against the new version, and then start converting
other apps.
I'm hoping there is a simpler approach that I'm missing.
Of course, this is a critical server. I can't have services not
working. It hurts to have backups not working, but I can survive that
if I can get them running again before they are needed. In other
words, asap.