You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Bill Lipa <po...@yahoo.com> on 2001/01/11 00:29:28 UTC

config/7056: apxs does not have all vars substituted

>Number:         7056
>Category:       config
>Synopsis:       apxs does not have all vars substituted
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    apache
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Wed Jan 10 15:30:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     pogo_tomcat@yahoo.com
>Release:        1.3.14
>Organization:
apache
>Environment:
SunOS garlic 5.6 Generic_105181-23 sun4u sparc SUNW,Ultra-5_10
>Description:
I encountered this problem when trying to build the Jakarta Tomcat module mod_jk.so.  Analysing the Tomcat newsgroups showed that several other people were having the same problem, but no solution was posted.

I traced the problem back to an incomplete substitution within bin/apxs.  When I applied the following diff, I was able to build the module:

garlic.wlipa% diff apxs apxs-orig
74,76c74,76
< my $CFG_CFLAGS_SHLIB  = q( -fPIC -DSHARED_MODULE);      # substituted via Makefile.tmpl
< my $CFG_LD_SHLIB      = q(ld);          # substituted via Makefile.tmpl
< my $CFG_LDFLAGS_SHLIB = q( -G); # substituted via Makefile.tmpl 
---
> my $CFG_CFLAGS_SHLIB  = q();      # substituted via Makefile.tmpl
> my $CFG_LD_SHLIB      = q();          # substituted via Makefile.tmpl
> my $CFG_LDFLAGS_SHLIB = q(); # substituted via Makefile.tmpl

The problem apparently is that when I did a plain vanilla Apache install on this system, that it substituted these variables for blank, whereas they should be given proper definitions (and indeed are given the correct definition in other places such as src/modules/standard/makefile).
>How-To-Repeat:
On Solaris 2.6, do a plain vanilla Apache 1.3.14 install:
./configure --prefix=/home/www/apache --enable=module=most --enable-shared=max

Examine bin/apxs.  You will see:
my $CFG_CFLAGS_SHLIB  = q();      # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = q();          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(); # substituted via Makefile.tmpl 
my $CFG_LIBS_SHLIB    = q();        # substituted via Makefile.tmpl 

The blank definitions will prevent apxs from compiling shared modules.
>Fix:
I think that the configuration system needs to be extended to do the proper substitution for CFG_CFLAGS_SHLIB, CFG_LD_SHLIB, and CFG_LDFLAGS_SHLIB within the apxs script.
>Release-Note:
>Audit-Trail:
>Unformatted:
 [In order for any reply to be added to the PR database, you need]
 [to include <ap...@Apache.Org> in the Cc line and make sure the]
 [subject line starts with the report component and number, with ]
 [or without any 'Re:' prefixes (such as "general/1098:" or      ]
 ["Re: general/1098:").  If the subject doesn't match this       ]
 [pattern, your message will be misfiled and ignored.  The       ]
 ["apbugs" address is not added to the Cc line of messages from  ]
 [the database automatically because of the potential for mail   ]
 [loops.  If you do not include this Cc, your reply may be ig-   ]
 [nored unless you are responding to an explicit request from a  ]
 [developer.  Reply only with text; DO NOT SEND ATTACHMENTS!     ]