public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] using -j1 with distcc?
@ 2006-09-13 14:34 Aron Griffis
  2006-09-13 14:51 ` [gentoo-dev] AutoMake and paralle safe makefiles [WAS: using -j1 with distcc?] Alec Warner
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Aron Griffis @ 2006-09-13 14:34 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 869 bytes --]

From bind-9.3.2-r4.ebuild:

    # idea from dev-libs/cyrus-sasl
    if has distcc ${FEATURES}; then
        einfo "You have \"distcc\" enabled"
        einfo "build with MAKEOPTS=\"-j1\""
        jobs="-j1"
    else
        einfo "build with MAKEOPTS=${MAKEOPTS}"
        jobs=""
    fi

    emake ${jobs} || die "failed to compile bind"

I think this is bogus.  If building with distcc reveals a parallel
build issue, then the issue exists with or without distcc, it just
seems to happen less often without it.  We've been down this road
before, maybe people have forgotten?

bind-9.3.2-r4.ebuild failed to build for me on dual ia64.  Building
with -j1 works.

Unless somebody can explain how this is valid, I'll go ahead and fix
the bind ebuilds (where "fix" means "use -j1 unconditionally since the
Makefiles aren't parallel safe").

Aron

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-dev] AutoMake and paralle safe makefiles [WAS: using -j1 with distcc?]
  2006-09-13 14:34 [gentoo-dev] using -j1 with distcc? Aron Griffis
@ 2006-09-13 14:51 ` Alec Warner
  2006-09-13 14:58   ` Diego 'Flameeyes' Pettenò
  2006-09-13 15:03   ` Ciaran McCreesh
  2006-09-13 14:52 ` [gentoo-dev] using -j1 with distcc? Brian Harring
  2006-09-13 15:30 ` Aron Griffis
  2 siblings, 2 replies; 9+ messages in thread
From: Alec Warner @ 2006-09-13 14:51 UTC (permalink / raw
  To: gentoo-dev

Aron Griffis wrote:
> From bind-9.3.2-r4.ebuild:
> 
> Unless somebody can explain how this is valid, I'll go ahead and fix
> the bind ebuilds (where "fix" means "use -j1 unconditionally since the
> Makefiles aren't parallel safe").
> 
> Aron

If I'm using Autotools, aren't they smart enough (given that I specify 
the proper headers, and source files and whatnot) to generate parallel 
safe makefiles?  Or is it a shot in the dark as to whether it works or not?
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-dev] using -j1 with distcc?
  2006-09-13 14:34 [gentoo-dev] using -j1 with distcc? Aron Griffis
  2006-09-13 14:51 ` [gentoo-dev] AutoMake and paralle safe makefiles [WAS: using -j1 with distcc?] Alec Warner
@ 2006-09-13 14:52 ` Brian Harring
  2006-09-13 15:26   ` Ferris McCormick
  2006-09-13 15:29   ` Aron Griffis
  2006-09-13 15:30 ` Aron Griffis
  2 siblings, 2 replies; 9+ messages in thread
From: Brian Harring @ 2006-09-13 14:52 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1220 bytes --]

On Wed, Sep 13, 2006 at 10:34:52AM -0400, Aron Griffis wrote:
> From bind-9.3.2-r4.ebuild:
> 
>     # idea from dev-libs/cyrus-sasl
>     if has distcc ${FEATURES}; then
>         einfo "You have \"distcc\" enabled"
>         einfo "build with MAKEOPTS=\"-j1\""
>         jobs="-j1"
>     else
>         einfo "build with MAKEOPTS=${MAKEOPTS}"
>         jobs=""
>     fi
> 
>     emake ${jobs} || die "failed to compile bind"
> 
> I think this is bogus.  If building with distcc reveals a parallel
> build issue, then the issue exists with or without distcc, it just
> seems to happen less often without it.  We've been down this road
> before, maybe people have forgotten?
> 
> bind-9.3.2-r4.ebuild failed to build for me on dual ia64.  Building
> with -j1 works.
> 
> Unless somebody can explain how this is valid, I'll go ahead and fix
> the bind ebuilds (where "fix" means "use -j1 unconditionally since the
> Makefiles aren't parallel safe").

Similar trickery in app-office/openoffice, although they enable -jN if 
distcc is enabled, else -j1 ...

Always wondered how that was valid, just avoid OO compiles enough it 
wasn't something I ever got around to looking into :)
~harring

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-dev] AutoMake and paralle safe makefiles [WAS: using -j1 with distcc?]
  2006-09-13 14:51 ` [gentoo-dev] AutoMake and paralle safe makefiles [WAS: using -j1 with distcc?] Alec Warner
@ 2006-09-13 14:58   ` Diego 'Flameeyes' Pettenò
  2006-09-13 15:03   ` Ciaran McCreesh
  1 sibling, 0 replies; 9+ messages in thread
From: Diego 'Flameeyes' Pettenò @ 2006-09-13 14:58 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 783 bytes --]

