NetBSD Problem Report #31985

From www@netbsd.org  Thu Nov  3 02:51:47 2005
Return-Path: <www@netbsd.org>
Received: by narn.netbsd.org (Postfix, from userid 31301)
	id 19AF363B900; Thu,  3 Nov 2005 02:51:47 +0000 (UTC)
Message-Id: <20051103025147.19AF363B900@narn.netbsd.org>
Date: Thu,  3 Nov 2005 02:51:47 +0000 (UTC)
From: nakaji@jp.freebsd.org
Reply-To: nakaji@jp.freebsd.org
To: gnats-bugs@netbsd.org
Subject: [lang/perl5] cannot build 64-bit binaries on Solaris 10 (amd64) with Sun Studio 10
X-Send-Pr-Version: www-1.0

>Number:         31985
>Category:       pkg
>Synopsis:       [lang/perl5] cannot build 64-bit binaries on Solaris 10 (amd64) with Sun Studio 10
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    solaris-pkg-people
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Nov 03 02:52:00 +0000 2005
>Closed-Date:    Thu Feb 07 14:30:15 +0000 2013
>Last-Modified:  Thu Feb 07 14:30:15 +0000 2013
>Originator:     NAKAJI Hiroyuki
>Release:        Solaris 10 (x86_64)
>Organization:
>Environment:
SunOS deepsea.c3922.takamatsu-nct.ac.jp 5.10 Generic i86pc i386 i86pc
>Description:
Because the variables PERL5_HINTS_LDFLAGS and PERL5_HINTS_LDDLFLAGS are reset empty in Makefile, no additional LDFLAGS settings in mk.conf are effective. And then, link of miniperl fails because *.o are 64-bit and miniperl will be linked 32-bit.
>How-To-Repeat:
o Install Sun Studio 10 on your Solaris (x86_64) system
o Set PKGSRC_COMPILER=sunpro and CC=cc in your mk.conf
o Set CFLAGS and LDFLAGS "-xarch=amd64"
o run

# cd /usr/pkgsrc/lang/perl5
# bmake all

>Fix:
lang/perl5/Makefile needs change. I made a patch, which is availeble at http://heimat.jp/~nakaji/solaris/10/pkgsrc_with_cc/perl5.diff

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->jlam
Responsible-Changed-By: reed@netbsd.org
Responsible-Changed-When: Fri, 04 Nov 2005 02:19:53 +0000
Responsible-Changed-Why:
Assigned to maintainer.


State-Changed-From-To: open->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Mon, 09 Nov 2009 06:55:49 +0000
State-Changed-Why:
Is this still a problem with current pkgsrc and perl 5.10?


From: NAKAJI Hiroyuki <nakaji@jp.FreeBSD.org>
To: gnats-bugs@NetBSD.org
Cc: jlam@NetBSD.org, pkgsrc-bugs@NetBSD.org, gnats-admin@NetBSD.org,
        dholland@NetBSD.org
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on Solaris 10 (amd64) with Sun Studio 10)
Date: Fri, 20 Nov 2009 15:48:00 +0900

 >>>>> In <20091109065551.5542863B8CD@www.NetBSD.org> 
 >>>>>	dholland@NetBSD.org wrote:

 > Is this still a problem with current pkgsrc and perl 5.10?

 This patch and setting "ABI=64" in mk.conf are needed to build 64-bit
 perl on Solaris/amd64.

 Index: Makefile
 ===================================================================
 RCS file: /cvsroot/pkgsrc/lang/perl5/Makefile,v
 retrieving revision 1.154
 diff -u -r1.154 Makefile
 --- Makefile	23 Oct 2009 18:41:02 -0000	1.154
 +++ Makefile	20 Nov 2009 06:33:46 -0000
 @@ -249,6 +249,12 @@
  .  else
  PKG_SUGGESTED_OPTIONS+=		64bitnone
  .  endif
 +.elif ${OPSYS} == "SunOS"
 +.  if defined(ABI) && ${ABI} == "64"
 +PKG_SUGGESTED_OPTIONS+=		64bitall
 +.  else
 +PKG_SUGGESTED_OPTIONS+=		64bitnone
 +.  endif
  .else
  PKG_SUGGESTED_OPTIONS+=		64bitauto
  .endif
 -- 
 NAKAJI Hiroyuki

