You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Michael Felt <ma...@gmail.com> on 2016/08/19 11:14:46 UTC

Question re: build of (64-bit) httpd and issue with apr_password_validate

a) I expect I have "enabled" a new httpd flag as I attempt to build a 
comprehensive 64-bit version of httpd for AIX - so I expect this is a 
"user error". I am hoping for feedback on where to look (short path is 
to not load mod_authn_file, for now). I shall try same build as 32-bit 
and see if the issue goes away.

b) I have built apr and apr-util "differently" than in the past in that:

b1) added --with-crypto

b2) added --with-ldap-dir=/xxx and --with-ldap=ldap

Current ./configure command

It was created by configure, which was
generated by GNU Autoconf 2.69.  Invocation command line was

   $ ../src/httpd-2.4.23/configure --prefix=/opt 
--sysconfdir=/var/httpd/etc --sharedstatedir=/var/httpd/com 
--localstatedir=/var/httpd --mandir=/usr/share/man 
--infodir=/opt/share/info/httpd

c) After build completes - apachectl -t fails with:

root@x064:[/data/prj/apache/httpd-2.4.23]apachectl -t
httpd: Syntax error on line 66 of /var/httpd/etc/httpd.conf: Cannot load 
modules/mod_authn_file.so into server: rtld: 0712-001 Symbol 
apr_password_validate was referenced
from module /opt/modules/mod_authn_file.so(), but a runtime definition
of the symbol was not found.\nrtld: 0712-002 fatal error: exiting.

root@x064:[/data/prj/apache/httpd-2.4.23]nm 
/opt/modules/mod_authn_file.so | grep apr_password_validate
.apr_password_validate T  4294970628
.apr_password_validate t  4294970628          40
apr_password_validate U           -
apr_password_validate d  4563406976           8

root@x064:[/data/prj/apache/httpd-2.4.23]nm /opt/lib/libapr*.a | grep 
apr_password_validate
.apr_password_validate T           0
apr_password_validate D         928          24
apr_password_validate d         896           8
.apr_password_validate T  4295008768
.apr_password_validate T  4295027960
.apr_password_validate t  4295027960          40
apr_password_validate D  4563413360          24
apr_password_validate d  4563420512           8

So, it seems, for some reason - during "make" I think, the U line ( 
apr_password_validate U           - )
has not resolved to the line "apr_password_validate D 
4563413360          24"
while the "T, t, and d" lines did.

And, just to be sure this is not an issue of 32 versus 64-bit listings:

root@x064:[/data/prj/apache/httpd-2.4.23]nm -X32 /opt/lib/libapr*.a | 
grep apr_password_validate
.apr_password_validate T   268475264
.apr_password_validate T   268492664
.apr_password_validate t   268492664          40
apr_password_validate D   536881340          12
apr_password_validate d   536884916           4
.apr_password_validate T           0
apr_password_validate D         912          12
apr_password_validate d         896           4

and

root@x064:[/data/prj/apache/httpd-2.4.23]nm -X64 /opt/lib/libapr*.a | 
grep apr_password_validate
.apr_password_validate T           0
apr_password_validate D         928          24
apr_password_validate d         896           8
.apr_password_validate T  4295008768
.apr_password_validate T  4295027960
.apr_password_validate t  4295027960          40
apr_password_validate D  4563413360          24
apr_password_validate d  4563420512           8

Many thanks for your ideas!

Michael


Re: Question re: build of (64-bit) httpd and issue with apr_password_validate

Posted by Michael Felt <ma...@gmail.com>.
On 8/21/2016 12:12 AM, Michael Felt wrote:
> I fear it is related to my different 'packaging', manually putting the 
> shared library into the .a archive (which is static only by default). 
> Going to try both ways (static and rtld linking to the library).

That seems to have fixed it. As I suspected - user (me) error.

