PDA

View Full Version : Amanda 2.6.0 on Debian Etch



amanda_elf
May 15th, 2008, 04:19 PM
I installed the 2.6.0-2_i386 Debian/Ubuntu version of the amanda backup server. The commands all return an error that they can't find GLIBC_2.4. This might be because Debian Etch uses 2.3. (see this thread: http://forums.debian.net/viewtopic.php?p=64434#64434).

I need to run Amanda 2.6.0 because I'm backing up to Amazon S3 and according to the Zmanda tutorial, only 2.6.0 supports the Device API. Is there a way to get a Debian binary of 2.6.0 that uses libc 2.3?

I'm on Debian primarily because I loathe compiling packages--I've tried and it takes me days and days to do it. But if I need to, I'll do it. I'm just not sure which source code will work with libc 2.3--and the rest of Etch, for that matter.

Many, many thanks in advance for any assistance.

dustin
May 15th, 2008, 04:26 PM
We're working on an etch .deb.

But all we're doing to build it is setting up an etch box and running packaging/deb/buildpkg. You can try running that to see if it makes a workable deb. If not, please let us know what changes you make to get it to work.

amanda_elf
May 16th, 2008, 07:49 AM
OK. 7.5 hours later (which is why I loathe building packages), I got stuck on these error messages:

the first:

configure: WARNING: linux/chio.h: present but cannot be compiled
configure: WARNING: linux/chio.h: check for missing prerequisite headers?
configure: WARNING: linux/chio.h: see the Autoconf documentation
configure: WARNING: linux/chio.h: section "Present But Cannot Be Compiled"
configure: WARNING: linux/chio.h: proceeding wiht the preprocessor's result
configure: WARNING: linux/chio.h: in the future, the compiler will take precendence

Because all of this is trial and error for me, I tried to add linux/chio.h to the list of header files that are parameters for the AC_CHECK_HEADERS function inthe configure.in file, but that didn't work.

The second error:

Cannot build the Amazon S3 device: one or more prerequisites are missing.

I traced the error to a failing of one or both of the HAVE_CURL and HAVE_HMAC tests. These tests are in the libs.m4 file. I looked at them, but can't quite understand how they work or why they are failing when it seems that having libcurl and openssl would suffice. What I do know is that I have libcurl3 7.15.5-1etch1 installed and openssl 0.9.8c-4etch3 installed.

This is the final line of the buildpkg output:

make: *** [build-stamp] Error 1

I don't know if this is related to the other two errors or to this line, which is much earlier in the output:

rm -f build-stamp missing config/config.h common-src/genversion

which is followed by these lines, which I don't know if they're related, either:

find . -type d -name .deps -exec rm -rf {} \;
test -r /usr/share/misc/config.sub && \
cp -f /usr/share/misc/config.sub config/config.sub
test -r /usr/share/misc/config.guess && \
cp -f /usr/share/misc/config.guess config/config.guess

OK. That's what I've found so far that wasn't just solved by apt-get install. Maybe this will be solved by that, but it's not clear to me how. Any direction would be greatly appreciated.

Thanks.

dwlocks
May 16th, 2008, 08:50 AM
configure: WARNING: linux/chio.h: present but cannot be compiled
configure: WARNING: linux/chio.h: check for missing prerequisite headers?
configure: WARNING: linux/chio.h: see the Autoconf documentation
configure: WARNING: linux/chio.h: section "Present But Cannot Be Compiled"
configure: WARNING: linux/chio.h: proceeding wiht the preprocessor's result
configure: WARNING: linux/chio.h: in the future, the compiler will take precendence


IIRC, this error has to do with kernel header missmatches. Do you have kernel headers for your present kernel installed?



Cannot build the Amazon S3 device: one or more prerequisites are missing.

I traced the error to a failing of one or both of the HAVE_CURL and HAVE_HMAC tests. These tests are in the libs.m4 file. I looked at them, but can't quite understand how they work or why they are failing when it seems that having libcurl and openssl would suffice. What I do know is that I have libcurl3 7.15.5-1etch1 installed and openssl 0.9.8c-4etch3 installed.


This seems like a similar error to me. Do you have the libcurl3-devel and openssl-devel packages installed?



make: *** [build-stamp] Error 1

I don't know if this is related to the other two errors or to this line, which is much earlier in the output:

rm -f build-stamp missing config/config.h common-src/genversion

which is followed by these lines, which I don't know if they're related, either:

find . -type d -name .deps -exec rm -rf {} \;
test -r /usr/share/misc/config.sub && \
cp -f /usr/share/misc/config.sub config/config.sub
test -r /usr/share/misc/config.guess && \
cp -f /usr/share/misc/config.guess config/config.guess


The build-stamp error is a result of the debian packaging system, which uses makefiles. When the package build results in an error, make gives you an error. build-stamp is the first target in the debian package. It runs configure and make.