From: "OBATA Akio" <obache@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on Solaris
 10 (amd64) with Sun Studio 10)
Date: Fri, 20 Nov 2009 16:26:27 +0900

 On Fri, 20 Nov 2009 16:10:05 +0900, NAKAJI Hiroyuki <nakaji@jp.freebsd.org> wrote:

 >  This patch and setting "ABI=64" in mk.conf are needed to build 64-bit
 >  perl on Solaris/amd64.
 > Index: Makefile
 >  ===================================================================
 >  RCS file: /cvsroot/pkgsrc/lang/perl5/Makefile,v
 >  retrieving revision 1.154
 >  diff -u -r1.154 Makefile
 >  --- Makefile	23 Oct 2009 18:41:02 -0000	1.154
 >  +++ Makefile	20 Nov 2009 06:33:46 -0000
 >  @@ -249,6 +249,12 @@
 >   .  else
 >   PKG_SUGGESTED_OPTIONS+=		64bitnone
 >   .  endif
 >  +.elif ${OPSYS} == "SunOS"
 >  +.  if defined(ABI) && ${ABI} == "64"
 >  +PKG_SUGGESTED_OPTIONS+=		64bitall
 >  +.  else
 >  +PKG_SUGGESTED_OPTIONS+=		64bitnone
 >  +.  endif
 >   .else
 >   PKG_SUGGESTED_OPTIONS+=		64bitauto
 >   .endif

 Does it mean Solaris must be treated same as AIX?

 Index: Makefile
 ===================================================================
 RCS file: /cvsroot/pkgsrc/lang/perl5/Makefile,v
 retrieving revision 1.154
 diff -u -r1.154 Makefile
 --- Makefile    23 Oct 2009 18:41:02 -0000      1.154
 +++ Makefile    20 Nov 2009 07:24:17 -0000
 @@ -243,7 +243,7 @@
   .  if defined(ABI) && ${ABI} == "64"
   PKG_SUGGESTED_OPTIONS+=                64bitint
   .  endif
 -.elif ${OPSYS} == "AIX"
 +.elif ${OPSYS} == "AIX" || ${OPSYS} == "SunOS"
   .  if defined(ABI) && ${ABI} == "64"
   PKG_SUGGESTED_OPTIONS+=                64bitall
   .  else

From: NAKAJI Hiroyuki <nakaji@jp.freebsd.org>
To: gnats-bugs@NetBSD.org
Cc: jlam@NetBSD.org, gnats-admin@NetBSD.org, pkgsrc-bugs@NetBSD.org
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on Solaris 10 (amd64) with Sun Studio 10)
Date: Fri, 20 Nov 2009 17:13:35 +0900

 >>>>> In <20091120073005.1CF2663B844@www.NetBSD.org> 
 >>>>>	"OBATA Akio" <obache@NetBSD.org> wrote:

 >  Does it mean Solaris must be treated same as AIX?

 Yes.

 >  Index: Makefile
 >  ===================================================================
 >  RCS file: /cvsroot/pkgsrc/lang/perl5/Makefile,v
 >  retrieving revision 1.154
 >  diff -u -r1.154 Makefile
 >  --- Makefile    23 Oct 2009 18:41:02 -0000      1.154
 >  +++ Makefile    20 Nov 2009 07:24:17 -0000
 >  @@ -243,7 +243,7 @@
 >    .  if defined(ABI) && ${ABI} == "64"
 >    PKG_SUGGESTED_OPTIONS+=                64bitint
 >    .  endif
 >  -.elif ${OPSYS} == "AIX"
 >  +.elif ${OPSYS} == "AIX" || ${OPSYS} == "SunOS"
 >    .  if defined(ABI) && ${ABI} == "64"
 >    PKG_SUGGESTED_OPTIONS+=                64bitall
 >    .  else

 -- 
 NAKAJI Hiroyuki

