LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Enterprise Linux Forums > Linux - Enterprise
User Name
Password
Linux - Enterprise This forum is for all items relating to using Linux in the Enterprise.

Notices


Reply
  Search this Thread
Old 02-08-2007, 10:06 AM   #1
gdeckler
LQ Newbie
 
Registered: Jul 2003
Posts: 14

Rep: Reputation: 0
mod_jk and Apache 2.2


I am trying to get mod_jk to work with an Apache 2.2 implementation and having zero luck.

I am looking for either a mod_jk compiled for Apache 2.2 or for help with compiling mod_jk (details below).

My environment is RedHat ES4 on i386 architecture. I am using XAMPP 1.5.3a with Apache 2.2.2 and have the appropriate XAMPP devel package installed as well.

I have been out to the Tomcat Connectors website and downloaded the latest binaries for Linux and they do not work. Essentially "garbled DSO" errors.

Tomcat Connectors FAQ states that mod_jk works with Apache 2.2 but that you need a .so that is compiled for 2.2.

Any assistance is greatly appreciated as I am up against a wall to get this working.

Here are my Compile Details:

Downloaded mod_jk source

./configure --with-apxs2=/opt/lampp/bin/apxs --with-apache=/usr/local/src/lampp/

This works, then "make" gives:

...
gcc -I/usr/local/src/lampp//include -I/usr/local/src/lampp//srclib/apr/include -I/usr/local/src/lampp//os/unix -I/usr/local/src/lampp//srclib/apr-util/include -g -O2 -g -O2 -I /include -I /include/ -c jk_status.c -o jk_status.o >/dev/null 2>&1
make[1]: Leaving directory `/home/gdeckler/tomcat-connectors-1.2.20-src/native/common'
Making all in apache-2.0
make[1]: Entering directory `/home/gdeckler/tomcat-connectors-1.2.20-src/native/apache-2.0'
/bin/sh ../libtool --mode=compile gcc -I/usr/local/src/lampp//include -I/usr/local/src/lampp//srclib/apr/include -I/usr/local/src/lampp//os/unix -I/usr/local/src/lampp//srclib/apr-util/include -g -O2 -DUSE_APACHE_MD5 -I ../common -I /include -I /include/ -g -O2 -c mod_jk.c -o mod_jk.lo
mkdir .libs
gcc -I/usr/local/src/lampp//include -I/usr/local/src/lampp//srclib/apr/include -I/usr/local/src/lampp//os/unix -I/usr/local/src/lampp//srclib/apr-util/include -g -O2 -DUSE_APACHE_MD5 -I ../common -I /include -I /include/ -g -O2 -c mod_jk.c -fPIC -DPIC -o .libs/mod_jk.o
In file included from /usr/local/src/lampp//include/ap_config.h:25,
from mod_jk.c:29:
/usr/local/src/lampp//include/apr.h:270: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'apr_off_t'
In file included from mod_jk.c:32:
/usr/local/src/lampp//include/apr_file_info.h:204: error: expected specifier-qualifier-list before 'apr_off_t'
In file included from mod_jk.c:33:
/usr/local/src/lampp//include/apr_file_io.h:548: error: expected declaration specifiers or '...' before 'apr_off_t'
/usr/local/src/lampp//include/apr_file_io.h:740: error: expected declaration specifiers or '...' before 'apr_off_t'
In file included from /usr/local/src/lampp//include/httpd.h:53,
from mod_jk.c:34:
...

I checked where things start to go wrong:
/usr/local/src/lampp//include/apr.h:270: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'apr_off_t'

and line 270 of apr.h is the typdef off64_t line below:

typedef size_t apr_size_t;
typedef ssize_t apr_ssize_t;
typedef off64_t apr_off_t;
typedef socklen_t apr_socklen_t;

Which doesn't look particularly heinous.

Here is my environment

RedHat ES4 OS
i386 environment

My build environment:

