Jump to content

unable to build 0ad


Nescio
 Share

Recommended Posts

The last time I built the game must have been at least a month, therefore today I decided to rebuild the game. Unfortunately I encountered errors and building the game failed. Here is the terminal output:

Spoiler

[gcc]$ make -j7


==== Building mocks_real (release) ====
Creating obj/mocks_real_Release
mocks_real.cpp
Linking mocks_real


==== Building network (release) ====
Creating obj/network_Release
precompiled.h
NetClient.cpp
NetClientTurnManager.cpp
NetFileTransfer.cpp
NetHost.cpp
NetMessage.cpp
NetMessageSim.cpp
NetServer.cpp
NetServerTurnManager.cpp
NetSession.cpp
NetStats.cpp
StunClient.cpp
fsm.cpp
precompiled.cpp
Linking network


==== Building tinygettext (release) ====
Creating obj/tinygettext_Release
precompiled.h
precompiled.cpp
dictionary.cpp
dictionary_manager.cpp
iconv.cpp
language.cpp
log.cpp
plural_forms.cpp
po_parser.cpp
tinygettext.cpp
unix_file_system.cpp
Linking tinygettext


==== Building lobby (release) ====
Creating obj/lobby_Release
precompiled.h
L10n.cpp
Globals.cpp
StanzaExtensions.cpp
XmppClient.cpp
GlooxScriptConversions.cpp
JSInterface_Lobby.cpp
precompiled.cpp
pkcs5_pbkdf2.cpp
Linking lobby


==== Building glooxwrapper (release) ====
Creating obj/glooxwrapper_Release
precompiled.h
glooxwrapper.cpp
precompiled.cpp
Linking glooxwrapper


==== Building simulation2 (release) ====
Creating obj/simulation2_Release
precompiled.h
precompiled.cpp
Simulation2.cpp
CCmpAIManager.cpp
CCmpCinemaManager.cpp
CCmpCommandQueue.cpp
CCmpDecay.cpp
CCmpFootprint.cpp
CCmpMinimap.cpp
CCmpMotionBall.cpp
CCmpObstruction.cpp
CCmpObstructionManager.cpp
CCmpOverlayRenderer.cpp
CCmpOwnership.cpp
CCmpParticleManager.cpp
CCmpPathfinder.cpp
CCmpPosition.cpp
CCmpProjectileManager.cpp
CCmpRallyPointRenderer.cpp
CCmpRangeManager.cpp
CCmpRangeOverlayRenderer.cpp
CCmpSelectable.cpp
CCmpSoundManager.cpp
CCmpTemplateManager.cpp
CCmpTerrain.cpp
CCmpTerritoryInfluence.cpp
CCmpTerritoryManager.cpp
CCmpTest.cpp
CCmpUnitMotion.cpp
CCmpUnitRenderer.cpp
CCmpVision.cpp
CCmpVisualActor.cpp
CCmpWaterManager.cpp
ICmpAIInterface.cpp
ICmpAIManager.cpp
ICmpAttack.cpp
ICmpCinemaManager.cpp
ICmpCommandQueue.cpp
ICmpDecay.cpp
ICmpFogging.cpp
ICmpFootprint.cpp
ICmpGarrisonHolder.cpp
ICmpGuiInterface.cpp
ICmpIdentity.cpp
ICmpMinimap.cpp
ICmpMirage.cpp
ICmpMotion.cpp
ICmpObstruction.cpp
ICmpObstructionManager.cpp
ICmpOverlayRenderer.cpp
ICmpOwnership.cpp
ICmpParticleManager.cpp
ICmpPathfinder.cpp
ICmpPlayer.cpp
ICmpPlayerManager.cpp
ICmpPosition.cpp
ICmpProjectileManager.cpp
ICmpRallyPoint.cpp
ICmpRallyPointRenderer.cpp
ICmpRangeManager.cpp
ICmpRangeOverlayRenderer.cpp
ICmpSelectable.cpp
ICmpSettlement.cpp
ICmpSound.cpp
ICmpSoundManager.cpp
ICmpTemplateManager.cpp
ICmpTerrain.cpp
ICmpTerritoryDecayManager.cpp
ICmpTerritoryInfluence.cpp
ICmpTerritoryManager.cpp
ICmpTest.cpp
ICmpUnitMotion.cpp
ICmpUnitRenderer.cpp
ICmpUnknownScript.cpp
ICmpValueModificationManager.cpp
ICmpVisibility.cpp
ICmpVision.cpp
ICmpVisual.cpp
ICmpWaterManager.cpp
CinemaPath.cpp
Geometry.cpp
HierarchicalPathfinder.cpp
LongPathfinder.cpp
PathGoal.cpp
Rasterize.cpp
Render.cpp
Selection.cpp
VertexPathfinder.cpp
EngineScriptConversions.cpp
JSInterface_Simulation.cpp
In file included from ../../../source/graphics/Overlay.h:23,
                 from ../../../source/simulation2/helpers/Render.cpp:22:
../../../source/maths/Vector2D.h: In function ‘void SimRender::InterpolatePointsRNS(std::vector<CVector2D>&, bool, float, int)’:
../../../source/maths/Vector2D.h:54:36: warning: ‘a3.CVector2D::Y’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   54 |   return CVector2D(X + t.X, Y + t.Y);
      |                                    ^
../../../source/simulation2/helpers/Render.cpp:418:12: note: ‘a3.CVector2D::Y’ was declared here
  418 |  CVector2D a3;
      |            ^~
In file included from ../../../source/graphics/Overlay.h:23,
                 from ../../../source/simulation2/helpers/Render.cpp:22:
../../../source/maths/Vector2D.h:54:36: warning: ‘a3.CVector2D::X’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   54 |   return CVector2D(X + t.X, Y + t.Y);
      |                                    ^
../../../source/simulation2/helpers/Render.cpp:418:12: note: ‘a3.CVector2D::X’ was declared here
  418 |  CVector2D a3;
      |            ^~
In file included from ../../../source/graphics/Overlay.h:23,
                 from ../../../source/simulation2/helpers/Render.cpp:22:
../../../source/maths/Vector2D.h:54:36: warning: ‘a2.CVector2D::Y’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   54 |   return CVector2D(X + t.X, Y + t.Y);
      |                                    ^
../../../source/simulation2/helpers/Render.cpp:417:12: note: ‘a2.CVector2D::Y’ was declared here
  417 |  CVector2D a2;
      |            ^~
In file included from ../../../source/graphics/Overlay.h:23,
                 from ../../../source/simulation2/helpers/Render.cpp:22:
../../../source/maths/Vector2D.h:54:36: warning: ‘a2.CVector2D::X’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   54 |   return CVector2D(X + t.X, Y + t.Y);
      |                                    ^
../../../source/simulation2/helpers/Render.cpp:417:12: note: ‘a2.CVector2D::X’ was declared here
  417 |  CVector2D a2;
      |            ^~
MessageTypeConversions.cpp
ScriptComponent.cpp
BinarySerializer.cpp
DebugSerializer.cpp
HashSerializer.cpp
IDeserializer.cpp
ISerializer.cpp
StdDeserializer.cpp
StdSerializer.cpp
CmpPtr.cpp
ComponentManager.cpp
ComponentManagerSerialization.cpp
DynamicSubscription.cpp
IComponent.cpp
LocalTurnManager.cpp
ParamNode.cpp
ReplayTurnManager.cpp
SimContext.cpp
TurnManager.cpp
Linking simulation2


==== Building scriptinterface (release) ====
Creating obj/scriptinterface_Release
precompiled.h
precompiled.cpp
ScriptConversions.cpp
ScriptInterface.cpp
ScriptRuntime.cpp
ScriptStats.cpp
Linking scriptinterface


==== Building engine (release) ====
Creating obj/engine_Release
precompiled.h
L10n.cpp
JSInterface_L10n.cpp
BoundingBoxAligned.cpp
BoundingBoxOriented.cpp
BoundingSphere.cpp
Brush.cpp
Fixed.cpp
MD5.cpp
Matrix3D.cpp
NUSpline.cpp
Noise.cpp
Plane.cpp
Quaternion.cpp
Sqrt.cpp
Vector3D.cpp
JSInterface_Network.cpp
precompiled.cpp
ArchiveBuilder.cpp
CConsole.cpp
CLogger.cpp
CStr.cpp
CStrIntern.cpp
CacheLoader.cpp
Compress.cpp
ConfigDB.cpp
DllLoader.cpp
Errors.cpp
FileIo.cpp
Filesystem.cpp
GUID.cpp
Game.cpp
Atlas.cpp
CmdLineArgs.cpp
Config.cpp
GameSetup.cpp
HWDetect.cpp
Paths.cpp
Globals.cpp
Hotkey.cpp
Joystick.cpp
KeyName.cpp
Loader.cpp
Mod.cpp
ModInstaller.cpp
ModIo.cpp
Profile.cpp
ProfileViewer.cpp
Profiler2.cpp
Profiler2GPU.cpp
Pyrogenesis.cpp
Replay.cpp
SavedGame.cpp
Shapes.cpp
TemplateLoader.cpp
ThreadUtil.cpp
TouchInput.cpp
UserReport.cpp
Util.cpp
VideoMode.cpp
VisualReplay.cpp
World.cpp
RelaxNG.cpp
XMLWriter.cpp
XeroXMB.cpp
Xeromyces.cpp
JSInterface_ConfigDB.cpp
JSInterface_Console.cpp
JSInterface_Debug.cpp
JSInterface_Game.cpp
JSInterface_Main.cpp
JSInterface_Mod.cpp
JSInterface_ModIo.cpp
JSInterface_SavedGame.cpp
JSInterface_UserReport.cpp
JSInterface_VFS.cpp
JSInterface_VisualReplay.cpp
SoundManager.cpp
OggData.cpp
SoundData.cpp
ogg.cpp
CBufferItem.cpp
CSoundBase.cpp
CSoundItem.cpp
CStreamItem.cpp
JSInterface_Sound.cpp
SoundGroup.cpp
format.cpp
Linking engine


==== Building graphics (release) ====
Creating obj/graphics_Release
precompiled.h
Camera.cpp
CameraController.cpp
CinemaManager.cpp
ColladaManager.cpp
Color.cpp
Decal.cpp
Font.cpp
FontManager.cpp
FontMetrics.cpp
Frustum.cpp
GameView.cpp
HFTracer.cpp
HeightMipmap.cpp
ICameraController.cpp
LOSTexture.cpp
LightEnv.cpp
MapGenerator.cpp
MapIO.cpp
MapReader.cpp
MapWriter.cpp
Material.cpp
MaterialManager.cpp
MeshManager.cpp
MiniPatch.cpp
Model.cpp
ModelAbstract.cpp
ModelDef.cpp
ObjectBase.cpp
ObjectEntry.cpp
ObjectManager.cpp
Overlay.cpp
ParticleEmitter.cpp
ParticleEmitterType.cpp
ParticleManager.cpp
Patch.cpp
PreprocessorWrapper.cpp
ShaderDefines.cpp
ShaderManager.cpp
ShaderProgram.cpp
ShaderProgramFFP.cpp
ShaderTechnique.cpp
SkeletonAnimDef.cpp
SkeletonAnimManager.cpp
SmoothedValue.cpp
Terrain.cpp
../../../source/graphics/Terrain.cpp: In member function ‘void CTerrain::ResizeAndOffset(ssize_t, ssize_t, ssize_t)’:
../../../source/graphics/Terrain.cpp:652:24: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const ssize_t’ {aka ‘const long int’} [-Wsign-compare]
  652 |   for (size_t i = 0; i < width; ++i)
      |                      ~~^~~~~~~