On Wednesday 13 September 2006 16:51, Alec Warner wrote:
> If I'm using Autotools, aren't they smart enough (given that I specify
> the proper headers, and source files and whatnot) to generate parallel
> safe makefiles?  Or is it a shot in the dark as to whether it works or not?
If you use automake, 90% they are parallel make safe. There are issues in 
cases

a) you refer to a library in the same directory as the Makefile providing the 
full pathname;
b) you don't put the SUBDIRS variable in the correct order for things to being 
built;
c) you provide custom targets for instance to run scripts that create source 
files.

-- 
Diego "Flameeyes" Pettenò - http://farragut.flameeyes.is-a-geek.org/
Gentoo/Alt lead, Gentoo/FreeBSD, Video, AMD64, Sound, PAM, KDE

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-dev] AutoMake and paralle safe makefiles [WAS: using -j1 with distcc?]
  2006-09-13 14:51 ` [gentoo-dev] AutoMake and paralle safe makefiles [WAS: using -j1 with distcc?] Alec Warner
  2006-09-13 14:58   ` Diego 'Flameeyes' Pettenò
@ 2006-09-13 15:03   ` Ciaran McCreesh
  1 sibling, 0 replies; 9+ messages in thread
From: Ciaran McCreesh @ 2006-09-13 15:03 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 775 bytes --]

On Wed, 13 Sep 2006 10:51:47 -0400 Alec Warner <antarus@gentoo.org>
wrote:
| Aron Griffis wrote:
| > From bind-9.3.2-r4.ebuild:
| > 
| > Unless somebody can explain how this is valid, I'll go ahead and fix
| > the bind ebuilds (where "fix" means "use -j1 unconditionally since
| > the Makefiles aren't parallel safe").
| 
| If I'm using Autotools, aren't they smart enough (given that I
| specify the proper headers, and source files and whatnot) to generate
| parallel safe makefiles?  Or is it a shot in the dark as to whether
| it works or not?

You can quite easily screw up Makefile.am and generate unsafe code when
using automake. It doesn't remove the need to know what you're doing.

-- 
Ciaran McCreesh
Mail            : ciaranm at ciaranm.org


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-dev] using -j1 with distcc?
  2006-09-13 14:52 ` [gentoo-dev] using -j1 with distcc? Brian Harring
@ 2006-09-13 15:26   ` Ferris McCormick
  2006-09-13 15:29   ` Aron Griffis
  1 sibling, 0 replies; 9+ messages in thread
From: Ferris McCormick @ 2006-09-13 15:26 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1842 bytes --]

On Wed, 2006-09-13 at 07:52 -0700, Brian Harring wrote:
> On Wed, Sep 13, 2006 at 10:34:52AM -0400, Aron Griffis wrote:
> > From bind-9.3.2-r4.ebuild:
> > 
> >     # idea from dev-libs/cyrus-sasl
> >     if has distcc ${FEATURES}; then
> >         einfo "You have \"distcc\" enabled"
> >         einfo "build with MAKEOPTS=\"-j1\""
> >         jobs="-j1"
> >     else
> >         einfo "build with MAKEOPTS=${MAKEOPTS}"
> >         jobs=""
> >     fi
> > 
> >     emake ${jobs} || die "failed to compile bind"
> > 
> > I think this is bogus.  If building with distcc reveals a parallel
> > build issue, then the issue exists with or without distcc, it just
> > seems to happen less often without it.  We've been down this road
> > before, maybe people have forgotten?
> > 
> > bind-9.3.2-r4.ebuild failed to build for me on dual ia64.  Building
> > with -j1 works.
> > 
> > Unless somebody can explain how this is valid, I'll go ahead and fix
> > the bind ebuilds (where "fix" means "use -j1 unconditionally since the
> > Makefiles aren't parallel safe").
> 
> Similar trickery in app-office/openoffice, although they enable -jN if 
> distcc is enabled, else -j1 ...
> 
> Always wondered how that was valid, just avoid OO compiles enough it 
> wasn't something I ever got around to looking into :)
> ~harring

I don't see how it can be valid, especially ferringb's example.
Enabling distcc doesn't mean the build will distribute; only that the
possibility is there.  If you happen to build when the other system(s)
is(are) unavailable for some reason, you get everything on the host, so
for ferringb, e.g., this would mean -jN on one system.

As for Aron's case, I agree with him.

Regards,
Ferris
-- 
Ferris McCormick (P44646, MI) <fmccor@gentoo.org>
Developer, Gentoo Linux (Devrel, Sparc)


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-dev] using -j1 with distcc?
  2006-09-13 14:52 ` [gentoo-dev] using -j1 with distcc? Brian Harring
  2006-09-13 15:26   ` Ferris McCormick