· Download: glibc-kernheaders-3.0-5.2.i386.rpm
· Download: glibc-common-2.5.90-16.i386.rpm
· Download: glibc-2.5.90-16.i386.rpm
· Download: glibc-headers-2.5.90-16.i386.rpm
· Download: binutils-2.17.50.0.9-1.i386.rpm
· Download: glibc-devel-2.5.90-16.i386.rpm
· Download: libgomp-4.1.1-55.i386.rpm
· Download: libgcc-4.1.1-55.i386.rpm
· Download: cpp-4.1.1-55.i386.rpm
· Download: gcc-4.1.1-55.i386.rpm
· Download: libstdc++-4.1.1-55.i386.rpm
· Download: libstdc++-devel-4.1.1-55.i386.rpm
· Download: gcc-c++-4.1.1-55.i386.rpm
· Download: libpng-1.2.8-2.2.1.i386.rpm
· Download: cairo-1.3.12-1.fc7.i386.rpm
· Download: glib2-2.12.9-3.fc7.i386.rpm
· Download: libthai-0.1.7-5.fc7.i386.rpm
· Download: filesystem-2.4.1-1.i386.rpm
· Download: xorg-x11-filesystem-7.1-2.fc6.noarch.rpm
· Download: libXau-1.0.3-1.fc7.i386.rpm
· Download: libXdmcp-1.0.2-2.fc7.i386.rpm
· Download: libX11-1.0.3-7.fc7.i386.rpm
· Download: libXext-1.0.1-2.1.i386.rpm
· Download: libXft-2.1.8.2-3.2.i386.rpm
· Download: libXrender-0.9.2-1.fc7.i386.rpm
· Download: pango-1.15.5-1.fc7.i386.rpm
· Download: libgcj-4.1.1-55.i386.rpm
· Download: libobjc-4.1.1-55.i386.rpm
· Download: gcc-objc-4.1.1-55.i386.rpm

· rpm -ivh glibc-kernheaders-3.0-5.2.i386.rpm
· rpm –Fvh glibc*
· rpm -ivh glibc-headers-2.5.90-16.i386.rpm
· rpm -Fvh binutils-2.17.50.0.9-1.i386.rpm
· rpm -ivh glibc-devel-2.5.90-16.i386.rpm
· rpm -ivh libgomp-4.1.1-55.i386.rpm
· rpm -Fvh libgcc-4.1.1-55.i386.rpm
· rpm -ivh cpp-4.1.1-55.i386.rpm
· rpm -ivh gcc-4.1.1-55.i386.rpm
· rpm -Fvh libstdc++-4.1.1-55.i386.rpm
· rpm -ivh libstdc++-devel-4.1.1-55.i386.rpm
· rpm -ivh gcc-c++-4.1.1-55.i386.rpm
· rpm -Fvh libpng-1.2.8-2.2.1.i386.rpm
· rpm -ivh --nodeps cairo-1.3.12-1.fc7.i386.rpm
· rpm -Fvh glib2-2.12.9-3.fc7.i386.rpm
· rpm -ivh libthai-0.1.7-5.fc7.i386.rpm
· rpm -Fvh filesystem-2.4.1-1.i386.rpm
· rpm -ivh xorg-x11-filesystem-7.1-2.fc6.noarch.rpm
· rpm -ivh libXau-1.0.3-1.fc7.i386.rpm
· rpm -ivh libXdmcp-1.0.2-2.fc7.i386.rpm
· rpm -ivh libX11-1.0.3-7.fc7.i386.rpm
· rpm -ivh libXext-1.0.1-2.1.i386.rpm
· rpm -ivh libXft-2.1.8.2-3.2.i386.rpm
· rpm -ivh libXrender-0.9.2-1.fc7.i386.rpm
· rpm -Fvh pango-1.15.5-1.fc7.i386.rpm
· rpm -Fvh libgcj-4.1.1-55.i386.rpm
· rpm -Fvh libobjc-4.1.1-55.i386.rpm
· rpm -ivh gcc-objc-4.1.1-55.i386.rpm

Any suggestions as to a build environment that will work for this? I can't fathom why it would just suddenly bail on that particular line of code. Do I need some additional "configure" flags? Should I be pointing configure to a different location? What gives?
 
Old 02-08-2007, 01:23 PM   #2
rahulk
Member
 
Registered: Mar 2006
Posts: 110

Rep: Reputation: 16
Quote:
Originally Posted by gdeckler
I am trying to get mod_jk to work with an Apache 2.2 implementation and having zero luck.

I am looking for either a mod_jk compiled for Apache 2.2 or for help with compiling mod_jk (details below).

My environment is RedHat ES4 on i386 architecture. I am using XAMPP 1.5.3a with Apache 2.2.2 and have the appropriate XAMPP devel package installed as well.

I have been out to the Tomcat Connectors website and downloaded the latest binaries for Linux and they do not work. Essentially "garbled DSO" errors.

Tomcat Connectors FAQ states that mod_jk works with Apache 2.2 but that you need a .so that is compiled for 2.2.

Any assistance is greatly appreciated as I am up against a wall to get this working.

Here are my Compile Details:

Downloaded mod_jk source

./configure --with-apxs2=/opt/lampp/bin/apxs --with-apache=/usr/local/src/lampp/

This works, then "make" gives:

