Bug 688731

Summary: JON Apache Connector Not Compatible with Apache HTTP 2.2.17?
Product: [Other] RHQ Project Reporter: mdarretta <mdarrett>
Component: PluginsAssignee: Nobody <nobody>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: hrupp, kejohnso, loleary
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 694259    

Description mdarretta 2011-03-17 20:50:16 UTC
Environment
-----------
RHEL 6
JON 2.4.1
Apache HTTP 2.2.17

Has the JON Apache Connector been tested against Apache 2.2.17? I am trying to install the Apache module 2.x for JON via section 2.1.2 of the "Resource Monitoring and Operations Guide":

>> http://docs.redhat.com/docs/en-US/JBoss_Operations_Network/2.4/html-single/Resource_Monitoring_and_Operations_Reference/index.html#sect-Apache_HTTP-Apache_2_Response_Time_Configuration

When I execute step 3, I get the follow error/output:

---
[mdarrett@mdarrett sources]$ ./build_apache_module.sh 2.x ~/NotBackedUp/apps/apache/http/bin/apxs
/home/mdarrett/NotBackedUp/apps/apache/http/bin/apxs -c mod_rt.c
/home/mdarrett/NotBackedUp/apps/apache/http//build/libtool --silent --mode=compile gcc -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/home/mdarrett/NotBackedUp/apps/apache/http//include -I/home/mdarrett/NotBackedUp/apps/apache/http//include -I/home/mdarrett/NotBackedUp/apps/apache/http//include -c -o mod_rt.lo mod_rt.c && touch mod_rt.slo
mod_rt.c: In function ‘rt_post_config’:
mod_rt.c:206: warning: passing argument 2 of ‘reg_with_ssi’ from incompatible pointer type
mod_rt.c:206: note: expected ‘apr_status_t (*)(struct include_ctx_t *, struct ap_filter_t *, struct apr_bucket_brigade *)’ but argument is of type ‘int (*)(struct include_ctx_t *, struct apr_bucket_brigade **, struct request_rec *, struct ap_filter_t *, struct apr_bucket *, struct apr_bucket **)’
/home/mdarrett/NotBackedUp/apps/apache/http//build/libtool --silent --mode=link gcc -o mod_rt.la -rpath /home/mdarrett/NotBackedUp/apps/apache/http//modules -module -avoid-version mod_rt.lo
---

The line "mod_rt.c:206: warning: passing argument 2 of ‘reg_with_ssi’ from incompatible pointer type" implies to me that there is some C library conflict.

I built Apache via the following commands from the install directory:

./configure --prefix=/home/mdarrett/NotBackedUp/apps/apache/http/ --enable-module=so
make
make install

Thanks for your assistance.

Comment 1 mdarretta 2011-03-17 20:58:44 UTC
Further issue...probably warrants a new bugzilla...

Tried to compile HTTP 2.0.64 with the --enable-module=so flag, and get this:

configure: WARNING: unrecognized options: --enable-module

So, can't build against Apache HTTP 2.0.64 either :).

Note that, per the Apache page, 2.0.64 and 2.2.17 are the only available downloads:

http://httpd.apache.org/download.cgi

Comment 2 mdarretta 2011-03-17 21:03:34 UTC
For 2.0.64, should use "enable-so" instead of "enable-module=so". Will write up an RH Ticket against docs.

Comment 3 Heiko W. Rupp 2011-03-18 09:41:24 UTC
What is the result when you do --enable-so for 2.2.17 ?

Comment 4 mdarretta 2011-03-18 14:35:20 UTC
The build executes, but I have no way at this time to validate the results. I wrote up another ticket (688773) to cover this.

Comment 5 Larry O'Leary 2011-04-06 19:59:29 UTC
The error reported here is actually a warning and the build is successful. This occurs in all flavors of Apache since sometime in 2003. It is due to a change in mod_include. 

Essentially, the only thing that is not happening is the module is not getting installed for you. This is due to the Makefile not specifying target inclusion for all:.  

But, the documentation says to manually copy the compiled binary over anyway, so not even sure the Makefile issue is an issue unless we want 'make' to install the module into the Apache instance that it was built with.