[Gc] Maintainers attention: libatomic_ops

Henning Makholm makholm at octoshape.com
Wed Sep 30 07:01:03 PDT 2009

> I have yet to see real-world issues of this that aren't caused by misuse
> of the auto* stuff such as incomplete autogen.sh scripts or use of
> autoconf 2.13 compatibility cruft with 2.50+ versions (which have been
> around for nearly a decade now).

Blaming the problems on "misuse" does not change the fact that they happen.

>> Given the traditional lack of cross-version robustness of the autotools
>> suite, there would be a large risk that contributors submitted code that
>> worked  with their version of the autotools, but (unknown to anyone)
>> happened to fail on the version Hans uses to create the distribution
>> tarball.
> The traditional lack of cross-version robustness would likely apply to
> autoconf before 2.50 and automake 1.5, or perhaps 1.6,

I don't know about particular version numbers, but it is definitely not
unheard-of that the strange magic you have to use to beat automake version
N into creating the makefile you need will suddenly and sliently stop
working for automake version N+1, and vice versa.

Feel free to call this "misuse", but that does not change the fact that
such problems do happen in the real world.

> refer to incomplete or misordered rebuilds of the auto* stuff, and
> usually also be fixed through autoreconf -ivf (add -s if you like).

No, what I'm talkin about is code that works with one version of the
tools and fails to work with another version of the tools, because something
it depended on had changed in the mean time.

>> The code tested for each platform should be same code that eventually
> > ships.

> "Code tested" would be GC code, not the build surroundings

Wrong -- build scripts also need to be tested. It will not do to ship a
tarball with nonfunctional build scripts (because the auto* inputs were
never tested against the autotools version that generated the build
scripts from them).

Henning Makholm
Octoshape ApS

More information about the Gc mailing list