...
gcc -I/usr/local/src/lampp//include -I/usr/local/src/lampp//srclib/apr/include -I/usr/local/src/lampp//os/unix -I/usr/local/src/lampp//srclib/apr-util/include -g -O2 -g -O2 -I /include -I /include/ -c jk_status.c -o jk_status.o >/dev/null 2>&1
make[1]: Leaving directory `/home/gdeckler/tomcat-connectors-1.2.20-src/native/common'
Making all in apache-2.0
make[1]: Entering directory `/home/gdeckler/tomcat-connectors-1.2.20-src/native/apache-2.0'
/bin/sh ../libtool --mode=compile gcc -I/usr/local/src/lampp//include -I/usr/local/src/lampp//srclib/apr/include -I/usr/local/src/lampp//os/unix -I/usr/local/src/lampp//srclib/apr-util/include -g -O2 -DUSE_APACHE_MD5 -I ../common -I /include -I /include/ -g -O2 -c mod_jk.c -o mod_jk.lo
mkdir .libs
gcc -I/usr/local/src/lampp//include -I/usr/local/src/lampp//srclib/apr/include -I/usr/local/src/lampp//os/unix -I/usr/local/src/lampp//srclib/apr-util/include -g -O2 -DUSE_APACHE_MD5 -I ../common -I /include -I /include/ -g -O2 -c mod_jk.c -fPIC -DPIC -o .libs/mod_jk.o
In file included from /usr/local/src/lampp//include/ap_config.h:25,
from mod_jk.c:29:
/usr/local/src/lampp//include/apr.h:270: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'apr_off_t'
In file included from mod_jk.c:32:
/usr/local/src/lampp//include/apr_file_info.h:204: error: expected specifier-qualifier-list before 'apr_off_t'
In file included from mod_jk.c:33:
/usr/local/src/lampp//include/apr_file_io.h:548: error: expected declaration specifiers or '...' before 'apr_off_t'
/usr/local/src/lampp//include/apr_file_io.h:740: error: expected declaration specifiers or '...' before 'apr_off_t'
In file included from /usr/local/src/lampp//include/httpd.h:53,
from mod_jk.c:34:
...

I checked where things start to go wrong:
/usr/local/src/lampp//include/apr.h:270: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'apr_off_t'

and line 270 of apr.h is the typdef off64_t line below:

typedef size_t apr_size_t;
typedef ssize_t apr_ssize_t;
typedef off64_t apr_off_t;
typedef socklen_t apr_socklen_t;

Which doesn't look particularly heinous.

Here is my environment

RedHat ES4 OS
i386 environment

My build environment:

· Download: glibc-kernheaders-3.0-5.2.i386.rpm
· Download: glibc-common-2.5.90-16.i386.rpm
· Download: glibc-2.5.90-16.i386.rpm
· Download: glibc-headers-2.5.90-16.i386.rpm
· Download: binutils-2.17.50.0.9-1.i386.rpm
· Download: glibc-devel-2.5.90-16.i386.rpm
· Download: libgomp-4.1.1-55.i386.rpm
· Download: libgcc-4.1.1-55.i386.rpm
· Download: cpp-4.1.1-55.i386.rpm
· Download: gcc-4.1.1-55.i386.rpm
· Download: libstdc++-4.1.1-55.i386.rpm
· Download: libstdc++-devel-4.1.1-55.i386.rpm
· Download: gcc-c++-4.1.1-55.i386.rpm
· Download: libpng-1.2.8-2.2.1.i386.rpm
· Download: cairo-1.3.12-1.fc7.i386.rpm
· Download: glib2-2.12.9-3.fc7.i386.rpm
· Download: libthai-0.1.7-5.fc7.i386.rpm
· Download: filesystem-2.4.1-1.i386.rpm
· Download: xorg-x11-filesystem-7.1-2.fc6.noarch.rpm
· Download: libXau-1.0.3-1.fc7.i386.rpm
· Download: libXdmcp-1.0.2-2.fc7.i386.rpm
· Download: libX11-1.0.3-7.fc7.i386.rpm
· Download: libXext-1.0.1-2.1.i386.rpm
· Download: libXft-2.1.8.2-3.2.i386.rpm
· Download: libXrender-0.9.2-1.fc7.i386.rpm
· Download: pango-1.15.5-1.fc7.i386.rpm
· Download: libgcj-4.1.1-55.i386.rpm
· Download: libobjc-4.1.1-55.i386.rpm
· Download: gcc-objc-4.1.1-55.i386.rpm

