develooper Front page | perl.perl5.porters | Postings from November 2003

RE: [perl #24439] 64 bit build failure on Solaris 9

Thread Previous | Thread Next
From:
Andy Dougherty
Date:
November 21, 2003 06:36
Subject:
RE: [perl #24439] 64 bit build failure on Solaris 9
Message ID:
Pine.SOL.4.53.0311210927460.1876@maxwell.phys.lafayette.edu
On Thu, 20 Nov 2003, Daniel Berger wrote:

> > From: Andy Dougherty [mailto:perlbug-followup@perl.org]

> > I don't have gcc-3.3 to test (my Solaris gcc installation is
> > still 2.8.1), but I think the following patch should fix it:
> >
> > --- perl-5.8.2/hints/solaris_2.sh	Mon Oct 27 12:27:29 2003
> > +++ perl-5.8.2-andy/hints/solaris_2.sh	Thu Nov 20 09:24:38 2003
> > @@ -516,14 +516,13 @@
> >  	        loclibpth="/usr/lib/sparcv9 $loclibpth"
> >  		ccflags="$ccflags -mcpu=v9 -m64"
> >  		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`"
> >  		fi
> > -		# no changes to ld flags, as (according to man ld):
> > -		#
> > -   		# There is no specific option that tells ld to
> > link 64-bit
> > -		# objects; the class of the first object that
> > gets processed
> > -		# by ld determines whether it is to perform a
> > 32-bit or a
> > -		# 64-bit link edit.
> > +		ldflags="$ldflags -m64"
> > +		lddlflags="$lddlflags -m64"
> >  		;;
> >  	    *)
> >  		ccflags="$ccflags `getconf
> > XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
> >
> >
> > Hope this helps,
> >
> > --
> >     Andy Dougherty		doughera@lafayette.edu
>
>
> Thanks Andy.  I made the changes you suggested.  We're getting further,
> but now it's choking on 'B':

> LD_RUN_PATH="" gcc  -m64 -L/usr/lib/sparcv9 -L/usr/local/lib C.o  -o
> ../../../lib/auto/B/C/C.so
> Undefined                       first referenced
>  symbol                             in file
> Perl_safesysmalloc                  C.o
> Perl_Tmarkstack_ptr_ptr             C.o

Oh.  This one's my fault.  Try changing the line

> > +		lddlflags="$lddlflags -m64"

in hints/solaris_2.sh to

> > +		lddlflags="$lddlflags -G -m64"

(I think that's the right flag for gcc on Solaris using Sun's ld.)

    Andy Dougherty		doughera@lafayette.edu

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