@ 2006-09-13 15:29   ` Aron Griffis
  1 sibling, 0 replies; 9+ messages in thread
From: Aron Griffis @ 2006-09-13 15:29 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 603 bytes --]

Brian Harring wrote:  [Wed Sep 13 2006, 10:52:17AM EDT]
> Similar trickery in app-office/openoffice, although they enable -jN if 
> distcc is enabled, else -j1 ...
> 
> Always wondered how that was valid, just avoid OO compiles enough it 
> wasn't something I ever got around to looking into :)

The openoffice ebuild is okay.  It disables parallel builds by
default, since openoffice isn't parallel safe.  But the ebuild
provides a sekrit variable WANT_DISTCC that can be set to use -j* from
MAKEOPTS.

In this case WANT_DISTCC is a misnomer but the technique isn't
actually bad.

Aron

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-dev] using -j1 with distcc?
  2006-09-13 14:34 [gentoo-dev] using -j1 with distcc? Aron Griffis
  2006-09-13 14:51 ` [gentoo-dev] AutoMake and paralle safe makefiles [WAS: using -j1 with distcc?] Alec Warner
  2006-09-13 14:52 ` [gentoo-dev] using -j1 with distcc? Brian Harring
@ 2006-09-13 15:30 ` Aron Griffis
  2006-09-13 21:09   ` Konstantin V. Arkhipov
  2 siblings, 1 reply; 9+ messages in thread
From: Aron Griffis @ 2006-09-13 15:30 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 400 bytes --]

Aron Griffis wrote:  [Wed Sep 13 2006, 10:34:52AM EDT]
> Unless somebody can explain how this is valid, I'll go ahead and fix
> the bind ebuilds (where "fix" means "use -j1 unconditionally since
> the Makefiles aren't parallel safe").

Maybe this was quick on my part, but I've gone ahead and fixed the
ebuilds.  They can always be "fixed back" if I'm wrong, but I'm pretty
certain...

Regards,
Aron

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-dev] using -j1 with distcc?
  2006-09-13 15:30 ` Aron Griffis
@ 2006-09-13 21:09   ` Konstantin V. Arkhipov
  0 siblings, 0 replies; 9+ messages in thread
From: Konstantin V. Arkhipov @ 2006-09-13 21:09 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 500 bytes --]

On Wednesday 13 September 2006 19:30, Aron Griffis wrote:
> Aron Griffis wrote:  [Wed Sep 13 2006, 10:34:52AM EDT]
>
> > Unless somebody can explain how this is valid, I'll go ahead and fix
> > the bind ebuilds (where "fix" means "use -j1 unconditionally since
> > the Makefiles aren't parallel safe").
>
> Maybe this was quick on my part, but I've gone ahead and fixed the
> ebuilds.  They can always be "fixed back" if I'm wrong, but I'm pretty
> certain...

thanks.

-- 
voxus
:wq

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2006-09-13 21:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-13 14:34 [gentoo-dev] using -j1 with distcc? Aron Griffis
2006-09-13 14:51 ` [gentoo-dev] AutoMake and paralle safe makefiles [WAS: using -j1 with distcc?] Alec Warner
2006-09-13 14:58   ` Diego 'Flameeyes' Pettenò
2006-09-13 15:03   ` Ciaran McCreesh
2006-09-13 14:52 ` [gentoo-dev] using -j1 with distcc? Brian Harring
2006-09-13 15:26   ` Ferris McCormick
2006-09-13 15:29   ` Aron Griffis
2006-09-13 15:30 ` Aron Griffis
2006-09-13 21:09   ` Konstantin V. Arkhipov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox