I want to install mod_perl on a Sun-Fire-V240 solaris machine with Solaris
5.9 installed.
Perl 5.8.7 and Apache 2.2.0 are already installed.

I have also installed the fallowing solaris packages:
apr-1.2.2
aprutil-1.2.2
expat
libiconv
gdbm
db-4.2.52.NC
openssl-0.9.8a
gcc-3.3.2
make

After that I downloaded mod_perl
(http://perl.apache.org/dist/mod_perl-2.0.2.tar.gz) and started with the
mod_perl Installation:


bash-2.05# perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
MP_APR_CONFIG=/usr/local/apr/bin/apr-config
Reading Makefile.PL args from @ARGV
MP_APXS = /usr/local/apache2/bin/apxs
no conflicting prior mod_perl version found - good.
Configuring Apache/2.2.0*/ mod_perl2/2.0.2 Perl/v5.8.7
[ info] generating script t/TEST
[ info] generating script ./t/cgi-bin/cookies.pl
Writing Makefile for Apache::Test
Checking for File::Spec...ok
Checking for Cwd...ok
[ info] generating script t/TEST
Writing Makefile for ModPerl::Registry
Writing Makefile for APR::Base64
Writing Makefile for APR::Brigade
Writing Makefile for APR::Bucket
Writing Makefile for APR::BucketAlloc
Writing Makefile for APR::BucketType
Writing Makefile for APR:ate
Writing Makefile for APR::Error
Writing Makefile for APR::Finfo
Writing Makefile for APR::IpSubnet
Writing Makefile for APR::OS
Writing Makefile for APR::Pool
Writing Makefile for APR::SockAddr
Writing Makefile for APR::Socket
Writing Makefile for APR::Status
Writing Makefile for APR::String
Writing Makefile for APR::Table
Writing Makefile for APR::ThreadMutex
Writing Makefile for APR::URI
Writing Makefile for APR::UUID
Writing Makefile for APR::Util
Writing Makefile for APR
Writing Makefile for Apache2::Access
Writing Makefile for Apache2::CmdParms
Writing Makefile for Apache2::Command
Writing Makefile for Apache2::Connection
Writing Makefile for Apache2:irective
Writing Makefile for Apache2::Filter
Writing Makefile for Apache2::FilterRec
Writing Makefile for Apache2::HookRun
Writing Makefile for Apache2::Log
Writing Makefile for Apache2::MPM
Writing Makefile for Apache2::Module
Writing Makefile for Apache2::Process
Writing Makefile for Apache2::RequestIO
Writing Makefile for Apache2::RequestRec
Writing Makefile for Apache2::RequestUtil
Writing Makefile for Apache2::Response
Writing Makefile for Apache2::ServerRec
Writing Makefile for Apache2::ServerUtil
Writing Makefile for Apache2::SubProcess
Writing Makefile for Apache2::SubRequest
Writing Makefile for Apache2::URI
Writing Makefile for Apache2::Util
Writing Makefile for Apache2
Writing Makefile for ModPerl::Global
Writing Makefile for ModPerl::Util
Writing Makefile for ModPerl
Writing Makefile for ModPerl::WrapXS
Note (probably harmless): No library found for -ldb-4.2
Writing Makefile for APR
Writing Makefile for APR::Const
Writing Makefile for APR::PerlIO
Writing Makefile for libaprext
Writing Makefile for APR_build
Writing Makefile for Apache2::Const
Writing Makefile for Apache2_build
Writing Makefile for ModPerl::Const
Writing Makefile for ModPerl
Writing Makefile for ModPerl::XS
Writing Makefile for mod_perl2
[warning] mod_perl dso library will be built as mod_perl.so
[warning] You'll need to add the following to httpd.conf:
[warning]
[warning] LoadModule perl_module modules/mod_perl.so
[warning]
[warning] depending on your build, mod_perl might not live in
[warning] the modules/ directory.

[warning] Check the results of
[warning]
[warning] $ /usr/local/apache2/bin/apxs -q LIBEXECDIR
[warning]
[warning] and adjust the LoadModule directive accordingly.

The Makefile process look good. But the following make process prints a lot
of errors.


bash-2.05# make
cd "src/modules/perl" && make
make[1]: Entering directory `/tmp/mod_perl-2.0.2/src/modules/perl'
gcc -I/tmp/mod_perl-2.0.2/src/modules/perl -I/tmp/mod_perl-2.0.2/xs -I/usr/l
ocal/apr/include/apr-1 -I/usr/local/apr/include/apr-1 -I/usr/local/include -
I/usr/local/apache2/include -fno-strict-aliasing -pipe -I/usr/local/include
-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE -DMOD_PERL -DMP_COMPAT_1X -DS
OLARIS2=9 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -O -fPIC \
-c mod_perl.c && mv mod_perl.o mod_perl.lo
In file included from /usr/local/apache2/include/httpd.h:43,
from modperl_apache_includes.h:26,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/ap_config.h:26:23: apr_hooks.h: No such file or
directory
/usr/local/apache2/include/ap_config.h:27:32: apr_optional_hooks.h: No such
file or directory
In file included from modperl_apache_includes.h:26,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/httpd.h:54:25: apr_buckets.h: No such file or
directory
/usr/local/apache2/include/httpd.h:723:21: apr_uri.h: No such file or
directory
In file included from modperl_apache_includes.h:26,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/httpd.h:925: error: parse error before
"apr_uri_t"
/usr/local/apache2/include/httpd.h:925: warning: no semicolon at end of
struct or union
/usr/local/apache2/include/httpd.h:975: error: parse error before '}' token
/usr/local/apache2/include/httpd.h:1085: error: parse error before
"APR_RING_ENTRY"
/usr/local/apache2/include/httpd.h:1085: warning: no semicolon at end of
struct or union
/usr/local/apache2/include/httpd.h:1095: error: parse error before '*' token
/usr/local/apache2/include/httpd.h:1095: warning: data definition has no
type or storage class
/usr/local/apache2/include/httpd.h:1098: error: parse error before '}' token
/usr/local/apache2/include/httpd.h:1199: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/httpd.h:1199: warning: no semicolon at end of
struct or union
/usr/local/apache2/include/httpd.h:1204: error: parse error before '}' token
/usr/local/apache2/include/httpd.h:1204: warning: data definition has no
type or storage class
/usr/local/apache2/include/httpd.h:1207: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/httpd.h:1207: warning: no semicolon at end of
struct or union
/usr/local/apache2/include/httpd.h:1208: warning: data definition has no
type or storage class
/usr/local/apache2/include/httpd.h:1209: error: parse error before '}' token
/usr/local/apache2/include/httpd.h:1209: warning: data definition has no
type or storage class
/usr/local/apache2/include/httpd.h:1218: error: parse error before
"core_output_filter_ctx_t"
/usr/local/apache2/include/httpd.h:1218: warning: no semicolon at end of
struct or union
/usr/local/apache2/include/httpd.h:1219: warning: data definition has no
type or storage class
/usr/local/apache2/include/httpd.h:1220: error: parse error before '}' token
/usr/local/apache2/include/httpd.h:1220: warning: data definition has no
type or storage class
In file included from modperl_apache_includes.h:27,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_config.h:29:23: apr_hooks.h: No such file or
directory
In file included from modperl_apache_includes.h:27,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_config.h:975: error: parse error before
"int"
In file included from /usr/local/apache2/include/http_log.h:33,
from modperl_apache_includes.h:28,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apr/include/apr-1/apr_thread_proc.h:53: warning: data definition
has no type or storage class
/usr/local/apr/include/apr-1/apr_thread_proc.h:466: error: parse error
before "apr_cmdtype_e"
In file included from modperl_apache_includes.h:28,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_log.h:335: error: parse error before "void"
In file included from modperl_apache_includes.h:29,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_protocol.h:30:23: apr_hooks.h: No such file
or directory
In file included from /usr/local/apr/include/apr-1/apr_global_mutex.h:26,
from /usr/local/apr/include/apr-1/apr_portable.h:34,
from /usr/local/apache2/include/http_protocol.h:31,
from modperl_apache_includes.h:29,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apr/include/apr-1/apr_proc_mutex.h:51: warning: data definition
has no type or storage class
/usr/local/apr/include/apr-1/apr_proc_mutex.h:81: error: parse error before
"apr_lockmech_e"
In file included from /usr/local/apr/include/apr-1/apr_portable.h:34,
from /usr/local/apache2/include/http_protocol.h:31,
from modperl_apache_includes.h:29,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apr/include/apr-1/apr_global_mutex.h:76: error: parse error
before "apr_lockmech_e"
/usr/local/apache2/include/http_protocol.h:33:25: apr_buckets.h: No such
file or directory
In file included from /usr/local/apache2/include/http_protocol.h:34,
from modperl_apache_includes.h:29,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/util_filter.h:26:25: apr_buckets.h: No such file
or directory
In file included from /usr/local/apache2/include/http_protocol.h:34,
from modperl_apache_includes.h:29,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/util_filter.h:137: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/util_filter.h:139: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/util_filter.h:296: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/util_filter.h:310: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/util_filter.h:492: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/util_filter.h:503: error: parse error before '*'
token
/usr/local/apache2/include/util_filter.h:511: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/util_filter.h:548: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/util_filter.h:559: error: parse error before
"apr_bucket_brigade"
In file included from modperl_apache_includes.h:29,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_protocol.h:45: error: parse error before
"void"
/usr/local/apache2/include/http_protocol.h:77: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/http_protocol.h:537: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/http_protocol.h:569: error: parse error before
"int"
/usr/local/apache2/include/http_protocol.h:608: error: parse error before
"apr_bucket_refcount"
/usr/local/apache2/include/http_protocol.h:608: warning: no semicolon at end
of struct or union
/usr/local/apache2/include/http_protocol.h:613: error: parse error before
'}' token
/usr/local/apache2/include/http_protocol.h:616: error: parse error before
"ap_bucket_type_error"
/usr/local/apache2/include/http_protocol.h:616: warning: data definition has
no type or storage class
/usr/local/apache2/include/http_protocol.h:633: error: parse error before
'*' token
/usr/local/apache2/include/http_protocol.h:633: error: parse error before
'*' token
/usr/local/apache2/include/http_protocol.h:634: warning: data definition has
no type or storage class
/usr/local/apache2/include/http_protocol.h:644: error: parse error before
'*' token
/usr/local/apache2/include/http_protocol.h:646: error: parse error before
"apr_bucket_alloc_t"
/usr/local/apache2/include/http_protocol.h:646: warning: data definition has
no type or storage class
/usr/local/apache2/include/http_protocol.h:648: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/http_protocol.h:649: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/http_protocol.h:651: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/http_protocol.h:652: error: parse error before
"apr_bucket_brigade"
In file included from modperl_apache_includes.h:30,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_main.h:29:26: apr_optional.h: No such file
or directory
In file included from modperl_apache_includes.h:30,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_main.h:64: error: parse error before
"ap_signal_server"
In file included from modperl_apache_includes.h:31,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_request.h:44:23: apr_hooks.h: No such file
or directory
In file included from modperl_apache_includes.h:31,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_request.h:131: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/http_request.h:261: error: parse error before
"int"
In file included from modperl_apache_includes.h:32,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_connection.h:29:23: apr_hooks.h: No such
file or directory
/usr/local/apache2/include/http_connection.h:31:25: apr_buckets.h: No such
file or directory
In file included from modperl_apache_includes.h:32,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_connection.h:94: error: parse error before
"conn_rec"
/usr/local/apache2/include/http_connection.h:135: error: parse error before
'*' token
/usr/local/apache2/include/http_connection.h:135: warning: data definition
has no type or storage class
/usr/local/apache2/include/http_connection.h:143: error: parse error before
'*' token
/usr/local/apache2/include/http_connection.h:143: error: parse error before
'*' token
/usr/local/apache2/include/http_connection.h:143: warning: data definition
has no type or storage class
In file included from modperl_apache_includes.h:33,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_core.h:31:26: apr_optional.h: No such file
or directory
In file included from modperl_apache_includes.h:33,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/http_core.h:609: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/http_core.h:612: error: parse error before
"apr_bucket_brigade"
/usr/local/apache2/include/http_core.h:662: error: parse error before "int"
/usr/local/apache2/include/http_core.h:680: error: parse error before
"ap_ident_lookup"
In file included from modperl_apache_includes.h:39,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/util_script.h:29:25: apr_buckets.h: No such file
or directory
In file included from modperl_apache_includes.h:39,
from mod_perl.h:19,
from mod_perl.c:16:
/usr/local/apache2/include/util_script.h:104: error: parse error before
"apr_bucket_brigade"
In file included from modperl_common_includes.h:21,
from mod_perl.h:20,
from mod_perl.c:16:
modperl_apr_includes.h:29:21: apr_uri.h: No such file or directory
modperl_apr_includes.h:30:22: apr_date.h: No such file or directory
modperl_apr_includes.h:31:25: apr_buckets.h: No such file or directory
modperl_apr_includes.h:35:22: apr_uuid.h: No such file or directory
In file included from modperl_common_includes.h:24,
from mod_perl.h:20,
from mod_perl.c:16:
modperl_common_types.h:22: error: parse error before "apr_uri_t"
modperl_common_types.h:22: warning: no semicolon at end of struct or union
modperl_common_types.h:25: error: parse error before '}' token
modperl_common_types.h:25: warning: data definition has no type or storage
class
In file included from mod_perl.h:71,
from mod_perl.c:16:
modperl_types.h:227: error: parse error before "apr_bucket"
modperl_types.h:227: warning: no semicolon at end of struct or union
modperl_types.h:228: warning: data definition has no type or storage class
modperl_types.h:229: error: parse error before '*' token
modperl_types.h:229: warning: data definition has no type or storage class
modperl_types.h:231: error: parse error before "block"
modperl_types.h:231: warning: data definition has no type or storage class
modperl_types.h:237: error: parse error before '}' token
modperl_types.h:237: warning: data definition has no type or storage class
In file included from modperl_util.h:19,
from mod_perl.h:72,
from mod_perl.c:16:
modperl_common_util.h:96: error: parse error before '*' token
modperl_common_util.h:96: warning: data definition has no type or storage
class
In file included from mod_perl.h:84,
from mod_perl.c:16:
modperl_filter.h:50: error: parse error before '*' token
modperl_filter.h:51: error: parse error before "apr_bucket_brigade"
modperl_filter.h:55: warning: data definition has no type or storage class
modperl_filter.h:57: error: parse error before '*' token
modperl_filter.h:57: warning: data definition has no type or storage class
modperl_filter.h:62: error: parse error before '*' token
modperl_filter.h:66: error: parse error before "apr_bucket_brigade"
modperl_filter.h:72: error: parse error before '*' token
modperl_filter.h:73: error: parse error before '*' token
modperl_filter.h:77: error: parse error before '*' token
modperl_filter.h:82: error: parse error before '*' token
modperl_filter.h:86: error: parse error before '*' token
modperl_filter.h:90: error: parse error before "apr_bucket_brigade"
modperl_filter.h:100: error: parse error before '*' token
modperl_filter.h:105: error: parse error before '*' token
In file included from mod_perl.h:85,
from mod_perl.c:16:
modperl_bucket.h:19: error: parse error before '*' token
modperl_bucket.h:19: error: parse error before '*' token
modperl_bucket.h:20: warning: data definition has no type or storage class
In file included from mod_perl.c:16:
mod_perl.h:155: error: parse error before "modperl_interp_unselect"
mod_perl.c: In function `modperl_hook_create_request':
mod_perl.c:733: error: dereferencing pointer to incomplete type
mod_perl.c:735: error: dereferencing pointer to incomplete type
mod_perl.c: In function `modperl_register_hooks':
mod_perl.c:840: error: `APR_HOOK_MIDDLE' undeclared (first use in this
function)
mod_perl.c:840: error: (Each undeclared identifier is reported only once
mod_perl.c:840: error: for each function it appears in.)
mod_perl.c:843: error: `APR_HOOK_FIRST' undeclared (first use in this
function)
mod_perl.c:846: error: `APR_HOOK_REALLY_LAST' undeclared (first use in this
function)
mod_perl.c:855: error: `APR_HOOK_LAST' undeclared (first use in this
function)
mod_perl.c: In function `modperl_response_init':
mod_perl.c:959: error: dereferencing pointer to incomplete type
mod_perl.c:960: error: dereferencing pointer to incomplete type
mod_perl.c:965: error: dereferencing pointer to incomplete type
mod_perl.c:972: error: dereferencing pointer to incomplete type
mod_perl.c:973: error: dereferencing pointer to incomplete type
mod_perl.c: In function `modperl_response_finish':
mod_perl.c:982: error: dereferencing pointer to incomplete type
mod_perl.c: In function `modperl_response_handler_run':
mod_perl.c:996: error: dereferencing pointer to incomplete type
mod_perl.c:997: error: dereferencing pointer to incomplete type
mod_perl.c:997: error: dereferencing pointer to incomplete type
mod_perl.c: In function `modperl_response_handler':
mod_perl.c:1012: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c: In function `modperl_response_handler_cgi':
mod_perl.c:1048: error: dereferencing pointer to incomplete type
mod_perl.c:1051: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
make[1]: *** [mod_perl.lo] Error 1
make[1]: Leaving directory `/tmp/mod_perl-2.0.2/src/modules/perl'
make: *** [modperl_lib] Error 2


It seems that some *.h files cannot find apr_*.h files. As you can see in
the output of the following find command, the system has found apr_hooks.h.

bash-2.05# find / -name apr_hooks.h
/opt/qip/apache/install_temp/bindist/include/apr_hooks.h
/opt/qip/apache/include/apr_hooks.h
/usr/local/apr/include/apr_hooks.h

It is very important to solve this problems asap. What do I wrong?

Does anybody know if there are exists precompiled mod_perl?

Thanks to every reply!