Amanda-Users

Re: Problems building under HPUX

2004-03-15 23:45:16
Subject: Re: Problems building under HPUX
From: eric AT cirr DOT com (Eric Schnoebelen)
To: "David Trusty" <dwtrusty AT hotmail DOT com>
Date: Mon, 15 Mar 2004 22:41:14 -0600
"David Trusty" writes:
- I'm trying to build version 2.4.4p2 under HP/UX 11i with gcc 3.2
- and am having some problems.

        Here's what I sent out in September (and again in
November) on this topic..  (and having just tried to find it in
the archives, I see why people don't.. the yahoo archive search is
nearly impossible to use!)

[forwarded message:]
From: eric AT cirr DOT com (Eric Schnoebelen)
To: "Paul W. Kerr" <edgehill AT comcast DOT net>
Subject: Re: HP-UX 11i amanda 2.4.4p1 compile 
In-reply-to: Your message of "Thu, 25 Sep 2003 20:07:57 EDT."
             <200309260008.h8Q086nf015217 AT egsner.cirr DOT com> 
Date: Tue, 30 Sep 2003 16:11:18 -0500
Sender: eric AT egsner.cirr DOT com


"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.

<Prev in Thread] Current Thread [Next in Thread>