You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Sascha Schumann <sa...@schumann.cx> on 2000/01/12 16:59:18 UTC

1.3.10 and AIX 4.2

    Hi,

    the attached patch fixes link problems on AIX 4.2.x which
    apparently does not support the older ldopen interface. This
    patch was verified to work on powerpc-ibm-aix4.2.1.0.

-- 

          Regards,

                            Sascha Schumann
                                 Consultant

Re: 1.3.10 and AIX 4.2

Posted by Jens-Uwe Mager <ju...@helios.de>.
On Wed, Jan 12, 2000 at 04:59:18PM +0100, Sascha Schumann wrote:

>     the attached patch fixes link problems on AIX 4.2.x which
>     apparently does not support the older ldopen interface. This
>     patch was verified to work on powerpc-ibm-aix4.2.1.0.

The ldopen interface is present in all AIX version from 3.1 to the
newest 4.3.3. For some strange reasons the -lld switch is sometimes
dropped from the command line if the compiler is gcc. BTW, if you turn
on the AIX SVLD runtime linking the modperl folks will probably get
problems as perl currently always uses the AIX native runtime linking
and not the SVLD one.


-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:		+49 5131 709320
FAX:		+49 5131 709325
Internet:	jum@helios.de

Re: 1.3.10 and AIX 4.2

Posted by Sascha Schumann <sa...@schumann.cx>.
On Wed, Jan 12, 2000 at 12:01:06PM -0500, Ryan Bloom wrote:
[..]
> 
> I think I would rather no include the os-aix-dso.c code unless we are
> either enabling mod_so or compiling with SHARED_CORE.  This seems to me to
> be more intuitive.  If the server isn't compiled for dynamic module
> support, then we shouldn't be including functions to support loading
> libraries, IMHO.

    Sounds good

    +1

-- 

          Regards,

                            Sascha Schumann
                                 Consultant

Re: 1.3.10 and AIX 4.2

Posted by Jens-Uwe Mager <ju...@helios.de>.
On Wed, Jan 12, 2000 at 12:01:06PM -0500, Ryan Bloom wrote:

> What also bothers me is that if -ld is always needed, is xlc just putting
> it on there automatically?

The last I looked under AIX 4.2 the xlc command line used to link Apache
did have an explicit -lld.

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:		+49 5131 709320
FAX:		+49 5131 709325
Internet:	jum@helios.de

Re: 1.3.10 and AIX 4.2

Posted by Ryan Bloom <rb...@raleigh.ibm.com>.
> > compiling with SHARED_CORE?  No garauntees that will work, but maybe gcc
> > needs doing that should assign 1 to using_shlib which should cause the
> > LD_LIBS stuff I mentioned earlier to happen.
> 
>     Could you rephrase the second part of your last sentence? 

I think I need some time off right now.  :-)  I'm sorry.  All I was
suggesting was that gcc on AIX might need SHARED_CORE, which would force
using_shlib to be set appropriately.  If they aren't using dynamic
modules, this is probably a bad idea.

I am concerned because I do not know of any bugs reporting this issue, and
I don't know when this was last modified.  I do know that I have had
Apache building on AIX 4.2.X a while ago without dynamic modules, but
using xlc.  I have never tried to use gcc on AIX.

What also bothers me is that if -ld is always needed, is xlc just putting
it on there automatically?

>     
>     It looks like we need to force use_shlib=1 on this platform,
>     because the code in os/unix/os-aix-dso.c will always be
>     pulled in, thus requiring linking against libld.

I think I would rather no include the os-aix-dso.c code unless we are
either enabling mod_so or compiling with SHARED_CORE.  This seems to me to
be more intuitive.  If the server isn't compiled for dynamic module
support, then we shouldn't be including functions to support loading
libraries, IMHO.

Ryan

_______________________________________________________________________
Ryan Bloom		rbb@raleigh.ibm.com
4205 S Miami Blvd	
RTP, NC 27709		

Come to the first official Apache Software Foundation
Conference!  <http://ApacheCon.Com/>




Re: 1.3.10 and AIX 4.2

Posted by Sascha Schumann <sa...@schumann.cx>.
On Wed, Jan 12, 2000 at 11:27:50AM -0500, Ryan Bloom wrote:
> 
> >     All symbols from libld.a are missing, because Apache does not
> >     link against it. We also have multiple bug reports in the php
> >     bug database about this issue. Do you also use gcc?
> 
> Ahhh,  now we are getting somewhere.  No, we are using xlc.  Are you
> compiling with SHARED_CORE?  No garauntees that will work, but maybe gcc
> needs doing that should assign 1 to using_shlib which should cause the
> LD_LIBS stuff I mentioned earlier to happen.

    Could you rephrase the second part of your last sentence? 
    
    It looks like we need to force use_shlib=1 on this platform,
    because the code in os/unix/os-aix-dso.c will always be
    pulled in, thus requiring linking against libld.

-- 

          Regards,

                            Sascha Schumann
                                 Consultant

Re: 1.3.10 and AIX 4.2

Posted by Ryan Bloom <rb...@raleigh.ibm.com>.
>     All symbols from libld.a are missing, because Apache does not
>     link against it. We also have multiple bug reports in the php
>     bug database about this issue. Do you also use gcc?

Ahhh,  now we are getting somewhere.  No, we are using xlc.  Are you
compiling with SHARED_CORE?  No garauntees that will work, but maybe gcc
needs doing that should assign 1 to using_shlib which should cause the
LD_LIBS stuff I mentioned earlier to happen.

Ryan

_______________________________________________________________________
Ryan Bloom		rbb@raleigh.ibm.com
4205 S Miami Blvd	
RTP, NC 27709		

Come to the first official Apache Software Foundation
Conference!  <http://ApacheCon.Com/>



