logo
Apache Lounge
Webmasters

 

About Forum Index Downloads Search Register Log in RSS X


Keep Server Online

If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.

or

Bitcoin

A donation makes a contribution towards the costs, the time and effort that's going in this site and building.

Thank You! Steffen

Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
Post new topic   Forum Index -> Building & Member Downloads View previous topic :: View next topic
Reply to topic   Topic: mod_perl problem
Author
roblassche



Joined: 10 Apr 2013
Posts: 3
Location: Netherlands, IJsselstein

PostPosted: Tue 23 Apr '13 1:28    Post subject: mod_perl problem Reply with quote

I use MinGW, Visual C 10 express and MS SDK.
I compiled Perl and Apache (with apr) from source, it works.
The binary mod_perl, downloaded from apachelounge works with MY compiled version of Perl and Apache.

I also want to compile mod_perl from sources, but fails.
This is the error during linking:
icrosoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

mod_perl.lo:mod_perl.c:(.text+0x1a): undefined reference to `_imp__apr_dynamic_fn_register'
mod_perl.lo:mod_perl.c:(.text+0x32): undefined reference to `_imp__ap_server_config_defines'
mod_perl.lo:mod_perl.c:(.text+0x3d): undefined reference to `_imp__apr_array_push@4'
mod_perl.lo:mod_perl.c:(.text+0x51): undefined reference to `_imp__apr_pstrdup@8'
mod_perl.lo:mod_perl.c:(.text+0x7b): undefined reference to `_imp__ap_hook_pre_config@16'
mod_perl.lo:mod_perl.c:(.text+0xa3): undefined reference to `_imp__ap_hook_open_logs@16'
mod_perl.lo:mod_perl.c:(.text+0xcb): undefined reference to `_imp__ap_hook_post_config@16'
mod_perl.lo:mod_perl.c:(.text+0xf3): undefined reference to `_imp__ap_hook_handler@16'
mod_perl.lo:mod_perl.c:(.text+0x141): undefined reference to `_imp__ap_hook_insert_filter@16'
mod_perl.lo:mod_perl.c:(.text+0x18f): undefined reference to `_imp__ap_register_output_filter@16'
mod_perl.lo:mod_perl.c:(.text+0x1b9): undefined reference to `_imp__ap_register_input_filter@16'
mod_perl.lo:mod_perl.c:(.text+0x22b): undefined reference to `_imp__ap_hook_pre_connection@16'
mod_perl.lo:mod_perl.c:(.text+0x253): undefined reference to `_imp__ap_hook_create_request@16'
mod_perl.lo:mod_perl.c:(.text+0x27b): undefined reference to `_imp__ap_hook_post_read_request@16'
mod_perl.lo:mod_perl.c:(.text+0x2a3): undefined reference to `_imp__ap_hook_header_parser@16'
mod_perl.lo:mod_perl.c:(.text+0x2cb): undefined reference to `_imp__ap_hook_child_init@16'
mod_perl.lo:mod_perl.c:(.text+0x2ed): undefined reference to `_imp__apr_pool_cleanup_null'
mod_perl.lo:mod_perl.c:(.text+0x30a): undefined reference to `_imp__apr_pool_cleanup_register@16'
mod_perl.lo:mod_perl.c:(.text+0x36c): undefined reference to `_imp__apr_pool_clear@4'
mod_perl.lo:mod_perl.c:(.text+0x679): undefined reference to `_imp__ap_add_version_component@8'
mod_perl.lo:mod_perl.c:(.text+0x914): undefined reference to `_imp__ap_server_root'
mod_perl.lo:mod_perl.c:(.text+0x96f): undefined reference to `_imp__apr_filepath_merge@20'
mod_perl.lo:mod_perl.c:(.text+0x9bd): undefined reference to `_imp__apr_stat@16'
mod_perl.lo:mod_perl.c:(.text+0xc5d): undefined reference to `_imp__apr_pool_create_ex@16'
mod_perl.lo:mod_perl.c:(.text+0xc78): undefined reference to `_imp__apr_pool_tag@8'
mod_perl.lo:mod_perl.c:(.text+0xcf6): undefined reference to `_imp__apr_pool_cleanup_null'
mod_perl.lo:mod_perl.c:(.text+0xd18): undefined reference to `_imp__apr_pool_cleanup_register@16'
mod_perl.lo:mod_perl.c:(.text+0xd56): undefined reference to `_imp__ap_mpm_query@8'
mod_perl.lo:mod_perl.c:(.text+0xe5f): undefined reference to `_imp__apr_palloc@8'
c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: mod_perl.lo: bad reloc address 0xc in section `.data'
collect2.exe: fout: ld gaf exit-status 1 terug
dmake: Error code 129, while making 'mod_perl.so'
NMAKE : fatal error U1077: 'cd' : return code '0xff'
Stop.

I grepped for some of the undefined reference and only found something in the .h file:
./httpd-2.2.24/srclib/apr/include/apr_file_info.h
/** Cause apr_filepath_merge to fail if addpath is above rootpath
/** Cause apr_filepath_merge to fail if addpath is above rootpath,
/** Fail apr_filepath_merge if the merged path is relative */
/** Fail apr_filepath_merge if the merged path is absolute */
APR_DECLARE(apr_status_t) apr_filepath_merge(char **newpath,
./httpd-2.2.24/srclib/apr/include/arch/win32/apr_arch_file_io.h
* apr_filepath_root or apr_filepath_merge, this fn determines
/* The apr_filepath_merge wants to canonicalize the cwd to the

***
Do you have a clue what is wrong?
Back to top
roblassche



Joined: 10 Apr 2013
Posts: 3
Location: Netherlands, IJsselstein

PostPosted: Wed 24 Apr '13 1:01    Post subject: mod_perl and different compilers Reply with quote

I solved the LINK errors.
Perl was compiled with MinGW and Apache with MS VC10.
I could NOT find in the sources something with _imp__.
I think this is caused by the MinGW compiler.
Anyway, I compiled Perl with MS VC10 and then compile mod_perl from source. The link errors are GONE and mod_perl.so is created.

I will test mod_perl later on, and document the steps involved in compiling and linking.
Back to top
glsmith
Moderator


Joined: 16 Oct 2007
Posts: 2268
Location: Sun Diego, USA

PostPosted: Wed 24 Apr '13 12:12    Post subject: Reply with quote

_imp__ means imported function ... verses an exported function. The actual function name is what is after the _imp__.

_imp__apr_dynamic_fn_register
Back to top


Reply to topic   Topic: mod_perl problem View previous topic :: View next topic
Post new topic   Forum Index -> Building & Member Downloads