From: "OBATA Akio" <obache@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on Solaris
 10 (amd64) with Sun Studio 10)
Date: Fri, 20 Nov 2009 17:40:55 +0900

 On Fri, 20 Nov 2009 17:20:04 +0900, NAKAJI Hiroyuki <nakaji@jp.freebsd.org> wrote:

 >  >>>>> In <20091120073005.1CF2663B844@www.NetBSD.org>
 >  >>>>>	"OBATA Akio" <obache@NetBSD.org> wrote:
 > >  Does it mean Solaris must be treated same as AIX?
 > Yes.

 Thanks.
 But it is unclear on i386 and sparc, so maybe, should not to 64bitnone, but 64bitauto in "else" part.
 (at least, it seems that recent bulk build on SunOS 5.10/i386 and SunOS 5.9/sparc have no problem)

 This PR should be re-assigned to sno@(added the option part) or solaris-pkg-people@?

Responsible-Changed-From-To: jlam->solaris-pkg-people
Responsible-Changed-By: obache@NetBSD.org
Responsible-Changed-When: Fri, 20 Nov 2009 08:48:27 +0000
Responsible-Changed-Why:
proposed patch is OK on Solaris other than amd64?


State-Changed-From-To: feedback->open
State-Changed-By: obache@NetBSD.org
State-Changed-When: Fri, 20 Nov 2009 08:48:27 +0000
State-Changed-Why:
proposed patch was provided.


From: Filip Hajny <filip@joyent.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on Solaris 10 (amd64) with Sun Studio 10)
Date: Fri, 20 Nov 2009 09:54:55 +0100

 On 20.11.2009, at 9:45, OBATA Akio wrote:

 > But it is unclear on i386 and sparc, so maybe, should not to  
 > 64bitnone, but 64bitauto in "else" part. (at least, it seems that  
 > recent bulk build on SunOS 5.10/i386 and SunOS 5.9/sparc have no  
 > problem)
 >

 I had no problems building a 64bit perl on Nevada (snv_89) with Sun  
 Studio 12, but that was with 2009Q1. I can confirm with confirm with  
 2009Q3/HEAD in a day or so. Definitely had no issues building a 64bit  
 Perl from 2009Q3 on a Sparc (T1000) using sunwgcc last week. So the  
 patch is killing too many birds that are fine otherwise.

 --
 Filip Hajny
 Joyent Inc.

From: Filip Hajny <filip@joyent.com>
To: gnats-bugs@NetBSD.org,
 OBATA Akio <obache@netbsd.org>
Cc: jlam@NetBSD.org,
 pkgsrc-bugs@netbsd.org,
 nakaji@jp.freebsd.org
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on Solaris 10 (amd64) with Sun Studio 10)
Date: Fri, 20 Nov 2009 10:49:04 +0100

 On 20.11.2009, at 9:45, OBATA Akio wrote:

 > But it is unclear on i386 and sparc, so maybe, should not to  
 > 64bitnone, but 64bitauto in "else" part. (at least, it seems that  
 > recent bulk build on SunOS 5.10/i386 and SunOS 5.9/sparc have no  
 > problem)

 Confirming that lang/perl5 builds fine with ABI=64 and Sun Studio 12,  
 on a clean just-boostrapped system.

 [root@pkgsrc-studio64 ~]# uname -a
 SunOS pkgsrc-studio64 5.11 snv_89 i86pc i386 i86pc

 [root@pkgsrc-studio64 ~]# file `which perl`
 /opt/local/bin/perl: ELF 64-bit LSB executable AMD64 Version 1 [SSE  
 FXSR FPU], dynamically linked, not stripped

 [root@pkgsrc-studio64 ~]# perl -v
 This is perl, v5.10.0 built for i386-solaris-thread-multi-64
 ...

 [root@pkgsrc-studio64 ~]# cat /opt/local/etc/mk-compiler.conf
 # pkgsrc include file for compiler specific options
 # for Sun Studio 12
 ABI=                                    64
 PKGSRC_COMPILER=                        sunpro
 SUNWSPROBASE=                           /opt/SUNWspro
 CC=                                     cc
 CXX=                                    CC
 CPP=                                    ${CC} -E
 CXXCPP=                                 ${CXX} -E

 --
 Filip Hajny
 Joyent Inc.

