develooper Front page | perl.perl5.porters | Postings from December 2000

Re: Not OK: perl v5.7.0 +DEVEL7825 on aix 4.2.1.0 (UNINSTALLED)

Thread Previous | Thread Next
From:
H . Merijn Brand
Date:
December 4, 2000 03:30
Subject:
Re: Not OK: perl v5.7.0 +DEVEL7825 on aix 4.2.1.0 (UNINSTALLED)
Message ID:
20001204122118.E85D.H.M.BRAND@hccnet.nl
On Fri, 1 Dec 2000 13:33:11 -0600, Jarkko Hietaniemi <jhi@iki.fi> wrote:
> On Fri, Dec 01, 2000 at 11:49:30AM +0100, H.Merijn Brand wrote:
> > On Thu, 30 Nov 2000 21:01:12 +0100, "H.Merijn Brand" <h.m.brand@hccnet.nl> wrote:
> > > On Thu, 30 Nov 2000 19:02:35 +0100, "H.Merijn Brand" <h.m.brand@hccnet.nl> wrote:
> > > > On Thu, 30 Nov 2000 18:01:52 +0100, "H.Merijn Brand" <h.m.brand@hccnet.nl> wrote:
> > > > > Nailed it down to a failing base function 'getprotobyname':
> > > > > 
> > > > > % perl5.00503 -e 'print getprotobyname ("udp"), "\n"'; echo $?
> > > > > udpUDP17
> > > > > 0
> > > > > % ./perl -e 'print getprotobyname ("udp"), "\n"' ; echo $?
> > > > > 6
> > > > > %
> > 
> > 
> > Well, after almost 8 hours of hacking, I got it all running well, so I
> > think I need a big hug (preferably from a beautifull girl, so Jarkko
> > won't do ;-)) All boils down to a wrong sequence in lib calls (or a
> > bug in AIX 4.2). Doing
> > 
> > 	Configure -Duseperlio -Dusedevel -des
> > 
> > needs manual change to config.sh to get it all working:
> 
> I wouldn't even want to hug you anyway :-) since having to hack manually 
> config.sh is almost as bad as a failure...

<joking>Doing that all the time ...</joking>

> So the change is to hoist the bind library before something (I guess
> before the nsl library)?  If so, is the nsl really needed?  Could it
> be removed from libswanted by hints/aix.sh?  Or could the reordering
> of the libraries done on the libswanted in hints/aix.sh?

This works, in the testable situation. Probably need more feedback to
generalize it:

*** hints/aix.sh.org    Wed Oct 25 15:44:20 2000
--- hints/aix.sh        Mon Dec  4 12:16:25 2000
***************
*** 130,136 ****
  *gcc*) ccdlflags='-Xlinker' ;;
  *) ccversion=`lslpp -L | grep 'C for AIX Compiler$' | awk '{print $2}'`
     case "$ccversion" in
!      '') ccversion=`lslpp -L | grep 'IBM C and C++ Compilers LUM$' | awk '{pri
nt $2}'`
        ;;
       esac
     case "$ccversion" in
--- 130,136 ----
  *gcc*) ccdlflags='-Xlinker' ;;
  *) ccversion=`lslpp -L | grep 'C for AIX Compiler$' | awk '{print $2}'`
     case "$ccversion" in
!      '') ccversion=`lslpp -L | awk '/IBM C and C++ Compilers LUM$/ {print $2}'
`
        ;;
       esac
     case "$ccversion" in
***************
*** 163,168 ****
--- 163,183 ----
      lddlflags="$lddlflags -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BA
SEEXT).exp -b noentry -lc"
      ;;
  esac
+
+ # AIX 4.2 (using latest patchlevels on 20001130) has a broken bind
+ # library (getprotobyname and getprotobynumber are outversioned by
+ # the same calls in libc, at least for xlc version 3...
+ case "`oslevel`" in
+     4.2.1.*)  # Test for xlc version too, should we?
+       case "$ccversion" in    # Don't know if needed for gcc
+           3.1.4.*)    # libswanted "bind ... c ..." => "... c bind ..."
+               set `echo X "$libswanted "| sed -e 's/ bind\( .*\) \([cC]\) / \1
 \2 bind /'`
+               shift
+               libswanted="$*"
+               ;;
+           esac
+       ;;
+     esac

  # This script UU/usethreads.cbu will get 'called-back' by Configure
  # after it has prompted the user for whether to use threads.
End of patch

-- 
H.Merijn Brand           Amsterdam Perl Mongers (http://www.amsterdam.pm.org/)
using perl-5.005.03, 5.6.0, 5.7.1 & 620 on HP-UX 10.20 & 11.00, AIX 4.2 & 4.3,
     DEC OSF/1 4.0 and WinNT 4.0 SP-6a,  often with Tk800.022 and/or DBD-Unify
ftp://ftp.funet.fi/pub/languages/perl/CPAN/authors/id/H/HM/HMBRAND/


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About