Amanda-Users

Re: Amanda & HP/UX (11.00 and 11.11)

2003-11-20 17:34:32
Subject: Re: Amanda & HP/UX (11.00 and 11.11)
From: eric AT cirr DOT com (Eric Schnoebelen)
To: kend AT xanoptix DOT com
Date: Thu, 20 Nov 2003 16:30:42 -0600
kend AT xanoptix DOT com writes:
- Off-hand, I don't know where tzfile.h comes from, can't seem to
- find it in depots, etc.  So: are there any Amanda 2.4.4p1 binaries
- for HP/UX 11.11 and 11.00, or, failing that, an HP/UX-cum-Amanda
- HOWTO?

        Well, 2.4.4p1 has some configure strangeness that causes
it to miss a _bunch_ of POSIX functions that are provided by
HP-UX.  I haven't had time to go through and figure out how to
fix them.

        Here's the configure set I used to compile 2.4.2p? on
HP-UX 11.00 and 11.11.

                #!/bin/sh -x
                CFLAGS="+DAportable -Ae"
                ./configure --prefix=/opt/pkg \
                        --localstatedir=/var/pkg \
                        --without-server \
                        --with-user=amanda \
                        --with-group=sys \
                        --with-pid-debug-files

Attached is a message I sent to someone else who was asking the
same questions about building amanda 2.4.4 on HP-UX 11.11.  It
includes a set of post-configure patches to actually make the
bloody thing build. Maybe this will help someone on the
development team figure out what's broken with the configure
script.

--
Eric Schnoebelen                eric AT cirr DOT com             
http://www.cirr.com
        Theoretical Physicist -- a physicist whose existence has been
            postulated, to make the numbers balance, but who is
                never actually observed in the laboratory.
--- Begin Message ---
Subject: Re: HP-UX 11i amanda 2.4.4p1 compile
From: eric AT cirr DOT com (Eric Schnoebelen)
To: "Paul W. Kerr" <edgehill AT comcast DOT net>
Date: Tue, 30 Sep 2003 16:11:18 -0500
"Paul W. Kerr" writes:
- While researching tips on how to successfully compile Amanda 2.4.4p1 on 
- 32bit hp-ux 11i, I discovered your e-mail thread from last year about 
- compiling amanda 2.4.2p2 for 11i.

        Proabably I should ask "which 11i?" firt off.  Although
saying 32bit 11i suggests 11i V1.0 (aka B.11.11) on a PA
system..

- Can you shed light on any compiler of environment configuration
- changes you had to make to get your Amanda compile to work?  I
- would appreciate the benefit of your experience.

        Well, until you sent mail, I hadn't built on 11i, as I
didn't have an 11i system available. Fortunately, a contract
with HP has made available a few 11i systems.. :-)

        What I found is:  configure doesn't properly recognize
that HP-UX 11.11 has strftime and a declaration for the same,
nor does it recognize that it has gettimeofday and a
corresponding declaration. (in looking through config.h, I see
that HAVE_MKTIME and HAVE_MKTIME_DECL should also be defined and
aren't; and HAVE_SELECT/HAVE_SELECT_DECL; and
HAVE_TIME/HAVE_TIME_DECL; gosh, autoconf screwed up pretty well
here..)

        Additionally, the <sys/socket.h> didn't compile cleanly