From: john heasley <heas@shrubbery.net>
To: Filip Hajny <filip@joyent.com>
Cc: gnats-bugs@NetBSD.org, OBATA Akio <obache@netbsd.org>, jlam@NetBSD.org,
	pkgsrc-bugs@netbsd.org, nakaji@jp.freebsd.org
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on
	Solaris 10 (amd64) with Sun Studio 10)
Date: Fri, 20 Nov 2009 10:37:33 +0000

 Fri, Nov 20, 2009 at 10:49:04AM +0100, Filip Hajny:
 > On 20.11.2009, at 9:45, OBATA Akio wrote:
 >
 >> But it is unclear on i386 and sparc, so maybe, should not to  
 >> 64bitnone, but 64bitauto in "else" part. (at least, it seems that  
 >> recent bulk build on SunOS 5.10/i386 and SunOS 5.9/sparc have no  
 >> problem)
 >
 > Confirming that lang/perl5 builds fine with ABI=64 and Sun Studio 12, on 
 > a clean just-boostrapped system.
 >
 > [root@pkgsrc-studio64 ~]# uname -a
 > SunOS pkgsrc-studio64 5.11 snv_89 i86pc i386 i86pc
 >
 > [root@pkgsrc-studio64 ~]# file `which perl`
 > /opt/local/bin/perl: ELF 64-bit LSB executable AMD64 Version 1 [SSE FXSR 
 > FPU], dynamically linked, not stripped
 >
 > [root@pkgsrc-studio64 ~]# perl -v
 > This is perl, v5.10.0 built for i386-solaris-thread-multi-64
 > ...
 >
 > [root@pkgsrc-studio64 ~]# cat /opt/local/etc/mk-compiler.conf
 > # pkgsrc include file for compiler specific options
 > # for Sun Studio 12
 > ABI=                                    64
 > PKGSRC_COMPILER=                        sunpro
 > SUNWSPROBASE=                           /opt/SUNWspro
 > CC=                                     cc

 you want -m64 or whatever the option is, esp for x86 on which gcc sucks
 rocks.  except for the bugs that the packages themselves have, its worked
 well for me.

 > CXX=                                    CC
 > CPP=                                    ${CC} -E
 > CXXCPP=                                 ${CXX} -E
 >
 > --
 > Filip Hajny
 > Joyent Inc.

 my mk.conf has morfed over time and probbably has worts, but looks like:

 ABI=64

 .ifndef OPSYS
 OPSYS:=	${:!${UNAME} -s!:S/-//g:S/\///g}
 .endif

 .if (${OPSYS} == "SunOS")
 # Solaris Sparc options
 .if (${MACHINE_ARCH} == "sparc")
 PKGSRC_COMPILER=sunpro

 # For sparc64, compile 64-bit & w/ large file support.
 .if (${PKGSRC_COMPILER} == "gcc")
 # For gcc: These are all set by the gcc wrapper, but these variables make sure
 # that thinks like libtool see them.
 CC=/usr/local/bin/gcc -static-libgcc -D_LARGEFILE64_SOURCE -mcpu=v9 -mtune=ultrasparc -m64 -D__sparc_v9__
 GCC=/usr/local/bin/gcc -static-libgcc -D_LARGEFILE64_SOURCE -mcpu=v9 -mtune=ultrasparc -m64 -D__sparc_v9__
 CXX=/usr/local/bin/g++ -D_LARGEFILE64_SOURCE -mcpu=v9 -mtune=ultrasparc -m64 -D__sparc_v9__
 CFLAGS+= -static-libgcc -static-libgcc -D_LARGEFILE64_SOURCE -mcpu=v9 -mtune=ultrasparc -m64 -D__sparc_v9__
 LDLAGS+= -static-libgcc -D_LARGEFILE64_SOURCE -mcpu=v9 -mtune=ultrasparc -m64
 CPPFLAGS+= -D_LARGEFILE64_SOURCE -mcpu=v9 -mtune=ultrasparc -m64 -D__sparc_v9__

 .elif (${PKGSRC_COMPILER} == "sunpro")

 CC=	/opt/SUNWspro/bin/cc -D_LARGEFILE64_SOURCE -m64 -g
 CPP=	/opt/SUNWspro/bin/cc -D_LARGEFILE64_SOURCE -m64 -E
 CFLAGS=	-D_LARGEFILE64_SOURCE -D_LARGEFILE64_SOURCE -m64 -g -L/opt/pkg/lib -L/lib/64 -L/usr/lib/64 -L/usr/ucblib/sparcv9
 CXX=	/opt/SUNWspro/bin/CC -D_LARGEFILE64_SOURCE -m64
 CXXFLAGS=-D_LARGEFILE64_SOURCE -m64
 LDFLAGS=-Wl,-64 -R/opt/pkg/lib -L/opt/pkg/lib -R/lib/64 -L/lib/64 -R/usr/lib/64 -L/usr/lib/64 -R/usr/ucblib/sparcv9 -L/usr/ucblib/sparcv9
 CPPFLAGS+= -D_LARGEFILE64_SOURCE -m64
 AR=	/usr/ccs/bin/ar

 .else
 error
 .endif

 SPARC_TARGET_ARCH= sparcv9

 .if (${PKGSRC_COMPILER} == "gcc")
 # speed-up gcc
 COPTS+=-pipe
 CFLAGS+=-pipe
 DBG= -static-libgcc -g
 .else
 DBG= -g
 .endif

 # pkgsrc tries to figure out where ldd (which it uses to ensure that libraries
 # are found properly after linking) is located with /usr/bin/type, which
 # creates a nice circular exec spin-out...so, just hard-code it.
 LDD=/usr/bin/ldd

 # solaris versions dont cut it...
 FETCH_CMD=/opt/pkg/bin/ftp
 TOOLS_PLATFORM.awk?=/opt/pkg/bin/nawk
 TOOLS_PLATFORM.sed?=/opt/pkg/bin/nbsed
 TOOLS_PLATFORM.pax?=/opt/pkg/bin/pax
 TOOLS_PLATFORM.tar?=/opt/pkg/bin/tar

 .else
 # Solaris AMD64/x86 options
 #
 PKGSRC_COMPILER=sunpro

 # For Solaris amd64, we are much better off using the sunpro compiler.  So,
 # options for sunpro are
 CC=	/opt/SUNWspro/bin/cc -m64 -g
 CPP=	/opt/SUNWspro/bin/cc -m64 -E
 CFLAGS=	-D_LARGEFILE64_SOURCE -m64 -g -L/opt/pkg/lib -L/lib/64 -L/usr/lib/64 -L/usr/ucblib/amd64
 CXX=	/opt/SUNWspro/bin/CC -m64
 CXXFLAGS= -D_LARGEFILE64_SOURCE -m64
 LDFLAGS= -Wl,-64 -Wl,-R/opt/pkg/lib -Wl,-L/opt/pkg/lib -Wl,-R/lib/64 -Wl,-L/lib/64 -Wl,-R/usr/lib/64 -Wl,-L/usr/lib/64 -Wl,-R/usr/ucblib/64 -Wl,-L/usr/ucblib/64
 AR=/usr/ccs/bin/ar

 .if (${PKGSRC_COMPILER} == "gcc")
 # speed-up gcc
 COPTS+=-pipe
 CFLAGS+=-pipe
 DBG= -static-libgcc -g
 .else
 DBG= -g
 .endif

 # pkgsrc tries to figure out where ldd (which it uses to ensure that libraries
 # are found properly after linking) is located with /usr/bin/type, which
 # creates a nice circular exec spin-out...so, just hard-code it.
 LDD=/usr/bin/ldd

 # solaris versions dont cut it...
 TOOLS_PLATFORM.awk?=/opt/pkg/bin/nawk
 TOOLS_PLATFORM.sed?=/opt/pkg/bin/nbsed
 TOOLS_PLATFORM.pax?=/opt/pkg/bin/pax
 TOOLS_PLATFORM.tar?=/opt/pkg/bin/tar

 .endif	# MACHINE_ARCH sparc
 .endif	# OSSYS SunOS

 YACC=bison -y

 .ifdef BSD_PKG_MK	# begin pkgsrc settings

 # The level of debugging output which is displayed whilst making and installing
 # the package.  The default value for this is 0, which will not display the
 # commands as they are executed (normal, default, quiet operation); the value 1
 # will display all shell commands before their invocation, and the value 2 will
 # display both the shell commands before their invocation, and their actual
 # execution progress with set -x will be displayed.
 PKG_DEBUG_LEVEL=0

 CONFIGURE_ENV+=        CPPFLAGS=${CPPFLAGS:M*:Q}
 CONFIGURE_ENV+=        CFLAGS=${CFLAGS:M*:Q}

 YACC=bison -y

 # if we have to build gcc, dont bother with the crap
 BUILD_JAVA=NO
 BUILD_OBJC=NO
 #
 PERL5_USE_THREADS=no

 GNU_PROGRAM_PREFIX=

 # When binary packages are made, save them in an OS_VERSION and
 # MACHINE_ARCH specific subdirectory.
 PACKAGES=${_PKGSRCDIR}/packages/${OS_VERSION}/${MACHINE_ARCH}

 # Automatically build and save binary packages on dependencies.
 DEPENDS_TARGET=package

 .endif			# end pkgsrc settings

From: Jonathan Perkin <sketch@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: solaris-pkg-people@NetBSD.org, gnats-admin@netbsd.org,
	pkgsrc-bugs@netbsd.org, nakaji@jp.freebsd.org
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on
 Solaris 10 (amd64) with Sun Studio 10)