TerrainProperties.cpp
TerrainTextureEntry.cpp
TerrainTextureManager.cpp
TerritoryBoundary.cpp
TerritoryTexture.cpp
TextRenderer.cpp
TextureConverter.cpp
TextureManager.cpp
Unit.cpp
UnitAnimation.cpp
UnitManager.cpp
JSInterface_GameView.cpp
precompiled.cpp
AlphaMapCalculator.cpp
DecalRData.cpp
HWLightingModelRenderer.cpp
InstancingModelRenderer.cpp
MikktspaceWrap.cpp
ModelRenderer.cpp
OverlayRenderer.cpp
ParticleRenderer.cpp
PatchRData.cpp
PostprocManager.cpp
RenderModifiers.cpp
Renderer.cpp
RenderingOptions.cpp
Scene.cpp
ShadowMap.cpp
SilhouetteRenderer.cpp
SkyManager.cpp
TerrainOverlay.cpp
TerrainRenderer.cpp
TexturedLineRData.cpp
TimeManager.cpp
VertexArray.cpp
VertexBuffer.cpp
VertexBufferManager.cpp
WaterManager.cpp
JSInterface_Renderer.cpp
mikktspace.cpp
weldmesh.cpp
OgreGLSLPreprocessor.cpp
Linking graphics


==== Building atlas (release) ====
Creating obj/atlas_Release
precompiled.h
precompiled.cpp
ActorViewer.cpp
Brushes.cpp
CommandProc.cpp
GameLoop.cpp
BrushHandlers.cpp
CameraCtrlHandlers.cpp
CinemaHandler.cpp
CommandHandlers.cpp
ElevationHandlers.cpp
EnvironmentHandlers.cpp
GraphicsSetupHandlers.cpp
MapHandlers.cpp
MessageHandler.cpp
MiscHandlers.cpp
ObjectHandlers.cpp
PlayerHandlers.cpp
TerrainHandlers.cpp
InputProcessor.cpp
MessagePasserImpl.cpp
Misc.cpp
Register.cpp
SimState.cpp
View.cpp
Linking atlas


==== Building gui (release) ====
Creating obj/gui_Release
precompiled.h
CGUI.cpp
CGUIScrollBarVertical.cpp
CGUISetting.cpp
CGUISprite.cpp
CGUIText.cpp
GUIManager.cpp
GUIMatrix.cpp
GUIRenderer.cpp
GUIStringConversions.cpp
GUITooltip.cpp
IGUIScrollBar.cpp
IGUIButtonBehavior.cpp
IGUIObject.cpp
IGUIScrollBarOwner.cpp
IGUITextOwner.cpp
CButton.cpp
CChart.cpp
CCheckBox.cpp
CDropDown.cpp
CImage.cpp
CInput.cpp
CList.cpp
CMiniMap.cpp
COList.cpp
CProgressBar.cpp
CRadioButton.cpp
CSlider.cpp
CText.cpp
CTooltip.cpp
GuiScriptConversions.cpp
JSInterface_GUIManager.cpp
JSInterface_GUISize.cpp
JSInterface_IGUIObject.cpp
ScriptFunctions.cpp
CGUIColor.cpp
CGUISize.cpp
CGUIString.cpp
L10n.cpp
precompiled.cpp
Linking gui


==== Building lowlevel (release) ====
Creating obj/lowlevel_Release
precompiled.h
arena.cpp
dynarray.cpp
freelist.cpp
headerless.cpp
page_aligned.cpp
pool.cpp
shared_ptr.cpp
unique_range.cpp
app_hooks.cpp
base32.cpp
bits.cpp
byte_order.cpp
debug.cpp
debug_stl.cpp
dbghelp.cpp
libsdl.cpp
archive.cpp
archive_zip.cpp
codec.cpp
codec_zlib.cpp
stream.cpp
file_loader.cpp
file_stats.cpp
real_directory.cpp
trace.cpp
file.cpp
file_system.cpp
io.cpp
write_buffer.cpp
vfs.cpp
vfs_lookup.cpp
vfs_path.cpp
vfs_populate.cpp
vfs_tree.cpp
vfs_util.cpp
fnv_hash.cpp
frequency_filter.cpp
input.cpp
lib.cpp
module_init.cpp
ogl.cpp
path.cpp
posix.cpp
rand.cpp
regex.cpp
cursor.cpp
ogl_tex.cpp
h_mgr.cpp
secure_crt.cpp
../../../source/lib/res/h_mgr.cpp: In function ‘void h_free_hd(HDATA*)’:
../../../source/lib/res/h_mgr.cpp:560:27: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct HDATA’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]
  560 |  memset(hd, 0, sizeof(*hd));
      |                           ^
