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

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

From:
H.Merijn Brand
Date:
November 21, 2003 07:21
Subject:
Re: [perl #24439] 64 bit build failure on Solaris 9
Message ID:
20031121161928.6464.H.M.BRAND@hccnet.nl
On Fri 21 Nov 2003 15:36, Andy Dougherty <doughera@lafayette.edu> wrote:
> 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

At least of the above shows that my patch did no harm :)
Nicholas was a bit reserved

> > > +		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

-- 
H.Merijn Brand        Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using perl-5.6.1, 5.8.0, & 5.9.x, and 806 on  HP-UX 10.20 & 11.00, 11i,
   AIX 4.3, SuSE 8.2, and Win2k.           http://www.cmve.net/~merijn/
http://archives.develooper.com/daily-build@perl.org/   perl-qa@perl.org
send smoke reports to: smokers-reports@perl.org, QA: http://qa.perl.org




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