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
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.