../../../source/lib/res/h_mgr.cpp:132:8: note: ‘struct HDATA’ declared here
  132 | struct HDATA
      |        ^~~~~
snd.cpp
status.cpp
svn_revision.cpp
acpi.cpp
amd64.cpp
apic.cpp
cache.cpp
msr.cpp
topology.cpp
x86_x64.cpp
cpu.cpp
gfx.cpp
dir_watch_inotify.cpp
lcpu.cpp
ldbg.cpp
linux.cpp
udbg.cpp
ufilesystem.cpp
unix.cpp
unix_executable_pathname.cpp
unuma.cpp
uvm.cpp
x.cpp
os_cpu.cpp
gcc.cpp
smbios.cpp
tex.cpp
../../../source/lib/sysdep/os/unix/x/x.cpp:92:13: warning: ‘bool get_wminfo(SDL_SysWMinfo&)’ defined but not used [-Wunused-function]
   92 | static bool get_wminfo(SDL_SysWMinfo& wminfo)
      |             ^~~~~~~~~~
../../../source/lib/sysdep/os/unix/x/x.cpp:54:15: warning: ‘selection_size’ defined but not used [-Wunused-variable]
   54 | static size_t selection_size=0;
      |               ^~~~~~~~~~~~~~
../../../source/lib/sysdep/os/unix/x/x.cpp:53:17: warning: ‘selection_data’ defined but not used [-Wunused-variable]
   53 | static wchar_t *selection_data=NULL;
      |                 ^~~~~~~~~~~~~~
../../../source/lib/sysdep/os/unix/x/x.cpp:52:15: warning: ‘g_SDL_Window’ defined but not used [-Wunused-variable]
   52 | static Window g_SDL_Window;
      |               ^~~~~~~~~~~~
../../../source/lib/sysdep/os/unix/x/x.cpp:51:17: warning: ‘g_SDL_Display’ defined but not used [-Wunused-variable]
   51 | static Display *g_SDL_Display;
      |                 ^~~~~~~~~~~~~