Date: Fri, 20 Nov 2009 10:56:50 +0000

 * On 2009-11-20 at 10:40 GMT, john heasley wrote:

 >  > ABI=                                    64
 >  
 >  you want -m64 or whatever the option is, esp for x86 on which gcc sucks
 >  rocks.  except for the bugs that the packages themselves have, its worked
 >  well for me.

 mk/compiler already sets the appropriate -m64 etc flag when using ABI=64,
 adding it again is redundant.

 -- 
 Jonathan Perkin                                     The NetBSD Project
 http://www.perkin.org.uk/                       http://www.netbsd.org/

From: NAKAJI Hiroyuki <nakaji@jp.freebsd.org>
To: gnats-bugs@netbsd.org
Cc: solaris-pkg-people@netbsd.org, gnats-admin@netbsd.org,
        pkgsrc-bugs@netbsd.org
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on Solaris 10 (amd64) with Sun Studio 10)
Date: Fri, 20 Nov 2009 22:31:25 +0900

 >>>>> In <20091120105649.GG27379@gromit.adsl.perkin.org.uk> 
 >>>>>	Jonathan Perkin <sketch@netbsd.org> wrote:
 > * On 2009-11-20 at 10:40 GMT, john heasley wrote:

 > >  > ABI=                                    64
 > >  
 > >  you want -m64 or whatever the option is, esp for x86 on which gcc sucks
 > >  rocks.  except for the bugs that the packages themselves have, its worked
 > >  well for me.

 > mk/compiler already sets the appropriate -m64 etc flag when using ABI=64,
 > adding it again is redundant.

 I confirmed "ABI=64" is enough at least on SunOS/amd64 box.
 Sorry for noise.

 But I wonder why I see too many

   cc: Warning: illegal option -m64

 when "cd pkgsrc/lang/perl5; bmake all".
 -- 
 NAKAJI Hiroyuki

