pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/30070 (lang/perl58 fails to build under Solaris 9)



The following reply was made to PR pkg/30070; it has been noted by GNATS.

From: Gilles Dauphin <Gilles.Dauphin%enst.fr@localhost>
To: solaris-pkg-people%NetBSD.org@localhost, gnats-admin%NetBSD.org@localhost,
        markd%NetBSD.org@localhost, andrew%ugh.net.au@localhost, 
gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: pkg/30070 (lang/perl58 fails to build under Solaris 9)
Date: Mon, 26 Jun 2006 14:57:47 +0200 (CEST)

 --Herd_of_Elephants_001_000
 Content-Type: TEXT/plain; charset=us-ascii
 Content-MD5: rUfMShy5xOHVhf+LlthtlQ==
 
 > Synopsis: lang/perl58 fails to build under Solaris 9
 > 
 > State-Changed-From-To: open->feedback
 > State-Changed-By: markd%netbsd.org@localhost
 > State-Changed-When: Mon, 26 Jun 2006 10:45:11 +0000
 > State-Changed-Why:
 > is this still a problem for you with latest pkgsrc?  perl5 package builds
 > fine for me on Solaris 9/sparc and Solaris 10/i386 for both gcc and sunpro.
 
 
 That's not true for Solaris10/amd64 gcc (ABI=64)
 
 I apply the following path to Makefile and create patch-da:
 ---------------------------------------------------------------
 --- perl5/Makefile      Sat May  6 14:32:20 2006
 +++ perl5.save//Makefile        Mon May 22 16:03:31 2006
 @@ -164,6 +164,10 @@
  SYSLIBPATH.NetBSD=     /usr/lib
  SYSLIBPATH.OpenBSD=    /usr/lib
  SYSLIBPATH.SunOS=      /usr/lib
 +.if defined(ABI) && ${ABI} == "64"
 +SYSLIBPATH.SunOS=      /usr/lib/64
 +.endif
 +
  SYSLIBPATH=            ${SYSLIBPATH.${OPSYS}}
  
  # Nail down the directories in which headers and libraries of
 -------------------------------------------------------------
 
 
 Gilles
 
 --Herd_of_Elephants_001_000
 Content-Type: TEXT/plain; name=patch-da; charset=us-ascii; x-unix-mode=0644
 Content-Description: patch-da
 Content-MD5: 965QpcKPn3OkZ91WTJ6lHw==
 
 --- hints/solaris_2.sh.orig    Tue Oct 11 17:41:18 2005
 +++ hints/solaris_2.sh Wed Apr 12 14:23:27 2006
 @@ -241,6 +241,9 @@
  
        if echo "$verbose" | grep ' /usr/ccs/bin/ld ' >/dev/null 2>&1; then
            # Ok, gcc directly calls the Solaris /usr/ccs/bin/ld.
 +          # OK, but gcc 3,4,3 use the -shared option to pass -G to the linker
 +                #ccdlflags="$ccdlflags -Wl,-E"
 +                lddlflags="$lddlflags -shared"
            :
        elif echo "$verbose" | grep "ld: Software Generation Utilities" 
>/dev/null 2>&1; then
            # Hmm.  gcc doesn't call /usr/ccs/bin/ld directly, but it
 @@ -446,7 +449,7 @@
  # Keep these in the left margin.
  ccflags_uselargefiles="`getconf LFS_CFLAGS 2>/dev/null`"
  ldflags_uselargefiles="`getconf LFS_LDFLAGS 2>/dev/null`"
 -libswanted_uselargefiles="`getconf LFS_LIBS 2>/dev/null|sed -e 's@^-l@@' -e 
's@ -l@ @g`"
 +libswanted_uselargefiles="`getconf LFS_LIBS 2>/dev/null|sed -e 's@^-l@@' -e 
's@ -l@ @g'`"
  
      ccflags="$ccflags $ccflags_uselargefiles"
      ldflags="$ldflags $ldflags_uselargefiles"
 @@ -463,7 +466,17 @@
        ;;
  esac
  
 -if test `uname -p` = sparc -o `uname -p` = i386; then
 +arch_given=$archname
 +case "$arch_given" in
 +        x86_64*)
 +                arch_result="x86_64"
 +                ;;
 +        '')
 +                arch_result=""
 +esac
 +
 +if test `uname -p` = "sparc" || test "X$arch_result" = "Xx86_64"; then
 +#if test `uname -p` = sparc -o `uname -p` = i386; then
      cat > UU/use64bitint.cbu <<'EOCBU'
  # This script UU/use64bitint.cbu will get 'called-back' by Configure
  # after it has prompted the user for whether to use 64 bit integers.
 @@ -513,9 +526,7 @@
                exit 1
                ;;
            esac
 -          processor=`uname -p`;
 -          if test "$processor" = sparc; then
 -              libc='/usr/lib/sparcv9/libc.so'
 +          libc='/usr/lib/64/libc.so'
                if test ! -f $libc; then
                    cat >&4 <<EOM
  
 @@ -525,11 +536,10 @@
  EOM
                    exit 1
                fi
 -          fi
            case "${cc:-cc} -v 2>/dev/null" in
            *gcc*)
                echo 'int main() { return 0; }' > try.c
 -              case "`${cc:-cc} -mcpu=v9 -m64 -S try.c 2>&1 | grep 'm64 is not 
supported by this configuration'`" in
 +              case "`${cc:-cc} -m64 -S try.c 2>&1 | grep 'm64 is not 
supported by this configuration'`" in
                *"m64 is not supported"*)
                    cat >&4 <<EOM
  
 @@ -543,19 +553,19 @@
                    exit 1
                    ;;
                esac
 -              if test "$processor" = sparc; then
 -                  loclibpth="/usr/lib/sparcv9 $loclibpth"
 -                  ccflags="$ccflags -mcpu=v9"
 -              fi 
 +              loclibpth="/usr/lib/64 $loclibpth"
                ccflags="$ccflags -m64"
 -              if test $processor = sparc -a X`getconf XBS5_LP64_OFF64_CFLAGS 
2>/dev/null` != X; then
 +              if test X`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null` != X; then
                    # This adds in -Wa,-xarch=v9.  I suspect that's superfluous,
                    # since the -m64 above should do that already.  Someone
                    # with gcc-3.x.x, please test with gcc -v.   A.D. 
20-Nov-2003
 -                  ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 
2>/dev/null`"
 +                    # You are right , does not work on Solaris 10 GD 
09-Mar-2006
 +                    #ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 
2>/dev/null`"
 +                       :
 +
                fi
                ldflags="$ldflags -m64"
 -              lddlflags="$lddlflags -G -m64"
 +              lddlflags="$lddlflags -shared -m64"
                ;;
            *)
                ccflags="$ccflags `getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
 @@ -563,13 +573,10 @@
                lddlflags="$lddlflags -G `getconf XBS5_LP64_OFF64_LDFLAGS 
2>/dev/null`"
                echo "int main() { return(0); } " > try.c
                tryworkshopcc="${cc:-cc} try.c -o try $ccflags"
 -              if test "$processor" = sparc; then
 -                  loclibpth="/usr/lib/sparcv9 /usr/ccs/lib/sparcv9 $loclibpth"
 -              fi
 -              loclibpth="`$getworkshoplibs` $loclibpth"
 +                loclibpth="/usr/lib/64 `$getworkshoplibs` $loclibpth"
                ;;
            esac
 -          unset processor
 +#         unset processor
            use64bitall_done=yes
            archname64=64
            ;;
 
 --Herd_of_Elephants_001_000--
 



Home | Main Index | Thread Index | Old Index