Subject: Re: pkgsrc/bootstrap/bootstrap (solaris ABI 64)
To: None <tech-pkg@NetBSD.org, jschauma@netmeister.org>
From: Gilles Dauphin <Gilles.Dauphin@enst.fr>
List: tech-pkg
Date: 11/27/2006 12:17:57
> From: Jan Schaumann <jschauma@netmeister.org>
> 
> Gilles Dauphin <Gilles.Dauphin@enst.fr> wrote:
>  
> > That was a discuss with Joerg some month ago, and became a challenge for me 
;)
> > Today, I build a true 64bit Solaris10 pkgsrc's bootstrap.
> >        I install a working room for students and install over 
> >           500 true 64bit packages.
> >        I make a bulk build with over 3700 packages all are 64bits ABI.
> >        All is install in /usr/pkg/bin
> >        I did some works for sparc64 too and seems OK.
> 
> That sounds like great work that I'm sure we'd love to incorporate into
> pkgsrc.
> 
> What kind of diffs were necessary for you to make all this happen?  Do
> you have them posted somewhere and/or documentation online?  Did you
> file PRs?

I didn't send PR for bootstrap. But I send PR for some packages and are
integrated. thanks to pkgsrc's developper :)
I didn't write doc. I must do it.

Solaris10 gcc stuff have little bug. The wrapper i use is also a patch!
try : gcc -m64 -print-search-dirs
the result is wrong for 'libraries' parts.
some file are empty in the distrib of solaris10:
    /usr/sfw/lib/libstdc++.la
    /usr/sfw/lib/64/libstdc++.la
    /usr/sfw/lib/libsupc++.la
    /usr/sfw/lib/64/libsupc++.la
    
Pkgsrc's patch are often like the last patch i send for deve/nss (PR/35139):

[root@redhot 1836] diff -u Makefile.orig Makefile
--- Makefile.orig       Mon Nov 20 16:32:27 2006
+++ Makefile    Mon Nov 27 10:54:55 2006
@@ -31,6 +31,9 @@
 
 .if ${OPSYS} == "SunOS" && ${PKGSRC_COMPILER} == "gcc"
 MAKEFLAGS+=    NS_USE_GCC=YES
+.  if ${MACHINE_ARCH} == "x86_64"
+MAKEFLAGS+=    USE_64=1
+.  endif
 .endif
 
 .if ${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"


> 
> So if all that's needed is the "-m64" flag, then there shouldn't be a
> need to write a wrapper.  Maybe we should just compare to what we do
> with IRIX and adjust the mk files accordingly?

You need this wrapper for solaris because the result of gcc -print-search-dirs
is wrong. this command is use by some package to configure itself.
Yes i had a look at IRIX work and use it :)

I also strongly wish this wrapper at ENST, because i want all students working
on our workstations use, develop and compile in 64bit default.

Next step, for me,  is to write and fully explain what i am doing.

Gilles

> 
> -Jan
> 
> -- 
> 'I have reached an age where my main purpose is not to receive
> messages.' --- Umberto Eco, quoted in the New Yorker