From: Jonathan Perkin <sketch@netbsd.org>
To: NAKAJI Hiroyuki <nakaji@jp.freebsd.org>
Cc: gnats-bugs@netbsd.org, solaris-pkg-people@netbsd.org,
	gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on
 Solaris 10 (amd64) with Sun Studio 10)
Date: Fri, 20 Nov 2009 14:26:06 +0000

 * On 2009-11-20 at 14:08 GMT, NAKAJI Hiroyuki wrote:

 > I confirmed "ABI=64" is enough at least on SunOS/amd64 box.
 > Sorry for noise.
 > 
 > But I wonder why I see too many
 > 
 >   cc: Warning: illegal option -m64
 > 
 > when "cd pkgsrc/lang/perl5; bmake all".

 -m64 was added in Sun Studio 12, for previous releases (although it's
 highly recommended you upgrade) you need to use -xarch=amd64 or similar.

 mk/compiler/sunpro.mk should detect the Sun Studio version and set the
 appropriate flags - if you are getting these warnings when only using
 ABI=64 (and after a make clean) then there could be a bug, in which case
 please send us the output of 'cc -V' on your machine.

 -- 
 Jonathan Perkin                                     The NetBSD Project
 http://www.perkin.org.uk/                       http://www.netbsd.org/

From: Jens Rehsack <rehsack@googlemail.com>
To: Filip Hajny <filip@joyent.com>
Cc: gnats-bugs@NetBSD.org, OBATA Akio <obache@netbsd.org>, 
 jlam@NetBSD.org, pkgsrc-bugs@netbsd.org, nakaji@jp.freebsd.org
