Debian Bug report logs - #746822
0ad: ftbfs with GCC-4.9

version graph

Package: src:0ad; Maintainer for src:0ad is Debian Games Team <pkg-games-devel@lists.alioth.debian.org>;

Reported by: Matthias Klose <doko@debian.org>

Date: Sun, 4 May 2014 00:24:01 UTC

Severity: important

Tags: jessie, sid

Found in version 0ad/0.0.15+dfsg-3

Fixed in version 0ad/0.0.16-4

Done: Vincent Cheng <vcheng@debian.org>

Bug is archived. No further changes may be made.

Forwarded to http://trac.wildfiregames.com/ticket/2481

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to Debian Games Team <pkg-games-devel@lists.alioth.debian.org>:
Bug#746822; Package src:0ad. (Sun, 04 May 2014 00:24:06 GMT) (full text, mbox, link).


Acknowledgement sent to Matthias Klose <doko@debian.org>:
New Bug report received and forwarded. Copy sent to Debian Games Team <pkg-games-devel@lists.alioth.debian.org>. (Sun, 04 May 2014 00:24:06 GMT) (full text, mbox, link).


Message #5 received at maintonly@bugs.debian.org (full text, mbox, reply):

From: Matthias Klose <doko@debian.org>
To: maintonly@bugs.debian.org
Subject: 0ad: ftbfs with GCC-4.9
Date: Sun, 04 May 2014 00:21:06 +0000
Package: src:0ad
Version: 0.0.15+dfsg-3
Severity: important
Tags: sid jessie
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-4.9

The package fails to build in a test rebuild on at least amd64 with
gcc-4.9/g++-4.9, but succeeds to build with gcc-4.8/g++-4.8. The
severity of this report may be raised before the jessie release.

The full build log can be found at:
http://people.debian.org/~doko/logs/failed-gcc49/0ad_0.0.15+dfsg-3_unstable_gcc49.log
The last lines of the build log are at the end of this report.

To build with GCC 4.9, either set CC=gcc-4.9 CXX=g++-4.9 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t experimental install g++ 

Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols
files.  For other C/C++ related build failures see the porting guide
at http://gcc.gnu.org/gcc-4.9/porting_to.html

[...]
g++ -Iobj/test_Release -include obj/test_Release/precompiled.h -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -MMD -MP -DNDEBUG -DCONFIG_FINAL=1 -DLIB_STATIC_LINK -DINSTALLED_BINDIR=/usr/games -DINSTALLED_DATADIR=/usr/share/games/0ad -DINSTALLED_LIBDIR=/usr/lib/games/0ad -DUSING_PCH -DWITH_SYSTEM_MOZJS185 -DNVTT_SHARED=1 -I../../../source/pch/test -I../../../source -I../../../libraries/source/cxxtest/include -I../../../libraries/source/valgrind/include -I/usr/X11R6/include/X11 -I/usr/X11R6/include -I/usr/include/X11 -g -Wall -O3 -Wno-switch -Wno-reorder -Wno-invalid-offsetof -Wextra -Wno-missing-field-initializers -Wunused-parameter -Wredundant-decls -Wnon-virtual-dtor -Wundef -fstack-protector-all -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstrict-aliasing -fno-omit-frame-pointer -fpch-preprocess -msse -fvisibility=hidden `wx-config --unicode=yes --cxxflags` `sdl-config --cflags` `pkg-config mozjs185 --cflags` `pkg-config libxml-2.0 --cflags` -pthread -MF obj/test_Release/test_allocators.d -MT "obj/test_Release/test_allocators.o" -o "obj/test_Release/test_allocators.o" -c "../../../source/lib/allocators/tests/test_allocators.cpp"
test_tex.h
../../bin/cxxtestgen.pl --part --have-std --include=precompiled.h -o ../../../source/lib/res/graphics/tests/test_tex.cpp ../../../source/lib/res/graphics/tests/test_tex.h
test_tex.cpp
g++ -Iobj/test_Release -include obj/test_Release/precompiled.h -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -MMD -MP -DNDEBUG -DCONFIG_FINAL=1 -DLIB_STATIC_LINK -DINSTALLED_BINDIR=/usr/games -DINSTALLED_DATADIR=/usr/share/games/0ad -DINSTALLED_LIBDIR=/usr/lib/games/0ad -DUSING_PCH -DWITH_SYSTEM_MOZJS185 -DNVTT_SHARED=1 -I../../../source/pch/test -I../../../source -I../../../libraries/source/cxxtest/include -I../../../libraries/source/valgrind/include -I/usr/X11R6/include/X11 -I/usr/X11R6/include -I/usr/include/X11 -g -Wall -O3 -Wno-switch -Wno-reorder -Wno-invalid-offsetof -Wextra -Wno-missing-field-initializers -Wunused-parameter -Wredundant-decls -Wnon-virtual-dtor -Wundef -fstack-protector-all -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstrict-aliasing -fno-omit-frame-pointer -fpch-preprocess -msse -fvisibility=hidden `wx-config --unicode=yes --cxxflags` `sdl-config --cflags` `pkg-config mozjs185 --cflags` `pkg-config libxml-2.0 --cflags` -pthread -MF obj/test_Release/test_tex.d -MT "obj/test_Release/test_tex.o" -o "obj/test_Release/test_tex.o" -c "../../../source/lib/res/graphics/tests/test_tex.cpp"
precompiled.cpp
g++ -Iobj/test_Release -include obj/test_Release/precompiled.h -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -MMD -MP -DNDEBUG -DCONFIG_FINAL=1 -DLIB_STATIC_LINK -DINSTALLED_BINDIR=/usr/games -DINSTALLED_DATADIR=/usr/share/games/0ad -DINSTALLED_LIBDIR=/usr/lib/games/0ad -DUSING_PCH -DWITH_SYSTEM_MOZJS185 -DNVTT_SHARED=1 -I../../../source/pch/test -I../../../source -I../../../libraries/source/cxxtest/include -I../../../libraries/source/valgrind/include -I/usr/X11R6/include/X11 -I/usr/X11R6/include -I/usr/include/X11 -g -Wall -O3 -Wno-switch -Wno-reorder -Wno-invalid-offsetof -Wextra -Wno-missing-field-initializers -Wunused-parameter -Wredundant-decls -Wnon-virtual-dtor -Wundef -fstack-protector-all -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstrict-aliasing -fno-omit-frame-pointer -fpch-preprocess -msse -fvisibility=hidden `wx-config --unicode=yes --cxxflags` `sdl-config --cflags` `pkg-config mozjs185 --cflags` `pkg-config libxml-2.0 --cflags` -pthread -MF obj/test_Release/precompiled.d -MT "obj/test_Release/precompiled.o" -o "obj/test_Release/precompiled.o" -c "../../../source/pch/test/precompiled.cpp"
test_setup.cpp
g++ -Iobj/test_Release -include obj/test_Release/precompiled.h -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -MMD -MP -DNDEBUG -DCONFIG_FINAL=1 -DLIB_STATIC_LINK -DINSTALLED_BINDIR=/usr/games -DINSTALLED_DATADIR=/usr/share/games/0ad -DINSTALLED_LIBDIR=/usr/lib/games/0ad -DUSING_PCH -DWITH_SYSTEM_MOZJS185 -DNVTT_SHARED=1 -I../../../source/pch/test -I../../../source -I../../../libraries/source/cxxtest/include -I../../../libraries/source/valgrind/include -I/usr/X11R6/include/X11 -I/usr/X11R6/include -I/usr/include/X11 -g -Wall -O3 -Wno-switch -Wno-reorder -Wno-invalid-offsetof -Wextra -Wno-missing-field-initializers -Wunused-parameter -Wredundant-decls -Wnon-virtual-dtor -Wundef -fstack-protector-all -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstrict-aliasing -fno-omit-frame-pointer -fpch-preprocess -msse -fvisibility=hidden `wx-config --unicode=yes --cxxflags` `sdl-config --cflags` `pkg-config mozjs185 --cflags` `pkg-config libxml-2.0 --cflags` -pthread -MF obj/test_Release/test_setup.d -MT "obj/test_Release/test_setup.o" -o "obj/test_Release/test_setup.o" -c "../../../source/test_setup.cpp"
Linking test
g++ -o ../../../binaries/system/test obj/test_Release/test_root.o obj/test_Release/test_AtlasObjectXML.o obj/test_Release/test_Random.o obj/test_Release/test_Bound.o obj/test_Release/test_MD5.o obj/test_Release/test_Matrix3d.o obj/test_Release/test_Fixed.o obj/test_Release/test_FixedVector3D.o obj/test_Release/test_FixedVector2D.o obj/test_Release/test_Brush.o obj/test_Release/test_Sqrt.o obj/test_Release/test_ScriptInterface.o obj/test_Release/test_ScriptVal.o obj/test_Release/test_ScriptConversions.o obj/test_Release/test_XMLWriter.o obj/test_Release/test_Xeromyces.o obj/test_Release/test_XeroXMB.o obj/test_Release/test_RelaxNG.o obj/test_Release/test_test.o obj/test_Release/test_CLogger.o obj/test_Release/stub_impl_hack.o obj/test_Release/test_CStr.o obj/test_Release/test_Parser.o obj/test_Release/test_CmdLineArgs.o obj/test_Release/test_ParseString.o obj/test_Release/test_Pathfinder.o obj/test_Release/test_Position.o obj/test_Release/test_RangeManager.o obj/test_Release/test_ObstructionManager.o obj/test_Release/test_scripts.o obj/test_Release/test_TerritoryManager.o obj/test_Release/test_CommandQueue.o obj/test_Release/test_Serializer.o obj/test_Release/test_Simulation2.o obj/test_Release/test_ComponentManager.o obj/test_Release/test_ParamNode.o obj/test_Release/test_CmpTemplateManager.o obj/test_Release/test_ShaderManager.o obj/test_Release/test_Terrain.o obj/test_Release/test_TextureConverter.o obj/test_Release/test_Color.o obj/test_Release/test_TextureManager.o obj/test_Release/test_LOSTexture.o obj/test_Release/test_MeshManager.o obj/test_Release/test_Net.o obj/test_Release/test_NetMessage.o obj/test_Release/test_vfs_tree.o obj/test_Release/test_trace.o obj/test_Release/test_printf.o obj/test_Release/test_rtl.o obj/test_Release/test_sysdep.o obj/test_Release/test_cache_adt.o obj/test_Release/test_fnv_hash.o obj/test_Release/test_bits.o obj/test_Release/test_path.o obj/test_Release/test_path_util.o obj/test_Release/test_byte_order.o obj/test_Release/test_base32.o obj/test_Release/test_wchar.o obj/test_Release/test_secure_crt.o obj/test_Release/test_rand.o obj/test_Release/test_regex.o obj/test_Release/test_lib.o obj/test_Release/test_adts.o obj/test_Release/test_posix.o obj/test_Release/test_headerless.o obj/test_Release/test_allocators.o obj/test_Release/test_tex.o obj/test_Release/precompiled.o obj/test_Release/test_setup.o  -Wl,-z,relro -Wl,--no-undefined -Wl,--as-needed -Wl,-z,relro -Wl,-rpath,/usr/lib/games/0ad -pthread -L../../../binaries/system -L../../../libraries/source/cxxtest/lib -L../../../libraries/source/valgrind/lib -L/usr/X11R6/lib  -Xlinker --start-group ../../../binaries/system/libnetwork.a ../../../binaries/system/liblobby.a ../../../binaries/system/libglooxwrapper.a ../../../binaries/system/libsimulation2.a ../../../binaries/system/libscriptinterface.a ../../../binaries/system/libengine.a ../../../binaries/system/libgraphics.a ../../../binaries/system/libatlas.a ../../../binaries/system/libgui.a ../../../binaries/system/liblowlevel.a ../../../binaries/system/libmongoose.a ../../../binaries/system/libmocks_test.a ../../../binaries/system/libAtlasObject.a -Xlinker --end-group -lnetwork -llobby -lglooxwrapper -lsimulation2 -lscriptinterface -lengine -lgraphics -latlas -lgui -llowlevel -lmongoose -lmocks_test -lAtlasObject -lGL -ljpeg -lpng -lz -lboost_filesystem -lboost_system -lenet -lcurl -lX11 -lXcursor -lopenal -lvorbisfile -lnvcore -lnvmath -lnvimage -lnvtt -lgloox -lminiupnpc -lrt -ldl `wx-config --unicode=yes --libs std,gl` `sdl-config --libs` `pkg-config mozjs185 --libs` `pkg-config libxml-2.0 --libs`
make[2]: Leaving directory `/«BUILDDIR»/0ad-0.0.15+dfsg/build/workspaces/gcc'
make[1]: Leaving directory `/«BUILDDIR»/0ad-0.0.15+dfsg'
   debian/rules override_dh_auto_test
make[1]: Entering directory `/«BUILDDIR»/0ad-0.0.15+dfsg'
# Note: Avoid running tests from root dir of build, otherwise certain
# tests (i.e. in testsuite MeshManager) may not work as intended and
# create spurious directories above root dir (../data/mods).
cd binaries/system/ && LD_LIBRARY_PATH=. ./test -libdir .
Running 287 tests..........................................................................................................................................WARNING: Skipping component scripts tests (can't find binaries/data/mods/public/simulation/components/tests/setup.js)
................................................................................................................................................headerless.cpp(490): Assertion failed: "m_freeBytes >= freedBlock->Size()"
Assertion failed: "m_freeBytes >= freedBlock->Size()"
Location: headerless.cpp:490 (Validate)

Call stack:

(0x99916b) ./test() [0x99916b]
(0x949701) ./test() [0x949701]
(0x94a6ae) ./test() [0x94a6ae]
(0x956f27) ./test() [0x956f27]
(0x555dbf) ./test() [0x555dbf]
(0x436429) ./test() [0x436429]
(0x43e9dc) ./test() [0x43e9dc]
(0x41e553) ./test() [0x41e553]
(0x2b012dc0ab45) /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x2b012dc0ab45]
(0x430de3) ./test() [0x430de3]

errno = 0 (No error reported here)
OS error = ?


(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?
Sleeping until debugger attaches.
Please wait.
Debugger launch failed: No such file or directory
Trace/breakpoint trap
make[1]: *** [override_dh_auto_test] Error 133
make[1]: Leaving directory `/«BUILDDIR»/0ad-0.0.15+dfsg'
make: *** [build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2



Set Bug forwarded-to-address to 'http://trac.wildfiregames.com/ticket/2481'. Request was from Dimitri John Ledkov <xnox@ubuntu.com> to control@bugs.debian.org. (Thu, 15 May 2014 00:45:04 GMT) (full text, mbox, link).


Severity set to 'serious' from 'important' Request was from Matthias Klose <doko@debian.org> to control@bugs.debian.org. (Fri, 30 May 2014 14:58:32 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Games Team <pkg-games-devel@lists.alioth.debian.org>:
Bug#746822; Package src:0ad. (Mon, 09 Jun 2014 07:39:09 GMT) (full text, mbox, link).


Acknowledgement sent to Vincent Cheng <vcheng@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Games Team <pkg-games-devel@lists.alioth.debian.org>. (Mon, 09 Jun 2014 07:39:09 GMT) (full text, mbox, link).


Message #14 received at 746822@bugs.debian.org (full text, mbox, reply):

From: Vincent Cheng <vcheng@debian.org>
To: 746822@bugs.debian.org
Subject: Re: Bug#746822: 0ad: ftbfs with GCC-4.9
Date: Mon, 9 Jun 2014 00:37:31 -0700
Control: severity -1 important

On Sat, May 3, 2014 at 5:21 PM, Matthias Klose <doko@debian.org> wrote:
> Package: src:0ad
> Version: 0.0.15+dfsg-3
> Severity: important
> Tags: sid jessie
> User: debian-gcc@lists.debian.org
> Usertags: ftbfs-gcc-4.9
>
> The package fails to build in a test rebuild on at least amd64 with
> gcc-4.9/g++-4.9, but succeeds to build with gcc-4.8/g++-4.8. The
> severity of this report may be raised before the jessie release.

This package only FTBFS when built with gcc 4.9 if the test suite is
run during the build process, and I disabled the test suite as of
0.0.16-1 due to some other unrelated test failures, hence I'm
downgrading the severity of this bug report (instead of closing it,
since I intend to re-enable the test suite once upstream fixes it).

Regards,
Vincent



Severity set to 'important' from 'serious' Request was from Vincent Cheng <vcheng@debian.org> to 746822-submit@bugs.debian.org. (Mon, 09 Jun 2014 07:39:09 GMT) (full text, mbox, link).


Severity set to 'serious' from 'important' Request was from Matthias Klose <doko@debian.org> to control@bugs.debian.org. (Wed, 11 Jun 2014 18:57:13 GMT) (full text, mbox, link).


Severity set to 'important' from 'serious' Request was from Vincent Cheng <vcheng@debian.org> to control@bugs.debian.org. (Thu, 12 Jun 2014 03:24:04 GMT) (full text, mbox, link).


Reply sent to Vincent Cheng <vcheng@debian.org>:
You have taken responsibility. (Wed, 25 Jun 2014 06:06:06 GMT) (full text, mbox, link).


Notification sent to Matthias Klose <doko@debian.org>:
Bug acknowledged by developer. (Wed, 25 Jun 2014 06:06:06 GMT) (full text, mbox, link).


Message #25 received at 746822-close@bugs.debian.org (full text, mbox, reply):

From: Vincent Cheng <vcheng@debian.org>
To: 746822-close@bugs.debian.org
Subject: Bug#746822: fixed in 0ad 0.0.16-4
Date: Wed, 25 Jun 2014 06:03:44 +0000
Source: 0ad
Source-Version: 0.0.16-4

We believe that the bug you reported is fixed in the latest version of
0ad, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 746822@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Vincent Cheng <vcheng@debian.org> (supplier of updated 0ad package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Tue, 24 Jun 2014 21:21:36 -0700
Source: 0ad
Binary: 0ad 0ad-dbg
Architecture: source amd64
Version: 0.0.16-4
Distribution: unstable
Urgency: medium
Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.debian.org>
Changed-By: Vincent Cheng <vcheng@debian.org>
Description:
 0ad        - Real-time strategy game of ancient warfare
 0ad-dbg    - Real-time strategy game of ancient warfare (debug)
Closes: 746822
Changes:
 0ad (0.0.16-4) unstable; urgency=medium
 .
   * Add debian/patches/fix_gcc4.9_ftbfs.patch to fix FTBFS when running the
     test suite when built with gcc 4.9. (Closes: #746822)
Checksums-Sha1:
 8c00445999d220306367f60252125cc20601396b 2465 0ad_0.0.16-4.dsc
 b9847520469a2f91ee56b2a6a497d2b5bfafc252 94136 0ad_0.0.16-4.debian.tar.xz
 56d2feea69f303d7be05821ff6eb3d51b035e024 2681776 0ad_0.0.16-4_amd64.deb
 7cb24f14b35bedc94ccaf44127e3c74be395946f 54577240 0ad-dbg_0.0.16-4_amd64.deb
Checksums-Sha256:
 67711ecf9d21e2bccf6842618e6d13d23639a95a53805f90f324821265c04814 2465 0ad_0.0.16-4.dsc
 95c7a7f77f63f4f6b85cbf5533d72ec02a82832713bd4567261e714862ff8d96 94136 0ad_0.0.16-4.debian.tar.xz
 591fbb0a7246ef7ee935ffb9fa6b262bb8ab5c0d5e830005e08eb3ed7a49c804 2681776 0ad_0.0.16-4_amd64.deb
 f50842dd8841ffcd73da9ed74c4898fb08eb0d22cbf4eec77f74acb66ab7b5b7 54577240 0ad-dbg_0.0.16-4_amd64.deb
Files:
 daef62e5b22779796374c59a35a3d3f6 2681776 games optional 0ad_0.0.16-4_amd64.deb
 fafbe13d2656a2523b7c24408a274d4c 54577240 debug extra 0ad-dbg_0.0.16-4_amd64.deb
 55014e1369e60bb5e1cd344c0cccca05 2465 games optional 0ad_0.0.16-4.dsc
 8be77f079f0d517abc7f3a13c5e796c8 94136 games optional 0ad_0.0.16-4.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCAAGBQJTqmIdAAoJEI7tzBuqHzL/afQP/1byS/Vb2eKp8/mp5s05+nlj
MdyBEe6fAlcwnqAi+sxYem1A3wCa7g1Or0yCrI7hYhIEQoxxolxJMgBEzFrEfo5W
qCwRJVCKdei/j4hVpFbYYh12NJ4lRa9oF6/STuq2ugQWJcmSWgeS8cEYYGJH3Oun
1nQEBaIdVqnZlI/nf9mAv8v2RHTwJppPZ30R56XWEPGP4IrbCtRp8pRHFh9smL1T
dPSv3ppB8YPJqVyxJPx75GTov9jA7geTc/mrAH++ABsbVO+G9dXqTMQ4nebzOg+S
OLEMY97v7BhDZzn2wIy+GVHoOnxDJAD8nv+M1RDE/8gUXF18C+uWIUaGUFy80IWH
M/Y+lkV3fMVCGhIQEFXoK7MIQZqul2UfbJ3DOMXJPgpikqeBrHSeDJrBCE3najvj
U1SbXJ/1kxBTN/f7WrtDJVTDmrahJSScBy0/UEULUpa5KHN5mL6rFDlG6+I+iJRc
MhKpxCDA9SNDaDIfUFlVSCyBqFru25LU5YZV0lzrF9zx+mV0hujE+B2WFYvP+hxw
JYQNfMaIMg5zaAr425Jfz8lIUcWl4JqYyCCQVZ/slER+GJmbP0mbu0ZcBN9zImix
XAoczImii3tMgyniAfYSmdsM6G9yfI7ZPBZDuZD1B9TSR6LK3JoWDtvlg4K40wez
yeBaxYiHW7D/d7wxX7eT
=Crcn
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 28 Jul 2014 07:26:32 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Jul 2 11:19:28 2023; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.