You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Albert Lunde <Al...@nwu.edu> on 1998/06/18 19:40:01 UTC

Re: config/2421: problem specifying ndbm library for build ?with autoconfigure

The following reply was made to PR config/2421; it has been noted by GNATS.

From: Albert Lunde <Al...@nwu.edu>
To: rse@engelschall.com, apbugs@apache.org
Cc:  Subject: Re: config/2421: problem specifying ndbm library for build ?with 
 autoconfigure
Date: Thu, 18 Jun 1998 12:36:20 -0500

 At 6:22 PM -0500 6/17/98, Albert Lunde wrote:
 >At 1:46 AM -0500 6/12/98, Ralf S. Engelschall wrote:
 >>In article <19...@hyperreal.org> you wrote:
 >>
 >>> setenv LIBS "-lndbm"
 >>
 >>> A make with the Makefiles created works, but has -DNO_DBM_REWRITEMAP set.
 >>
 >>> Using -lndbm seemed to work on 1.2.6. Can you tell me what's wrong or
 >>> how to find why ./helpers/find-dbm-lib is failing?
 >>
 >>The reason seems to be that your libndbm.a cannot be found. Perhaps it is
 >>under a non-standard directory, so your linker is unable to find it. Try to
 >>use
 >>
 >>  setenv LIBS "-L/path/to/your/libs -lndbm"
 >>
 >>after finding out what /path/to/your/libs is. Perhaps something like
 >>/usr/local/lib or such a non-standard dir. In any case first make sure
 >>libndbm
 >>really exists on your system and determine where it stays. Then use these
 >>conrete informations in LIBS.
 >>
 >>                                       Ralf S. Engelschall
 >>                                       rse@engelschall.com
 >>                                       www.engelschall.com
 >
 >I've tried your suggestion, and it does not seem to work.
 
 
 I think I've found the problem. It looks like a bug in the helper scripts.
 
 The value of CFLAGS that's required by the HPUX ANSI C compiler, and set-up
 for use in the higher levels of the Makefile, isn't being used to compile
 the test programs. They are ANSI C, and the cc options aren't asking for
 that.
 
 The HP ANSI complier only does ANSI if the option "-Aa" or "-Ae" is
 specified (the latter also implies -D_HPUX_SOURCE). Now the last full make
 I did, had specified "-DHPUX10 -Aa -D_HPUX_SOURCE" in the compiles of the
 apache modules without me doing anything special, so clearly part of the
 configure scripts know about this.
 
 But when I added a lot of vebose outout echoing to helpers/TestCompile,
 this is what I saw for the outout of the test makes:
 
 in "TestCompile func dlopen":
 - - -
 	cd ..; cc +O2  `./apaci`     helpers/testfunc.c -o helpers/testfunc
 -L/usr/lib -lndbm
 cc: "helpers/testfunc.c", line 1: error 1705: Function prototypes are an
 ANSI feature.
 *** Error exit code 1
 - - -
 in "TestCompile lib dl":
 - - -
 	cd ..; cc +O2  `./apaci`     helpers/dummy.c -o helpers/dummy -ldl
 -L/usr/lib -lndbm
 cc: "helpers/dummy.c", line 3: warning 5: "const" will become a keyword.
 cc: "helpers/dummy.c", line 3: error 1000: Unexpected symbol: "char".
 cc: "helpers/dummy.c", line 4: warning 5: "const" will become a keyword.
 cc: error 2017: Cannot recover from earlier errors, terminating.
 *** Error exit code 1
 - - -
 in "TestCompile -v func dbm_open":
 - - -
 	cd ..; cc   `./apaci`     helpers/testfunc.c -o helpers/testfunc
 -L/usr/lib -lndbm
 cc: "helpers/testfunc.c", line 1: error 1705: Function prototypes are an
 ANSI feature.
 *** Error exit code 1
 - - -
 
 in "TestCompile -v func dbm_open":
 - - -
 	cd ..; cc   `./apaci`     helpers/testfunc.c -o helpers/testfunc
 -L/usr/lib -lndbm
 cc: "helpers/testfunc.c", line 1: error 1705: Function prototypes are an
 ANSI feature.
 *** Error exit code 1
 - - -
 
 In TestCompile sanity the right flags _are_ picked up, and everything looks
 fine:
 - - -
 	cd ..; cc  -DHPUX10 -Aa -D_HPUX_SOURCE -DSTATUS -DNO_DBM_REWRITEMAP
 -DUSE_HSREGEX `./apaci`     helpers/dummy.c -o helpers/dummy  -L/usr/lib
 -lndbm
 - - -
 
 I _think_ I've transcribed all the above correctly. I can give you all the
 parts if you want (output and modified files).
 
 But it seems pretty clear to me that the problem is due to non-ANSI
 compiles, not due to an error in the way the dbm libraries were specified.
 There may be a work-around, but this looks like a weakness of your
 configure helper scripts in the HPUX 10, HP ANSI C context.
 
 
 
 
 ---
     Albert Lunde                      Albert-Lunde@nwu.edu