Nescio Posted May 17, 2020 Report Share Posted May 17, 2020 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? Quote Link to comment Share on other sites More sharing options...
Stan` Posted May 17, 2020 Report Share Posted May 17, 2020 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 1 Quote Link to comment Share on other sites More sharing options...
Nescio Posted May 17, 2020 Author Report Share Posted May 17, 2020 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. Quote Link to comment Share on other sites More sharing options...
Stan` Posted May 17, 2020 Report Share Posted May 17, 2020 Yeah, it's on @wraitii's list. Quote Link to comment Share on other sites More sharing options...
Nescio Posted May 17, 2020 Author Report Share Posted May 17, 2020 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 * Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.