Subject: Re: pkg/31985 ([lang/perl5] cannot build 64-bit binaries on Solaris
 10 (amd64) with Sun Studio 10)
Date: Sun, 22 Nov 2009 16:33:10 +0000

 Filip Hajny wrote:
 > On 20.11.2009, at 9:45, OBATA Akio wrote:
 > 
 >> But it is unclear on i386 and sparc, so maybe, should not to
 >> 64bitnone, but 64bitauto in "else" part. (at least, it seems that
 >> recent bulk build on SunOS 5.10/i386 and SunOS 5.9/sparc have no problem)
 > 
 > Confirming that lang/perl5 builds fine with ABI=64 and Sun Studio 12, on
 > a clean just-boostrapped system.
 > 
 > [root@pkgsrc-studio64 ~]# uname -a
 > SunOS pkgsrc-studio64 5.11 snv_89 i86pc i386 i86pc
 > 
 > [root@pkgsrc-studio64 ~]# file `which perl`
 > /opt/local/bin/perl: ELF 64-bit LSB executable AMD64 Version 1 [SSE FXSR
 > FPU], dynamically linked, not stripped
 > 
 > [root@pkgsrc-studio64 ~]# perl -v
 > This is perl, v5.10.0 built for i386-solaris-thread-multi-64
 > ...
 > 
 > [root@pkgsrc-studio64 ~]# cat /opt/local/etc/mk-compiler.conf
 > # pkgsrc include file for compiler specific options
 > # for Sun Studio 12
 > ABI=                                    64
 > PKGSRC_COMPILER=                        sunpro
 > SUNWSPROBASE=                           /opt/SUNWspro

 Sun Studio 12u1 don't install to /opt/SUNWspro but /opt/sunstudio12.1
 Be sure to choose the right SUNWSPROBASE :)

 I can confirm that ABI=64 is enough for perl on OpenSolaris/sparc64 to build
 with '64bitall'. I'll take a look during the week on the perl I've built on
 Solaris 10/sparc.

 Jens

State-Changed-From-To: open->closed
State-Changed-By: jperkin@NetBSD.org
State-Changed-When: Thu, 07 Feb 2013 14:30:15 +0000
State-Changed-Why:
I don't think there is a problem here anymore.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.