Subject: Re: solaris pkgsrc, gcc, and bulk builds (fwd)
To: Jan Schaumann <jschauma@netmeister.org>
From: Eric Boutilier <Eric.Boutilier@Sun.COM>
List: tech-pkg
Date: 02/08/2005 14:53:45
On Tue, 8 Feb 2005, Jan Schaumann wrote:
> Eric Boutilier <Eric.Boutilier@Sun.COM> wrote:
>
> > - Now bootstrap pkgsrc (follow this sequence exactly):
> >   1. Go to ..pkgsrc/bootstrap and run ./bootstrap
> >   2. Add the following to /usr/pkg/etc/mk.conf:
> >        CC= /usr/sfw/bin/gcc
> >   3. Copy /usr/sfw/bin/{ggrep,gegrep} to /usr/pkgsrc/bin/{grep,egrep}
>
> /usr/pkgsrc/bin ?  Did you mean /usr/pkg/bin ?

Yes, that's a typo. :-/

> If so, why is this necessary?  Shouldn't the pkgsrc framework know when
> there is an insufficient grep and then build the appropriate version
> itself?

I think the grep thing is due to Solaris's grep being deficient and
me wanting to suppress harmless error messages while doing steps
5a-e below. (I'm afraid I didn't make a note of the error message
though.) I think what I'll do next time is set
GREP=/usr/sfw/bin/ggrep in mk.conf and unset it after gcc and
/usr/pkg/bin/grep are built. Or I suppose I can just ignore the
error messages.

Re egrep: While the system was doing a bunch of builds, one of them
tried to use /usr/bin/egrep and found it deficient (which it
probably is) and died. It should be using /usr/pkg/bin/egrep.I
think this is pilot error. I'll revisit it.


>
> >   4. Temporarily set: LD_LIBRARY_PATH=/opt/sfw/lib
> >   5. a. Go to pkgsrc/devel/libtool-base and do `bmake install'
> >      b. Go to pkgsrc/converters/libiconv and do `bmake install'
> >      c. Go to pkgsrc/devel/gettext-lib and do `bmake install'
> >      d. Go to pkgsrc/devel/gmake and do `bmake install'
> >      e. Go to pkgsrc/lang/gcc3-c and do `bmake install'
>
> Shouldn't 5.e. by itself be sufficient?  Ie, it should pull in all the
> required packages without the user having to know which they are and
> manually adding them.

Yes, absolutely. But I couldn't get that to work. So because it was
Saturday and I didn't want to bother Gavan, I searched the list
archives and googled the web for a solution. What I found was two
people who had discovered a work-around (the only workaround
AFAICT), and one of them described how to do it in nice detail. So
I decided go with their advice.

Having said that however -- I hear there's good news! The error
messages I was getting had to do with va_end already being defined,
and I heard from Gavan that that bug was *just* fixed. :-) :-)

I'll give it whirl and let you know.

Thanks!
Eric


> >   6. Go back into /usr/pkg/etc/mk.conf and change CC like this:
> >        CC= /usr/pkg/gcc3/bin/gcc
> >      and add:
> >        GCC_REQD+= 3
>
> I believe lang/gcc3-c provides a make-file fragment suitable for
> inclusion in mk.conf.
>
> -Jan
>
> --
> http://www.netbsd.org -
>          Multiarchitecture OS, no hype required.
>