for me any time. :-(  (there's probably a patch to fix this, but
I haven't looked yet..)

        I used the following script to configure amanda:

        #!/bin/sh -x
        # CC=/opt/ansic/bin/cc export CC
        # CFLAGS="+DAportable -D_XOPEN_SOURCE_EXTENDED -Ae" export
        CFLAGS

        ./configure \
            CC=/opt/ansic/bin/cc \
            CFLAGS="+DAportable -D_XOPEN_SOURCE_EXTENDED -Ae" \
            --prefix=/opt/amanda \
            --localstatedir=/var/opt/amanda \
            --with-configdir=/etc/opt/amanda \
            --with-group=sys \
            --with-user=amanda \
            --with-fqdn

        And then the following diffs to get config/config.h to
look right:

--- config/config.h     Tue Sep 30 15:44:22 2003
+++ config/config.h.save        Tue Sep 30 15:49:42 2003
@@ -348,10 +348,10 @@
 #define HAVE_GETSOCKOPT_DECL 1
 
 /* Define to 1 if you have the `gettimeofday' function. */
-/* #undef HAVE_GETTIMEOFDAY */
+#define HAVE_GETTIMEOFDAY 1
 
 /* Define if gettimeofday is declared. */
-/* #undef HAVE_GETTIMEOFDAY_DECL */
+#define HAVE_GETTIMEOFDAY_DECL 1
 
 /* Define to 1 if you have the `getvfsent' function. */
 /* #undef HAVE_GETVFSENT */
@@ -501,10 +501,10 @@
 #define HAVE_MKTEMP_DECL 1
 
 /* Define to 1 if you have the `mktime' function. */
-/* #undef HAVE_MKTIME */
+#define HAVE_MKTIME 1
 
 /* Define if mktime is declared. */
-/* #undef HAVE_MKTIME_DECL */
+#define HAVE_MKTIME_DECL 1
 
 /* Define to 1 if you have a working `mmap' system call. */
 /* #undef HAVE_MMAP */
@@ -636,10 +636,10 @@
 /* #undef HAVE_SCSI_SG_H */
 
 /* Define to 1 if you have the `select' function. */
-/* #undef HAVE_SELECT */
+#define HAVE_SELECT 1
 
 /* Define if select is declared. */
-/* #undef HAVE_SELECT_DECL */
+#define HAVE_SELECT_DECL 1
 
 /* Define to 1 if you have the `sendto' function. */
 #define HAVE_SENDTO 1
@@ -777,10 +777,10 @@
 #define HAVE_STRERROR_DECL 1
 
 /* Define to 1 if you have the `strftime' function. */
-/* #undef HAVE_STRFTIME */
+#define HAVE_STRFTIME 1
 
 /* Define if strftime is declared. */
-/* #undef HAVE_STRFTIME_DECL */
+#define HAVE_STRFTIME_DECL 1
 
 /* Define to 1 if you have the <strings.h> header file. */
 #define HAVE_STRINGS_H 1
@@ -908,10 +908,10 @@
 #define HAVE_SYS_WAIT_H 1
 
 /* Define to 1 if you have the `time' function. */
-/* #undef HAVE_TIME */
+#define HAVE_TIME 1
 
 /* Define if time is declared. */
-/* #undef HAVE_TIME_DECL */
+#define HAVE_TIME_DECL 1
 
 /* Define to 1 if you have the `tolower' function. */
 #define HAVE_TOLOWER 1

        Unfortunately, that doesn't get the Makefile in
common-src cleaned up properly.  The diff to common-src/Makefile
is:

--- common-src/Makefile.save    Tue Sep 30 15:58:24 2003
+++ common-src/Makefile Tue Sep 30 16:00:18 2003
@@ -115,7 +115,7 @@
 LIBTOOL_DEPS = config/ltmain.sh
 LN_S = ln -s
 LTALLOCA = 
-LTLIBOBJS =  mktime$U.lo strftime$U.lo
+LTLIBOBJS =  
 MAILER = /usr/bin/mailx
 MAXTAPEBLOCKSIZE = 32
 MCUTIL = mcutil
@@ -171,7 +171,7 @@
         pipespawn.c    sl.c
 
 
-libamanda_la_LIBADD =  mktime$U.lo strftime$U.lo 
+libamanda_la_LIBADD =  
 libamanda_la_LDFLAGS = -release $(VERSION)
 
 noinst_HEADERS = amanda.h      arglist.h       \
@@ -238,7 +238,7 @@
 CONFIG_CLEAN_FILES = versuff.c
 LTLIBRARIES = $(lib_LTLIBRARIES)
 
-libamanda_la_DEPENDENCIES =  mktime$U.lo strftime$U.lo 
+libamanda_la_DEPENDENCIES =  
 am_libamanda_la_OBJECTS = alloc.lo amflock.lo clock.lo debug.lo dgram.lo \
        error.lo file.lo fileheader.lo amfeatures.lo match.lo \
        protocol.lo regcomp.lo regerror.lo regexec.lo regfree.lo \
@@ -249,36 +249,36 @@
        file$(EXEEXT) security$(EXEEXT) amfeatures$(EXEEXT)
 am_amfeatures_OBJECTS = amfeatures.test.$(OBJEXT)
 amfeatures_OBJECTS = $(am_amfeatures_OBJECTS)
-amfeatures_DEPENDENCIES =  mktime$U.lo strftime$U.lo alloc.$(OBJEXT) \
+amfeatures_DEPENDENCIES =  alloc.$(OBJEXT) \
        clock.$(OBJEXT) debug.$(OBJEXT) error.$(OBJEXT) util.$(OBJEXT) \
        file.$(OBJEXT)
 amfeatures_LDFLAGS =
 am_file_OBJECTS = file.test.$(OBJEXT)
 file_OBJECTS = $(am_file_OBJECTS)
-file_DEPENDENCIES =  mktime$U.lo strftime$U.lo  alloc.$(OBJEXT) \
+file_DEPENDENCIES =  alloc.$(OBJEXT) \
        clock.$(OBJEXT) debug.$(OBJEXT) error.$(OBJEXT) util.$(OBJEXT)
 file_LDFLAGS =
 am_genversion_OBJECTS = genversion.$(OBJEXT)
 genversion_OBJECTS = $(am_genversion_OBJECTS)
-genversion_DEPENDENCIES =  mktime$U.lo strftime$U.lo alloc.$(OBJEXT) \
+genversion_DEPENDENCIES =  alloc.$(OBJEXT) \
        clock.$(OBJEXT) debug.$(OBJEXT) error.$(OBJEXT) util.$(OBJEXT) \
        file.$(OBJEXT) versuff.o
 genversion_LDFLAGS =
 am_security_OBJECTS = security.test.$(OBJEXT)
 security_OBJECTS = $(am_security_OBJECTS)
-security_DEPENDENCIES =  mktime$U.lo strftime$U.lo alloc.$(OBJEXT) \
+security_DEPENDENCIES =  alloc.$(OBJEXT) \
        clock.$(OBJEXT) debug.$(OBJEXT) error.$(OBJEXT) util.$(OBJEXT) \
        file.$(OBJEXT)
 security_LDFLAGS =
 am_statfs_OBJECTS = statfs.test.$(OBJEXT)
 statfs_OBJECTS = $(am_statfs_OBJECTS)
-statfs_DEPENDENCIES =  mktime$U.lo strftime$U.lo alloc.$(OBJEXT) \
+statfs_DEPENDENCIES =  alloc.$(OBJEXT) \
        clock.$(OBJEXT) debug.$(OBJEXT) error.$(OBJEXT) util.$(OBJEXT) \
        file.$(OBJEXT)
 statfs_LDFLAGS =
 am_token_OBJECTS = token.test.$(OBJEXT)
 token_OBJECTS = $(am_token_OBJECTS)
-token_DEPENDENCIES =  mktime$U.lo strftime$U.lo alloc.$(OBJEXT) \
+token_DEPENDENCIES =  alloc.$(OBJEXT) \
        clock.$(OBJEXT) debug.$(OBJEXT) error.$(OBJEXT) util.$(OBJEXT) \
        file.$(OBJEXT)
 token_LDFLAGS =
@@ -291,9 +291,9 @@
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
 DEP_FILES = $(DEPDIR)/alloca.Plo $(DEPDIR)/getcwd.Plo \
-       $(DEPDIR)/memmove.Plo $(DEPDIR)/mktime.Plo \
+       $(DEPDIR)/memmove.Plo \
        $(DEPDIR)/snprintf.Plo $(DEPDIR)/strcasecmp.Plo \
-       $(DEPDIR)/strerror.Plo $(DEPDIR)/strftime.Plo \
+       $(DEPDIR)/strerror.Plo \
        $(DEPDIR)/strncasecmp.Plo $(DEPDIR)/strstr.Plo \
        $(DEPDIR)/waitpid.Plo ./$(DEPDIR)/alloc.Plo \
        ./$(DEPDIR)/amfeatures.Plo \
@@ -399,11 +399,9 @@
 include $(DEPDIR)/alloca.Plo
 include $(DEPDIR)/getcwd.Plo
 include $(DEPDIR)/memmove.Plo
-include $(DEPDIR)/mktime.Plo
 include $(DEPDIR)/snprintf.Plo
 include $(DEPDIR)/strcasecmp.Plo
 include $(DEPDIR)/strerror.Plo
-include $(DEPDIR)/strftime.Plo
 include $(DEPDIR)/strncasecmp.Plo
 include $(DEPDIR)/strstr.Plo
 include $(DEPDIR)/waitpid.Plo


        With the above command lines and patches, I am able to
successfully build amanda. I haven't tested it, as the machine I
built it on isn't attached to a network where I run amanda.

        Feel free to report the problems seen (and fixed) above
to the maintainers.  The largest problem appears to be with
autoconf's ICE_CHECK_DECL() macro.

        Good luck and enjoy!
                Eric

--
Eric Schnoebelen                eric AT cirr DOT com            
http://www.cirr.com
  Machine-independent program: A program that will not run on any machine.

--- End Message ---
<Prev in Thread] Current Thread [Next in Thread>