The rm and find commands you mentioned are cleanup from previous attempts at building a package, while the test....cp are updating config.sub and config.guess with the versions from your etch install.

You might also try editing the file packaging/deb/rules, and add a configure flag for --with-libcurl=

Finally, it would help us if you could post or attach your config.log (which is buried in a subdir, unfortunately).

Our etch VM should be coming online sometime today, at which point I'll probably start working to make compiles go on it. I'll keep you posted as to my progress.

Dan

amanda_elf
May 16th, 2008, 10:09 AM
IIRC, this error has to do with kernel header missmatches. Do you have kernel headers for your present kernel installed?

Sorry, I'm not sure what you mean by this. I have /usr/include/linux/chio.h on my system. I update the kernel through the Synaptic Package Manager. The current kernel is 2.6.18-6-686. According to the package manager, linux-kernel-headers 2.6.18-7 is installed. 2 other packages listed:
linux-image-2.6.18-6-686 2.6.18.dfsg.1-18etch4
linux-image-2.6-686 2.6.18+6etch3


This seems like a similar error to me. Do you have the libcurl3-devel and openssl-devel packages installed?

I used the package manager to install libcurl3-dev 7.15.5-1etch1, which also installed libcurl3-openssl-dev 7.15.5-1etch1. I re-ran buildpkg and the Amazon S3 error did not appear. Instead (these lines appeared after the same lines about linux/chio.h):

appending configuration tag "CXX" to libtool
appending configuration tag "F77" to libtool
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
configure: error: glib not found or too old; See http://wiki.zmanda.com/index.php/Installation for help
make: *** [build-stamp] Error 1

Is this related to the original problem I was having with the .deb binary: Etch runs glibc 2.3, not 2.4? (At least, according to that other thread. How would I confirm this on my system?)


Finally, it would help us if you could post or attach your config.log (which is buried in a subdir, unfortunately).

I've attached it.


Our etch VM should be coming online sometime today, at which point I'll probably start working to make compiles go on it. I'll keep you posted as to my progress.

Thanks for your help. I look forward to getting AMANDA installed!

dustin
May 16th, 2008, 10:43 AM
I'll throw in a couple of cents here:

Glib is *totally* unrelated to glibc, so you're not seeing the original problem at all. You'll need glib (and probably a glib-devel) installed. Those might be named glib2 and glib2-devel (sorry, I'm not too familiar with Debian).

As for the linux/chio.h thing -- it is, indeed, in linux-kernel-headers 2.6.18-7. It doesn't compile because the symbol __user isn't defined, but I don't really see why that's going on.

amanda_elf
May 16th, 2008, 11:07 AM
Glib is *totally* unrelated to glibc, so you're not seeing the original problem at all. You'll need glib (and probably a glib-devel) installed. Those might be named glib2 and glib2-devel (sorry, I'm not too familiar with Debian).

Thanks for clarifying that. I had libglib2.0-0 2.12.4-2 installed. I installed libglib2.0-dev 2.12.4-2 and re-ran buildpkg. WHOA. I think it's working. It's still going. Unfortunately, I ran it from the wrong directory, so I'm going to run it again. But before I do that, should I be deleting what was created by previous build attempts? Also, I have the amanda-backup-server installed by the .deb package from the wiki. Should I uninstall that?


As for the linux/chio.h thing -- it is, indeed, in linux-kernel-headers 2.6.18-7. It doesn't compile because the symbol __user isn't defined, but I don't really see why that's going on.

Should I wait for this to get resolved before building again?

THANKS!

Update: I started with a fresh extract of amanda-2.6.0 and ran packaging/deb/buildpkg. Got the .deb package, uninstalled the version I had installed previously that was lookig for GLIBC 2.4. Installed newly built binary. Now the command ammt runs without a problem. (Well, there's a message that says it's deprecated, but that's for another thread).

Let me know if you need me to send you anything from the build. Thanks for your help with this.

dwlocks
May 16th, 2008, 03:09 PM
Thanks for clarifying that. I had libglib2.0-0 2.12.4-2 installed. I installed libglib2.0-dev 2.12.4-2 and re-ran buildpkg.

Let me know if you need me to send you anything from the build. Thanks for your help with this.

Congrats! Amanda is *not* an easy compile.

By way of summary, for those who might run across this forum while trying to compile, you will need this list of extra packages which are not totally obvious from our documentation:
libglib2.0-dev
libcurl3-openssl-dev
libssl-dev

If you plan to use the script included in our source tarball to create debian packages, you'll also need debhelper and fakeroot. Otherwise, our documentation and the output errors from ./configure should tell you pretty explicitly what you're missing.

Hopefully .deb packages for etch will be available for download soon.

Dan
-----------
Software Engineer,
Zmanda Inc