Compiling JRun connector for Apache 2 in Debian
June 17, 2008
Caveat: for my own notes more than anything else.
If you're trying to Macromedia JRun (in my case JRun4) connecting to Apache/Apache2 in Debian, the compilation of the connector may go smoothly until you try restarting the server, at which point you get the error:
mod_jrun20.so: undefined symbol: ap_table_get
The solution is to edit mod_jrun20.h (editing C header files WOO HOO) and add the following lines under "/* Apache includes */" (about line 28)
#ifndef ap_copy_table
#define ap_copy_table apr_table_copy
#define ap_cpystrn apr_cpystrn
#define ap_destroy_pool apr_pool_destroy
#define ap_isspace apr_isspace
#define ap_make_array apr_array_make
#define ap_make_table apr_table_make
#define ap_null_cleanup apr_pool_cleanup_null
#define ap_palloc apr_palloc
#define ap_pcalloc apr_pcalloc
#define ap_psprintf apr_psprintf
#define ap_pstrcat apr_pstrcat
#define ap_pstrdup apr_pstrdup
#define ap_pstrndup apr_pstrndup
#define ap_push_array apr_array_push
#define ap_register_cleanup apr_pool_cleanup_register
#define ap_snprintf apr_snprintf
#define ap_table_add apr_table_add
#define ap_table_do apr_table_do
#define ap_table_get apr_table_get
#define ap_table_set apr_table_set
#define ap_table_setn apr_table_setn
#define ap_table_unset apr_table_unset
#define ap_http_method(r) ap_http_scheme(r)#endif /* defined(ap_copy_table) */
Then recompile and it should be working. If I was smart enough I'd provide you with the patch file; alas, my Linux-fu has failed me. This is in addition to installing JRun4 on Debian in the first place, which is, frankly, troublesome.
Posted by davidr at June 17, 2008 1:01 PM