a) working with shared_library stored in the archives 
(${prefix}/lib/libapr.a and ${prefix}/lib/libaprutil.a

Will test again another day with static apr libraries (only). Advantage 
of static could it removes two install dependancies, and maybe slightly 
faster.


Re: Question re: build of (64-bit) httpd and issue with apr_password_validate

Posted by Michael Felt <ma...@gmail.com>.
On 8/21/2016 12:12 AM, Michael Felt wrote:
> I fear it is related to my different 'packaging', manually putting the 
> shared library into the .a archive (which is static only by default). 
> Going to try both ways (static and rtld linking to the library).

That seems to have fixed it. As I suspected - user (me) error.

a) working with shared_library stored in the archives 
(${prefix}/lib/libapr.a and ${prefix}/lib/libaprutil.a

Will test again another day with static apr libraries (only). Advantage 
of static could it removes two install dependancies, and maybe slightly 
faster.


Re: Question re: build of (64-bit) httpd and issue with apr_password_validate

Posted by Michael Felt <ma...@gmail.com>.
On 8/19/2016 3:03 PM, Eric Covener wrote:
> On Fri, Aug 19, 2016 at 7:14 AM, Michael Felt <ma...@gmail.com> wrote:
>> root@x064:[/data/prj/apache/httpd-2.4.23]nm /opt/modules/mod_authn_file.so |
>> grep apr_password_validate
>
> Are you sure that the libapr you're scrutinizing is being loaded at runtime?
>
Needed to reply list...

I fear it is related to my different 'packaging', manually putting the 
shared library into the .a archive (which is static only by default). 
Going to try both ways (static and rtld linking to the library).

Thanks for the feedback!


Re: Question re: build of (64-bit) httpd and issue with apr_password_validate

Posted by Michael Felt <ma...@gmail.com>.
On 8/19/2016 3:03 PM, Eric Covener wrote:
> On Fri, Aug 19, 2016 at 7:14 AM, Michael Felt <ma...@gmail.com> wrote:
>> root@x064:[/data/prj/apache/httpd-2.4.23]nm /opt/modules/mod_authn_file.so |
>> grep apr_password_validate
>
> Are you sure that the libapr you're scrutinizing is being loaded at runtime?
>
Needed to reply list...

I fear it is related to my different 'packaging', manually putting the 
shared library into the .a archive (which is static only by default). 
Going to try both ways (static and rtld linking to the library).

Thanks for the feedback!


Re: Question re: build of (64-bit) httpd and issue with apr_password_validate

Posted by Michael Felt <ma...@gmail.com>.
On 8/19/2016 3:03 PM, Eric Covener wrote:
> On Fri, Aug 19, 2016 at 7:14 AM, Michael Felt <ma...@gmail.com> wrote:
>> root@x064:[/data/prj/apache/httpd-2.4.23]nm /opt/modules/mod_authn_file.so |
>> grep apr_password_validate
>
> Are you sure that the libapr you're scrutinizing is being loaded at runtime?
>
I have not had time to link again, but I suspect that it is an issue of 
shared_library being in the archive together with static objects. If 
that does solve it - then I may want to think about static linking of 
apr and apr-util rather than rtld.

Thanks for 'confirming' my suspicion.


Re: Question re: build of (64-bit) httpd and issue with apr_password_validate

Posted by Eric Covener <co...@gmail.com>.
On Fri, Aug 19, 2016 at 7:14 AM, Michael Felt <ma...@gmail.com> wrote:
> root@x064:[/data/prj/apache/httpd-2.4.23]nm /opt/modules/mod_authn_file.so |
> grep apr_password_validate


Are you sure that the libapr you're scrutinizing is being loaded at runtime?

-- 
Eric Covener
covener@gmail.com

Re: Question re: build of (64-bit) httpd and issue with apr_password_validate

Posted by Eric Covener <co...@gmail.com>.
On Fri, Aug 19, 2016 at 7:14 AM, Michael Felt <ma...@gmail.com> wrote:
> root@x064:[/data/prj/apache/httpd-2.4.23]nm /opt/modules/mod_authn_file.so |
> grep apr_password_validate


Are you sure that the libapr you're scrutinizing is being loaded at runtime?

-- 
Eric Covener
covener@gmail.com