tex_bmp.cpp
tex_codec.cpp
tex_dds.cpp
tex_png.cpp
tex_tga.cpp
timer.cpp
utf8.cpp
wsecure_crt.cpp
precompiled.cpp
Linking lowlevel
==== Building mongoose (release) ====
Creating obj/mongoose_Release
mongoose.cpp
../../../source/third_party/mongoose/mongoose.cpp: In function ‘mg_context* mg_start(mg_callback_t, void*, const char**)’:
../../../source/third_party/mongoose/mongoose.cpp:4295:21: warning: cast between incompatible function types from ‘void (*)(mg_context*)’ to ‘mg_thread_func_t’ {aka ‘void* (*)(void*)’} [-Wcast-function-type]
 4295 |   start_thread(ctx, (mg_thread_func_t) master_thread, ctx);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../source/third_party/mongoose/mongoose.cpp:4299:27: warning: cast between incompatible function types from ‘void (*)(mg_context*)’ to ‘mg_thread_func_t’ {aka ‘void* (*)(void*)’} [-Wcast-function-type]
 4299 |     if (start_thread(ctx, (mg_thread_func_t) worker_thread, ctx) != 0) {
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Linking mongoose


==== Building Collada (release) ====
Creating obj/Collada_Release
precompiled.h
CommonConvert.cpp
DLL.cpp
Decompose.cpp
GeomReindex.cpp
Maths.cpp
PMDConvert.cpp
PSAConvert.cpp
StdSkeletons.cpp
XMLFix.cpp
precompiled.cpp
Linking Collada
/usr/bin/ld: ../../../libraries/source/fcollada/lib/libFColladaSR.a(FAXInstanceExport.o): in function `FArchiveXML::WritePhysicsRigidBodyInstance(FCDObject*, _xmlNode*)':
FAXInstanceExport.cpp:(.text+0xb5c): undefined reference to `_xmlNode* FArchiveXML::AddPhysicsParameter<FMVector3, 0>(_xmlNode*, char const*, FCDParameterAnimatableT<FMVector3, 0>&)'
/usr/bin/ld: FAXInstanceExport.cpp:(.text+0xb72): undefined reference to `_xmlNode* FArchiveXML::AddPhysicsParameter<FMVector3, 0>(_xmlNode*, char const*, FCDParameterAnimatableT<FMVector3, 0>&)'
collect2: error: ld returned 1 exit status
make[1]: *** [Collada.make:94: ../../../binaries/system/libCollada.so] Error 1
make: *** [Makefile:177: Collada] Error 2

My operating system is Fedora 32 and my compiler version is gcc-10.1.1-1.fc32.x86_64.

Firstly I checked whether any of the dependencies listed at https://trac.wildfiregames.com/wiki/BuildInstructions#Fedora was missing (“[...] already installed / Dependencies resolved. / Nothing to do. / Complete!”). Then I deleted .cache/0ad, just in case, and ran the usual:

svn revert -R *
svn up
cd 0ad/build/workspaces/
./clean-workspaces
./update-workspaces.sh -j7
cd gcc/
make clean
make -j7

The last step failed. When I try to run the game or tests, I get:

[0ad]$ binaries/system/test
bash: binaries/system/test: No such file or directory
[0ad]$ binaries/system/pyrogenesis
bash: binaries/system/pyrogenesis: No such file or directory

In the past I was able to successfully build the 0ad development version, so I don't really understand why this is no longer the case. Any suggestions?

Link to comment
Share on other sites

44 minutes ago, Stan` said:

That's because you run a too recent version of gcc. You need to apply an additional fix for fcollada, from the Fedora guys :) See https://trac.wildfiregames.com/ticket/5709

Thanks. After applying that patch manually, cleaning everything, and rebuilding from scratch, this error appears to be solved, and make continues. It would be nice to get that patch committed soon. (I should remember not to svn revert -R * until then.)

Now I get an entirely different and probably unrelated error:

Spoiler

==== Building test (release) ====
Creating obj/test_Release
precompiled.h
Generating test_Camera.cpp
Generating test_Color.cpp
Generating test_LOSTexture.cpp
Generating test_MapGenerator.cpp
Generating test_MeshManager.cpp
Generating test_ShaderManager.cpp
Generating test_Terrain.cpp
Generating test_TextureManager.cpp
Generating test_TextureConverter.cpp
Generating test_GuiManager.cpp
Generating test_ParseString.cpp
Generating test_allocators.cpp
Generating test_headerless.cpp
Generating test_trace.cpp
Generating test_vfs_tree.cpp
Generating test_vfs_util.cpp
Generating test_posix.cpp
Generating test_tex.cpp
Generating test_rtl.cpp
Generating test_sysdep.cpp
Generating test_adts.cpp
Generating test_base32.cpp
Generating test_bits.cpp
Generating test_byte_order.cpp
Generating test_cache_adt.cpp
Generating test_fnv_hash.cpp
Generating test_lib.cpp
Generating test_path.cpp
Generating test_path_util.cpp
Generating test_regex.cpp
Generating test_rand.cpp
Generating test_wchar.cpp
Generating test_secure_crt.cpp
Generating test_Bound.cpp
Generating test_BoundingSphere.cpp
Generating test_Brush.cpp
Generating test_Fixed.cpp
Generating test_FixedVector2D.cpp
Generating test_FixedVector3D.cpp
Generating test_MD5.cpp
Generating test_Matrix3d.cpp
Generating test_Sqrt.cpp
Generating test_Net.cpp
Generating test_NetMessage.cpp
Generating test_CmdLineArgs.cpp
Generating test_RelaxNG.cpp
Generating test_XMLWriter.cpp
Generating test_XeroXMB.cpp
Generating test_Xeromyces.cpp
Generating test_CColor.cpp
Generating test_CLogger.cpp
Generating test_CStr.cpp
Generating test_ModIo.cpp
Generating test_fmt.cpp
Generating test_test.cpp
Generating test_ObjectToIDMap.cpp
Generating test_ScriptConversions.cpp
Generating test_ScriptInterface.cpp
Generating test_CinemaManager.cpp
Generating test_CommandQueue.cpp
Generating test_HierPathfinder.cpp
Generating test_ObstructionManager.cpp
Generating test_Pathfinder.cpp
Generating test_Position.cpp
Generating test_RangeManager.cpp
Generating test_scripts.cpp
Generating test_TerritoryManager.cpp
Generating test_CmpTemplateManager.cpp
Generating test_ComponentManager.cpp
Generating test_EntityMap.cpp
Generating test_ParamNode.cpp
Generating test_SerializeTemplates.cpp
Generating test_Serializer.cpp
Generating test_Simulation2.cpp
Generating test_pkcs5_pbkdf5.cpp
Generating test_Preprocessor.cpp
Generating test_AtlasObjectXML.cpp
test_Camera.cpp
test_Color.cpp
test_LOSTexture.cpp
test_MapGenerator.cpp
test_MeshManager.cpp
test_ShaderManager.cpp
test_Terrain.cpp
test_TextureConverter.cpp
test_TextureManager.cpp
test_GuiManager.cpp
test_ParseString.cpp
test_allocators.cpp
test_headerless.cpp
test_trace.cpp
test_vfs_tree.cpp
test_vfs_util.cpp
test_posix.cpp
test_tex.cpp
test_rtl.cpp
test_sysdep.cpp
test_adts.cpp
test_base32.cpp
test_bits.cpp
test_byte_order.cpp
test_cache_adt.cpp
test_fnv_hash.cpp
test_lib.cpp
test_path.cpp
test_path_util.cpp
test_rand.cpp
test_regex.cpp
test_secure_crt.cpp
test_wchar.cpp
test_Bound.cpp
test_BoundingSphere.cpp
test_Brush.cpp
test_Fixed.cpp
test_FixedVector2D.cpp
test_FixedVector3D.cpp
test_MD5.cpp
test_Matrix3d.cpp
test_Sqrt.cpp
test_Net.cpp
test_NetMessage.cpp
precompiled.cpp
test_CmdLineArgs.cpp
test_RelaxNG.cpp
test_XMLWriter.cpp
test_XeroXMB.cpp
test_Xeromyces.cpp
stub_impl_hack.cpp
test_CColor.cpp
test_CLogger.cpp
test_CStr.cpp
test_ModIo.cpp
test_fmt.cpp
test_test.cpp
test_ObjectToIDMap.cpp
test_ScriptConversions.cpp
test_ScriptInterface.cpp
test_CinemaManager.cpp
test_CommandQueue.cpp
test_HierPathfinder.cpp
test_ObstructionManager.cpp
test_Pathfinder.cpp
test_Position.cpp
test_RangeManager.cpp
test_TerritoryManager.cpp
test_scripts.cpp
test_CmpTemplateManager.cpp
test_ComponentManager.cpp
test_EntityMap.cpp
test_ParamNode.cpp
test_SerializeTemplates.cpp
test_Serializer.cpp
test_Simulation2.cpp
test_root.cpp
test_setup.cpp
test_pkcs5_pbkdf5.cpp
test_Preprocessor.cpp
test_AtlasObjectXML.cpp
Linking test
/usr/bin/ld: obj/test_Release/test_HierPathfinder.o: in function `TestHierarchicalPathfinder::assert_blank(HierarchicalPathfinder&)':
/home/b/Projects/0ad/source/simulation2/components/tests/test_HierPathfinder.h:97: undefined reference to `void HierarchicalPathfinder::FindReachableRegions<std::less<HierarchicalPathfinder::RegionID> >(HierarchicalPathfinder::RegionID, std::set<HierarchicalPathfinder::RegionID, std::less<HierarchicalPathfinder::RegionID>, std::allocator<HierarchicalPathfinder::RegionID> >&, unsigned short) const'
/usr/bin/ld: /home/b/Projects/0ad/source/simulation2/components/tests/test_HierPathfinder.h:100: undefined reference to `void HierarchicalPathfinder::FindReachableRegions<std::less<HierarchicalPathfinder::RegionID> >(HierarchicalPathfinder::RegionID, std::set<HierarchicalPathfinder::RegionID, std::less<HierarchicalPathfinder::RegionID>, std::allocator<HierarchicalPathfinder::RegionID> >&, unsigned short) const'
/usr/bin/ld: obj/test_Release/test_HierPathfinder.o: in function `TestHierarchicalPathfinder::test_reachability_and_update()':
/home/b/Projects/0ad/source/simulation2/components/tests/test_HierPathfinder.h:164: undefined reference to `void HierarchicalPathfinder::FindReachableRegions<std::less<HierarchicalPathfinder::RegionID> >(HierarchicalPathfinder::RegionID, std::set<HierarchicalPathfinder::RegionID, std::less<HierarchicalPathfinder::RegionID>, std::allocator<HierarchicalPathfinder::RegionID> >&, unsigned short) const'
/usr/bin/ld: /home/b/Projects/0ad/source/simulation2/components/tests/test_HierPathfinder.h:167: undefined reference to `void HierarchicalPathfinder::FindReachableRegions<std::less<HierarchicalPathfinder::RegionID> >(HierarchicalPathfinder::RegionID, std::set<HierarchicalPathfinder::RegionID, std::less<HierarchicalPathfinder::RegionID>, std::allocator<HierarchicalPathfinder::RegionID> >&, unsigned short) const'
/usr/bin/ld: /home/b/Projects/0ad/source/simulation2/components/tests/test_HierPathfinder.h:189: undefined reference to `void HierarchicalPathfinder::FindReachableRegions<std::less<HierarchicalPathfinder::RegionID> >(HierarchicalPathfinder::RegionID, std::set<HierarchicalPathfinder::RegionID, std::less<HierarchicalPathfinder::RegionID>, std::allocator<HierarchicalPathfinder::RegionID> >&, unsigned short) const'
/usr/bin/ld: obj/test_Release/test_HierPathfinder.o:/home/b/Projects/0ad/source/simulation2/components/tests/test_HierPathfinder.h:202: more undefined references to `void HierarchicalPathfinder::FindReachableRegions<std::less<HierarchicalPathfinder::RegionID> >(HierarchicalPathfinder::RegionID, std::set<HierarchicalPathfinder::RegionID, std::less<HierarchicalPathfinder::RegionID>, std::allocator<HierarchicalPathfinder::RegionID> >&, unsigned short) const' follow
collect2: error: ld returned 1 exit status
make[1]: *** [test.make:331: ../../../binaries/system/test] Error 1
make: *** [Makefile:189: test] Error 2

Running binaries/system/test fails, but binaries/system/pyrogenesis works, so I'm happy for now.

Link to comment
Share on other sites

3 hours ago, Stan` said:

That's because you run a too recent version of gcc. You need to apply an additional fix for fcollada, from the Fedora guys :) See https://trac.wildfiregames.com/ticket/5709

It turns out I have to revert the patch whenever I want to upload something to phabricator, and manually reinstating it every time is simply too much work, therefore I posted @pcpa's patch to phabricator: D2745.

Next time I want to rebuild 0ad it can simply be loaded with:

arc patch D2745

and subsequently reverted with:

svn revert -R *

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...