Re: 1.3.10 and AIX 4.2

Posted by Sascha Schumann <sa...@schumann.cx>.
On Wed, Jan 12, 2000 at 11:17:48AM -0500, Ryan Bloom wrote:
> 
> The problem is when trying to link against anything that has ANY C++ in it
> at all.  This will cause a core dump in dlopen.  What exactly is the
> problem you are having?  We are compiling just fine on AIX 4.2.

    All symbols from libld.a are missing, because Apache does not
    link against it. We also have multiple bug reports in the php
    bug database about this issue. Do you also use gcc?

-- 

          Regards,

                            Sascha Schumann
                                 Consultant

Re: 1.3.10 and AIX 4.2

Posted by Ryan Bloom <rb...@raleigh.ibm.com>.
The problem is when trying to link against anything that has ANY C++ in it
at all.  This will cause a core dump in dlopen.  What exactly is the
problem you are having?  We are compiling just fine on AIX 4.2.

Ryan

On Wed, 12 Jan 2000, Sascha Schumann wrote:

> On Wed, Jan 12, 2000 at 11:01:45AM -0500, Ryan Bloom wrote:
> > 
> > The dlopen on AIX before 4.3 is broken and should not be used.  I can dig
> > around and find the exact problem if you would like me to.
> 
>     Why does not Apache link against libld.a then?
> 
> -- 
> 
>           Regards,
> 
>                             Sascha Schumann
>                                  Consultant
> 

_______________________________________________________________________
Ryan Bloom		rbb@raleigh.ibm.com
4205 S Miami Blvd	
RTP, NC 27709		

Come to the first official Apache Software Foundation
Conference!  <http://ApacheCon.Com/>





Re: 1.3.10 and AIX 4.2

Posted by Sascha Schumann <sa...@schumann.cx>.
On Wed, Jan 12, 2000 at 11:01:45AM -0500, Ryan Bloom wrote:
> 
> The dlopen on AIX before 4.3 is broken and should not be used.  I can dig
> around and find the exact problem if you would like me to.

    Why does not Apache link against libld.a then?

-- 

          Regards,

                            Sascha Schumann
                                 Consultant

Re: 1.3.10 and AIX 4.2

Posted by Sascha Schumann <sa...@schumann.cx>.
On Wed, Jan 12, 2000 at 11:25:35AM -0500, Ryan Bloom wrote:
> 
> This isn't needed.
> 
> if [ "x$using_shlib" = "x1" ] ; then
>     DL_LIB=""
>     case $PLAT in
>         *-ibm-aix* )
>             DL_LIB="-lld"
>             ;;
> 
> Is already in Configure around line 1996, and later on, we assign
> LIBS="$LIBS $DL_LIB" if DL_LIB isn't empty.

    Well, the problem is that using_shlib is empty on this
    system, thus the whole if-clause is skipped.

    Two points seem to exist where using_shlib could be possibly
    set. First, if mod_so is enabled. Second, if RULE_SHARED_CORE
    is enabled. Both are not enabled by default and therefore
    using_shlib is not set.

-- 

          Regards,

                            Sascha Schumann
                                 Consultant

Re: 1.3.10 and AIX 4.2

Posted by Ryan Bloom <rb...@raleigh.ibm.com>.
This isn't needed.

if [ "x$using_shlib" = "x1" ] ; then
    DL_LIB=""
    case $PLAT in
        *-ibm-aix* )
            DL_LIB="-lld"
            ;;

Is already in Configure around line 1996, and later on, we assign
LIBS="$LIBS $DL_LIB" if DL_LIB isn't empty.

Ryan

On Wed, 12 Jan 2000, Sascha Schumann wrote:

> On Wed, Jan 12, 2000 at 11:01:45AM -0500, Ryan Bloom wrote:
> > 
> > The dlopen on AIX before 4.3 is broken and should not be used.  I can dig
> > around and find the exact problem if you would like me to.
> 
>     What do you think about this patch? 
> 
>     ldopen(2) explicitly says that libld.a is required.
> 
> -- 
> 
>           Regards,
> 
>                             Sascha Schumann
>                                  Consultant
> 

_______________________________________________________________________
Ryan Bloom		rbb@raleigh.ibm.com
4205 S Miami Blvd	
RTP, NC 27709		

Come to the first official Apache Software Foundation
Conference!  <http://ApacheCon.Com/>



Re: 1.3.10 and AIX 4.2

Posted by Sascha Schumann <sa...@schumann.cx>.
On Wed, Jan 12, 2000 at 11:01:45AM -0500, Ryan Bloom wrote:
> 
> The dlopen on AIX before 4.3 is broken and should not be used.  I can dig
> around and find the exact problem if you would like me to.

    What do you think about this patch? 

    ldopen(2) explicitly says that libld.a is required.

-- 

          Regards,

                            Sascha Schumann
                                 Consultant

Re: 1.3.10 and AIX 4.2

Posted by Ryan Bloom <rb...@raleigh.ibm.com>.
The dlopen on AIX before 4.3 is broken and should not be used.  I can dig
around and find the exact problem if you would like me to.

-1

Ryan

On Wed, 12 Jan 2000, Sascha Schumann wrote:

>     Hi,
> 
>     the attached patch fixes link problems on AIX 4.2.x which
>     apparently does not support the older ldopen interface. This
>     patch was verified to work on powerpc-ibm-aix4.2.1.0.
> 
> -- 
> 
>           Regards,
> 
>                             Sascha Schumann
>                                  Consultant
> 

_______________________________________________________________________
Ryan Bloom		rbb@raleigh.ibm.com
4205 S Miami Blvd	
RTP, NC 27709		

Come to the first official Apache Software Foundation
Conference!  <http://ApacheCon.Com/>