Watch, Follow, &
Connect with Us

Please visit our new home
community.embarcadero.com.


Welcome, Guest
Guest Settings
Help

Thread: Web::Httpd24::apr_table_get(apr_table_t*, char*): error: undefined?



Permlink Replies: 1 - Last Post: Jul 5, 2017 10:55 PM Last Post By: rick wu
rick wu

Posts: 3
Registered: 11/9/16
Web::Httpd24::apr_table_get(apr_table_t*, char*): error: undefined?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 5, 2017 10:53 PM
I am developing web service(SOAP) with Apache dynamic link module in Delphi XE 10.2

I only create a simple project with empty method. I can build the project OK for windows platform. When I choose a 64 bit Linux platform. It give the following error:

[DCC Error] E2597 c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::apr_table_get(apr_table_t*, char*): error: undefined reference to 'apr_table_get'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::apr_table_set(apr_table_t*, char const*, char const*): error: undefined reference to 'apr_table_set'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::apr_table_add(apr_table_t*, char const*, char const*): error: undefined reference to 'apr_table_add'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::apr_pool_cleanup_register(Web::Httpd24::apr_pool_t*, void const*, int (*)(void const*), int (*)(void const*)): error: undefined reference to 'apr_pool_cleanup_register'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_get_remote_host(conn_rec*, void*, int, int*): error: undefined reference to 'ap_get_remote_host'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_get_server_port(request_rec*): error: undefined reference to 'ap_get_server_port'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_server_root_relative(Web::Httpd24::apr_pool_t*, char const*): error: undefined reference to 'ap_server_root_relative'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_rwrite(void*, int, request_rec*): error: undefined reference to 'ap_rwrite'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_setup_client_block(request_rec*, int): error: undefined reference to 'ap_setup_client_block'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_should_client_block(request_rec*): error: undefined reference to 'ap_should_client_block'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_get_client_block(request_rec*, unsigned char*, int): error: undefined reference to 'ap_get_client_block'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::apr_pstrdup(Web::Httpd24::apr_pool_t*, char*): error: undefined reference to 'apr_pstrdup'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_hook_child_init(void (*)(Web::Httpd24::apr_pool_t*, server_rec*), char16_t**, char16_t**, int): error: undefined reference to 'ap_hook_child_init'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_hook_handler(int (*)(request_rec*), char16_t**, char16_t**, int): error: undefined reference to 'ap_hook_handler'
rick wu

Posts: 3
Registered: 11/9/16
Re: Web::Httpd24::apr_table_get(apr_table_t*, char*): error: undefined?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 5, 2017 10:55 PM   in response to: rick wu in response to: rick wu
I debug to Delphi XE source code.

I find the problem is in unit Web.HTTPD24.

I find these comment

{$IFDEF MSWINDOWS}
LibHTTPD = 'libhttpd.dll'; {do not localize}
LibAPR = 'libapr-1.dll'; {do not localize}
{$A8}
{$ENDIF}

{$IFDEF LINUX}
{ By using a blank string, we will not require httpd to be built with
a shared core on Linux. If you wish to build with a shared core,
you must change the following two defines as required and rebuild
HTTPD2.pas }
LibHTTPD = '';
LibAPR = '';
{$ENDIF}

Can anybody explain {$IFDEF LINUX} this part?

rick wu wrote:
I am developing web service(SOAP) with Apache dynamic link module in Delphi XE 10.2

I only create a simple project with empty method. I can build the project OK for windows platform. When I choose a 64 bit Linux platform. It give the following error:

[DCC Error] E2597 c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::apr_table_get(apr_table_t*, char*): error: undefined reference to 'apr_table_get'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::apr_table_set(apr_table_t*, char const*, char const*): error: undefined reference to 'apr_table_set'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::apr_table_add(apr_table_t*, char const*, char const*): error: undefined reference to 'apr_table_add'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::apr_pool_cleanup_register(Web::Httpd24::apr_pool_t*, void const*, int (*)(void const*), int (*)(void const*)): error: undefined reference to 'apr_pool_cleanup_register'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_get_remote_host(conn_rec*, void*, int, int*): error: undefined reference to 'ap_get_remote_host'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_get_server_port(request_rec*): error: undefined reference to 'ap_get_server_port'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_server_root_relative(Web::Httpd24::apr_pool_t*, char const*): error: undefined reference to 'ap_server_root_relative'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_rwrite(void*, int, request_rec*): error: undefined reference to 'ap_rwrite'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_setup_client_block(request_rec*, int): error: undefined reference to 'ap_setup_client_block'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_should_client_block(request_rec*): error: undefined reference to 'ap_should_client_block'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_get_client_block(request_rec*, unsigned char*, int): error: undefined reference to 'ap_get_client_block'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::apr_pstrdup(Web::Httpd24::apr_pool_t*, char*): error: undefined reference to 'apr_pstrdup'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_hook_child_init(void (*)(Web::Httpd24::apr_pool_t*, server_rec*), char16_t**, char16_t**, int): error: undefined reference to 'ap_hook_child_init'
c:\program files\embarcadero\studio\19.0\lib\Linux64\debug\Web.HTTPD24.o:Web.HTTPD24:function Web::Httpd24::ap_hook_handler(int (*)(request_rec*), char16_t**, char16_t**, int): error: undefined reference to 'ap_hook_handler'
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02