· rpm -ivh glibc-kernheaders-3.0-5.2.i386.rpm
· rpm –Fvh glibc*
· rpm -ivh glibc-headers-2.5.90-16.i386.rpm
· rpm -Fvh binutils-2.17.50.0.9-1.i386.rpm
· rpm -ivh glibc-devel-2.5.90-16.i386.rpm
· rpm -ivh libgomp-4.1.1-55.i386.rpm
· rpm -Fvh libgcc-4.1.1-55.i386.rpm
· rpm -ivh cpp-4.1.1-55.i386.rpm
· rpm -ivh gcc-4.1.1-55.i386.rpm
· rpm -Fvh libstdc++-4.1.1-55.i386.rpm
· rpm -ivh libstdc++-devel-4.1.1-55.i386.rpm
· rpm -ivh gcc-c++-4.1.1-55.i386.rpm
· rpm -Fvh libpng-1.2.8-2.2.1.i386.rpm
· rpm -ivh --nodeps cairo-1.3.12-1.fc7.i386.rpm
· rpm -Fvh glib2-2.12.9-3.fc7.i386.rpm
· rpm -ivh libthai-0.1.7-5.fc7.i386.rpm
· rpm -Fvh filesystem-2.4.1-1.i386.rpm
· rpm -ivh xorg-x11-filesystem-7.1-2.fc6.noarch.rpm
· rpm -ivh libXau-1.0.3-1.fc7.i386.rpm
· rpm -ivh libXdmcp-1.0.2-2.fc7.i386.rpm
· rpm -ivh libX11-1.0.3-7.fc7.i386.rpm
· rpm -ivh libXext-1.0.1-2.1.i386.rpm
· rpm -ivh libXft-2.1.8.2-3.2.i386.rpm
· rpm -ivh libXrender-0.9.2-1.fc7.i386.rpm
· rpm -Fvh pango-1.15.5-1.fc7.i386.rpm
· rpm -Fvh libgcj-4.1.1-55.i386.rpm
· rpm -Fvh libobjc-4.1.1-55.i386.rpm
· rpm -ivh gcc-objc-4.1.1-55.i386.rpm

Any suggestions as to a build environment that will work for this? I can't fathom why it would just suddenly bail on that particular line of code. Do I need some additional "configure" flags? Should I be pointing configure to a different location? What gives?
Firstly, Redhat does not suggest anyone to re-compile Apache webserver on any of its version. You can make jk-plugin work without compiling it on the http instance.

You only require the RPM to install the mod_jk plugin.


Keep the JK module (.so) file in the modules directory and add the following in httpd.conf

LoadModule jk_module /etc/httpd/modules/mod_jk.so

Then the idea of making the JK mount work is to keep it out of <VirtualHost> section.

Create the workers.properties file and use the following directives for that

JkLogFile <log location>
JkLogLevel error
JkWorkersFile /etc/intra_httpd/conf/workers.properties
JkShmFile <location>/jk.shm ##REQUIRED

JkMount /dummy app name/* <JK worker thread>

worker.properties file should look like:-

worker.list=<JK worker thread>
worker.<JK worker thread>.port=<port>
worker.<JK worker thread>.host=<Tomcat server name>
worker.<JK worker thread>.type=ajp13

That should work!! Let me know what problem do you face.

Best Regards,
Rahul.
 
Old 02-08-2007, 02:08 PM   #3
gdeckler
LQ Newbie
 
Registered: Jul 2003
Posts: 14

Original Poster
Rep: Reputation: 0
I've since scrapped this and decided to just use mod_proxy_ajp for right now. But I did try the rpm package thus:

rpm -ivh --nodeps mod_jk-1.2.6-3jpp_4fc.i386.rpm --with apache2

garbled .so

and then

rpm -e --allmatches mod_jk
rpm -ivh --nodeps mod_jk-1.2.6-3jpp_4fc.i386.rpm --define='apxs /opt/lampp/bin/apxs'

garbled .so

and then

rpm -e --allmatches mod_jk
rpm -ivh --nodeps mod_jk-1.2.6-3jpp_4fc.i386.rpm --define='apxs /opt/lampp/bin/apxs' --with apache2

garbled .so

and then

rpm -e --allmatches mod_jk
rpm -ivh --nodeps mod_jk-1.2.6-3jpp_4fc.i386.rpm --with apache2.2

garbled .so

So rpm package does not seem to be the answer. The answer seems to be that mod_jk is dead for Apache > 2.0 and that instead you should use mod_proxy_ajp so I'm going to give that a try.

Thanks for the response and help.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
apache, tomcat & mod_jk jonathon Linux - General 1 06-29-2006 01:06 AM
Apache/Tomcat/Mod_JK chantman Linux - Software 1 04-05-2006 04:32 AM
Apache Tomcat mod_jk connector dashp Linux - Newbie 1 04-01-2005 01:34 PM
connecting Apache 1.3.x and Tomcat 5.5: mod_jk [GOD]Anck Slackware 0 03-22-2005 09:27 AM
mod_jk-2.0.42.so - apache-tomcat connector anura Linux - Software 0 10-11-2004 03:53 AM

LinuxQuestions.org > Forums > Enterprise Linux Forums > Linux - Enterprise

All times are GMT -5. The time now is 01:32 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration