0.3.1 Release Process and BUGS

Help test release candidates for the next release
User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

0.3.1 Release Process and BUGS

Post by Lucifer »

Ok, here's the release discussion thread for the upcoming 0.3.1 release. Please make sure you post bug reports concerning the alpha releases in this thread, so we can keep them together. ;) (After the release, bug reports for this release will go on launchpad as always)

I tried to build test packages today and hit stumbling blocks that all revolve around ruby.

make dist fails because a file built by bison isn't built yet. But if I build with ruby enabled, the build fails with these errors:

Code: Select all

if g++ -DHAVE_CONFIG_H -I. -I../../armagetronad/src -I..   -I. -I..  -I/usr/include/libxml2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/FTGL -I/usr/include/freetype2   -I/usr/include/freetype2 -I/usr/include/libpng12  -I/usr/lib/ruby/1.8/i486-linux   -I../../armagetronad/src/tools -I../../armagetronad/src/resource -I../../armagetronad/src/thirdparty/mathexpr  -I../../armagetronad/src/render -I../../armagetronad/src/ui -I../../armagetronad/src/thirdparty/shttpd -I../../armagetronad/src/thirdparty/scrap     -I../../armagetronad/src/network -I../../armagetronad/src/engine -I../../armagetronad/src/engine/sound -I../../armagetronad/src/thirdparty/particles -I../../armagetronad/src/tron -I../../armagetronad/src/tron/cockpit -w -O2 -MT librubywrap_a-armagetronad_wrap.o -MD -MP -MF ".deps/librubywrap_a-armagetronad_wrap.Tpo" -c -o librubywrap_a-armagetronad_wrap.o `test -f '../src/swig/ext/armagetronad_wrap.cxx' || echo '../../armagetronad/src/'`../src/swig/ext/armagetronad_wrap.cxx; \
        then mv -f ".deps/librubywrap_a-armagetronad_wrap.Tpo" ".deps/librubywrap_a-armagetronad_wrap.Po"; else rm -f ".deps/librubywrap_a-armagetronad_wrap.Tpo"; exit 1; fi
../src/swig/ext/armagetronad_wrap.cxx: In function ‘VALUE _wrap_new_EGameObject__SWIG_0(int, VALUE*, VALUE)’:
../src/swig/ext/armagetronad_wrap.cxx:13785: error: cannot allocate an object of abstract type ‘eGameObject’
../../armagetronad/src/engine/eGameObject.h:45: note:   because the following virtual functions are pure within ‘eGameObject’:
../../armagetronad/src/engine/eGameObject.h:106: note:  virtual void eGameObject::AddRef()
../../armagetronad/src/engine/eGameObject.h:107: note:  virtual void eGameObject::Release()
../src/swig/ext/armagetronad_wrap.cxx: In function ‘VALUE _wrap_new_EGameObject__SWIG_1(int, VALUE*, VALUE)’:
../src/swig/ext/armagetronad_wrap.cxx:13856: error: cannot allocate an object of abstract type ‘eGameObject’
../../armagetronad/src/engine/eGameObject.h:45: note:   since type ‘eGameObject’ has pure virtual functions
../../armagetronad/src/tools/tList.h: In member function ‘gCycleMemory& gCycleMemory::operator=(const gCycleMemory&)’:
../../armagetronad/src/tools/tList.h:178: error: ‘tList<T, MALLOC, REFERENCE>& tList<T, MALLOC, REFERENCE>::operator=(const tList<T, MALLOC, REFERENCE>&) [with T = gCycleMemoryEntry, bool MALLOC = false, bool REFERENCE = false]’ is private
../../armagetronad/src/tron/gCycle.h:67: error: within this context
../src/swig/ext/armagetronad_wrap.cxx: In function ‘VALUE _wrap_GCycle_memory_set(int, VALUE*, VALUE)’:
../src/swig/ext/armagetronad_wrap.cxx:19890: note: synthesized method ‘gCycleMemory& gCycleMemory::operator=(const gCycleMemory&)’ first required here
../../armagetronad/src/tools/tList.h: In copy constructor ‘gCycleMemory::gCycleMemory(const gCycleMemory&)’:
../../armagetronad/src/tools/tList.h:177: error: ‘tList<T, MALLOC, REFERENCE>::tList(const tList<T, MALLOC, REFERENCE>&) [with T = gCycleMemoryEntry, bool MALLOC = false, bool REFERENCE = false]’ is private
../../armagetronad/src/tron/gCycle.h:67: error: within this context
../src/swig/ext/armagetronad_wrap.cxx: In function ‘VALUE _wrap_GCycle_memory_get(int, VALUE*, VALUE)’:
../src/swig/ext/armagetronad_wrap.cxx:19918: note: synthesized method ‘gCycleMemory::gCycleMemory(const gCycleMemory&)’ first required here
../src/swig/ext/armagetronad_wrap.cxx: In function ‘VALUE _wrap_new_GCycle__SWIG_0(int, VALUE*, VALUE)’:
../src/swig/ext/armagetronad_wrap.cxx:20403: error: no matching function for call to ‘gCycle::gCycle(eGrid*&, const tCoord&, const tCoord&, ePlayerNetID*&, bool&)’
../../armagetronad/src/tron/gCycle.h:266: note: candidates are: gCycle::gCycle(nMessage&)
../../armagetronad/src/tron/gCycle.h:250: note:                 gCycle::gCycle(eGrid*, const tCoord&, const tCoord&, ePlayerNetID*)
../../armagetronad/src/tron/gCycle.h:150: note:                 gCycle::gCycle(gCycle&)
make[3]: *** [librubywrap_a-armagetronad_wrap.o] Error 1
make[3]: Leaving directory `/home/dave/Projects/armagetronad/build-dist/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/dave/Projects/armagetronad/build-dist/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dave/Projects/armagetronad/build-dist'
make: *** [all] Error 2
The "right" fix for this is to make it so that make dist works no matter what and doesn't require a build to first be completed. That's probably also the required fix, because make distcheck will fail if a build has to be completed with non-default options.

I'll look into it more, but it's been awhile since I've looked at the autohell files, so it'll be slow going. Have some patience. ;)
Last edited by Lucifer on Wed Jan 07, 2009 3:26 am, edited 1 time in total.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

User avatar
dlh
Formerly That OS X Guy
Posts: 2035
Joined: Fri Jan 02, 2004 12:05 am
Contact:

Post by dlh »

I've been planning to move the ruby stuff out to a separate bzr branch. I would consider it unsupported for trunk right now.

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Would you be willing to do that now? ;) And scrub the ruby stuff from the trunk at the same time?

More seriously, I've just about got a handle on it. Automake is smart enough to know when something is conditional and has sources, it still needs to distribute the sources, and that's the problem here, so I just have to find a way to hide that source from automake.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Oh goody, make distcheck fails in the trunk. Does it work over in 0.2.8 land?

/me runs off to check

I disabled ruby building entirely for now in the trunk, sorry about that.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: [email protected]

Post by Luke-Jr »

I thought Ruby stuff already was disabled without --enable-ruby ?

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

It is, but there's more to it than that. Just keep in mind that building a release is a bigger chore than just building the game and playing in a sandbox.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Ok, so here's where I'm at with this:

I can build autopackages. I'm working on building autopackages that have both libxml2 and ftgl linked statically and compiled with apgcc. The packages themselves are a little rough around the edges still, but I'll sort that out after branching.

Make distcheck fails in the trunk. When I have it working again (my next task), I'll branch for 0.3.1. This will be the first release run entirely out of bzr, which is appropriate in the development series. ;)

Like 0.3.0, I don't intend to be branched for very long. Right now, feel free to do whatever you want to the trunk. Especially if what you want to do is make it pass make distcheck. ;) So, after branching, I'll start throwing up packages and as soon as we have packages that run reasonably, we'll release.

I'm planning on releasing these packages:

* Source tarball
* Source zip
* Autopackage

Depending on how it goes, I may manage to build a windows package with wine, but no promises. So, we'll need someone to build these two packages:

* Windows
* Mac OS X

Any distribution-specific packages (like .deb or .rpm) will need to be provided by somebody else. All of these are going on aabeta and not sourceforge (just like 0.3.0).

Who's running aabeta these days? Is it still luke-jr? I need an account there, finally. ;)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

User avatar
dlh
Formerly That OS X Guy
Posts: 2035
Joined: Fri Jan 02, 2004 12:05 am
Contact:

Post by dlh »

Lucifer wrote: Any distribution-specific packages (like .deb or .rpm) will need to be provided by somebody else. All of these are going on aabeta and not sourceforge (just like 0.3.0).
But 0.3.0 is on sourceforge, in the armagetronad-testing package.

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

dlh wrote:
Lucifer wrote: Any distribution-specific packages (like .deb or .rpm) will need to be provided by somebody else. All of these are going on aabeta and not sourceforge (just like 0.3.0).
But 0.3.0 is on sourceforge, in the armagetronad-testing package.
Heh, that shows you the last time I looked at out releases on sourceforge. :) It didn't used to be there.... Ok then, 0.3.1 will be there too. I guess I'd better go look at the release page.

Here are some autopackages I'd like people to test. The purpose of the test is binary compatibility, I'd like to know if these run everywhere the ones for 0.3.0 run. If they do, then I know I can build the 0.3.1 autopackages. If they don't, then I need to know why so I can fix them.

http://www.davefancella.com/armagetrona ... package.gz

http://www.davefancella.com/armagetrona ... package.gz
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

User avatar
Z-Man
God & Project Admin
Posts: 11427
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

The client was working in Kubuntu 8.04. I have a batch of older distros in VMs back home (still stuck "with the Lisbians"). Also back home is my Windows build system I'm willing to put to good use. Don't delay branching for me to test whether the Windows build actually works, we can fix all problems in the branch.

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

I'm not actually worried about the windows version working, it generally doesn't have the same binary compatibility concerns the autopackage has.

When you built 0.3.0 autopackages, did you use an apgcc-built ftgl? Also, can I get a copy of your custom site file? I made my own, but I'm wanting to compare it. You always have little tricks in your custom files that are really useful. ;)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

User avatar
Infa(mous)
Round Winner
Posts: 255
Joined: Thu Aug 14, 2008 11:27 pm

Post by Infa(mous) »

I tried building the latest bzr source (rev 748) on windows w/ codeblocks, and I get the error:

Code: Select all

-------------- Build: Win32 Release in Dedicated ---------------

Compiling: ..\..\src\engine\eAdvWall.cpp
In file included from C:\Armagetronad\armagetronad\src\engine\eAdvWall.cpp:30:
../../src/render/rTexture.h:32:30: tResourceManager.h: No such file or directory
In file included from C:\Armagetronad\armagetronad\src\engine\eAdvWall.cpp:30:
../../src/render/rTexture.h:195: error: `tResourcePath' does not name a type
../../src/render/rTexture.h:197: error: expected `)' before "const"
../../src/render/rTexture.h:192: error: base `rFileTexture' with only non-default constructor in class without a constructor
../../src/render/rTexture.h:212: error: expected `)' before "const"
../../src/render/rTexture.h:226: error: ISO C++ forbids declaration of `tResourcePath' with no type
../../src/render/rTexture.h:226: error: expected `;' before "const"
../../src/render/rTexture.h:227: error: expected `;' before '}' token
In file included from ../../src/tools/tConfiguration.h:35,
                 from C:\Armagetronad\armagetronad\src\engine\eAdvWall.cpp:36:
../../src/tools/tLocale.h:34:22: tVersion.h: No such file or directory
Process terminated with status 1 (0 minutes, 2 seconds)
9 errors, 0 warnings
tResourceManager doesn't exist anymore. Is that supposed to be the case?

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

tResourceManager.h is there, maybe it's missing from the code::blocks project file?
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

User avatar
Infa(mous)
Round Winner
Posts: 255
Joined: Thu Aug 14, 2008 11:27 pm

Post by Infa(mous) »

Hmm... ya, you're right. I was looking in tools for the tResource stuff... That's why I couldn't find it. A simple search turned it up in Resource. What seems to be the problem is that there's no resource folder in the workspace for codeblocks. Only a tools folder, where it's trying to include the tresourcemanager from.

EDIT: Even when I added the resource stuff to the codeblocks workspace, it gave me the same errors. :(

Code: Select all

-------------- Build: Win32 Release in Dedicated ---------------

Compiling: ..\..\src\engine\eAdvWall.cpp
In file included from C:\Armagetronad\armagetronad\src\engine\eAdvWall.cpp:30:
../../src/render/rTexture.h:32:30: tResourceManager.h: No such file or directory
In file included from C:\Armagetronad\armagetronad\src\engine\eAdvWall.cpp:30:
../../src/render/rTexture.h:195: error: `tResourcePath' does not name a type
../../src/render/rTexture.h:197: error: expected `)' before "const"
../../src/render/rTexture.h:192: error: base `rFileTexture' with only non-default constructor in class without a constructor
../../src/render/rTexture.h:212: error: expected `)' before "const"
../../src/render/rTexture.h:226: error: ISO C++ forbids declaration of `tResourcePath' with no type
../../src/render/rTexture.h:226: error: expected `;' before "const"
../../src/render/rTexture.h:227: error: expected `;' before '}' token
In file included from ../../src/tools/tConfiguration.h:35,
                 from C:\Armagetronad\armagetronad\src\engine\eAdvWall.cpp:36:
../../src/tools/tLocale.h:34:22: tVersion.h: No such file or directory
Process terminated with status 1 (0 minutes, 1 seconds)
9 errors, 0 warnings

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Well, make distcheck mostly works, so I branched.

https://code.launchpad.net/~armagetrona ... onad/0.3.1
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

Post Reply