jinzo Posted August 20, 2009 Report Share Posted August 20, 2009 Hello,So I compiled 0 A.D from SVN on Gentoo Linux. Compiling went reasonably well, now I encounter an error when I start the game:ERROR: dlopen error: ./libCollada_dbg.so: cannot open shared object file: No such file or directoryERROR: Failed to load COLLADA conversion DLLERROR: Could not load mesh 'art/meshes/structural/settlement_1.dae'ERROR: CObjectEntry::BuildModel(): Model art/meshes/structural/settlement_1.dae failed to loadThat's after I try to start the Single Player mode.Before that, I get some warnings/errors, I'm posting the whole log here:jinzo@oxy ~ $ 0admkdir failed with errno=13vfs_lookup.cpp(81): Assertion failed: "0"udbg_bfd_init: loading symbols from /opt/0ad/system/pyrogenesis_dbg.debug.cpp(233): Unable to open crashlog.txt for writing (please ensure the log directory is writable)Unable to open crashlog.txt for writing (please ensure the log directory is writable)Location: debug.cpp:233 (debug_WriteCrashlog)Call stack:(0x085aa6d4) ldbg.cpp:101 debug_DumpStack(wchar_t*, unsigned int, void*, char const*)(0x0855959a) debug.cpp:341 debug_BuildErrorMessage(wchar_t const*, char const*, int, char const*, void*, char const*, ErrorMessageMem*)(0x08559a93) debug.cpp:499 debug_DisplayError(wchar_t const*, unsigned int, void*, char const*, char const*, int, char const*, unsigned char*)(0x08559ff0) debug.cpp:234 debug_WriteCrashlog(wchar_t const*)(0x08559aa1) debug.cpp:502 debug_DisplayError(wchar_t const*, unsigned int, void*, char const*, char const*, int, char const*, unsigned char*)(0x08559bda) debug.cpp:577 debug_OnAssertionFailure(char const*, unsigned char*, char const*, int, char const*)(0x0857e5bd) vfs_lookup.cpp:81 vfs_Lookup(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, VfsDirectory*, VfsDirectory*&, VfsFile**, unsigned int)(0x085756b6) vfs.cpp:48 VFS::Mount(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> const&, unsigned int, unsigned int)(0x082b23b5) GameSetup.cpp:553 InitVfs(0x082b5961) GameSetup.cpp:862 Init(CmdLineArgs const&, int)(0x081df387) main.cpp:395 RunGameOrAtlas(0x081df452) main.cpp:412 main(0xb7645725) /lib/libc.so.6:0 __libc_start_main(0x081de421) none:0 _starterrno = 0 (?)OS error = ?(C)ontinue, (B)reak, Launch (D)ebugger, or (E)xit?cAssertion failed: "0"Location: vfs_lookup.cpp:81 (vfs_Lookup)Call stack:(0x085aa6d4) ldbg.cpp:101 debug_DumpStack(wchar_t*, unsigned int, void*, char const*)(0x0855959a) debug.cpp:341 debug_BuildErrorMessage(wchar_t const*, char const*, int, char const*, void*, char const*, ErrorMessageMem*)(0x08559a93) debug.cpp:499 debug_DisplayError(wchar_t const*, unsigned int, void*, char const*, char const*, int, char const*, unsigned char*)(0x08559bda) debug.cpp:577 debug_OnAssertionFailure(char const*, unsigned char*, char const*, int, char const*)(0x0857e5bd) vfs_lookup.cpp:81 vfs_Lookup(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, VfsDirectory*, VfsDirectory*&, VfsFile**, unsigned int)(0x085756b6) vfs.cpp:48 VFS::Mount(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> const&, unsigned int, unsigned int)(0x082b23b5) GameSetup.cpp:553 InitVfs(0x082b5961) GameSetup.cpp:862 Init(CmdLineArgs const&, int)(0x081df387) main.cpp:395 RunGameOrAtlas(0x081df452) main.cpp:412 main(0xb7645725) /lib/libc.so.6:0 __libc_start_main(0x081de421) none:0 _starterrno = 0 (?)OS error = ?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?cmkdir failed with errno=13vfs_lookup.cpp(81): Assertion failed: "0"Assertion failed: "0"Location: vfs_lookup.cpp:81 (vfs_Lookup)Call stack:(0x085aa6d4) ldbg.cpp:101 debug_DumpStack(wchar_t*, unsigned int, void*, char const*)(0x0855959a) debug.cpp:341 debug_BuildErrorMessage(wchar_t const*, char const*, int, char const*, void*, char const*, ErrorMessageMem*)(0x08559a93) debug.cpp:499 debug_DisplayError(wchar_t const*, unsigned int, void*, char const*, char const*, int, char const*, unsigned char*)(0x08559bda) debug.cpp:577 debug_OnAssertionFailure(char const*, unsigned char*, char const*, int, char const*)(0x0857e5bd) vfs_lookup.cpp:81 vfs_Lookup(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, VfsDirectory*, VfsDirectory*&, VfsFile**, unsigned int)(0x085756b6) vfs.cpp:48 VFS::Mount(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> const&, unsigned int, unsigned int)(0x082b24d6) GameSetup.cpp:554 InitVfs(0x082b5961) GameSetup.cpp:862 Init(CmdLineArgs const&, int)(0x081df387) main.cpp:395 RunGameOrAtlas(0x081df452) main.cpp:412 main(0xb7645725) /lib/libc.so.6:0 __libc_start_main(0x081de421) none:0 _starterrno = 0 (?)OS error = ?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?cmkdir failed with errno=13vfs_lookup.cpp(81): Assertion failed: "0"Assertion failed: "0"Location: vfs_lookup.cpp:81 (vfs_Lookup)Call stack:(0x085aa6d4) ldbg.cpp:101 debug_DumpStack(wchar_t*, unsigned int, void*, char const*)(0x0855959a) debug.cpp:341 debug_BuildErrorMessage(wchar_t const*, char const*, int, char const*, void*, char const*, ErrorMessageMem*)(0x08559a93) debug.cpp:499 debug_DisplayError(wchar_t const*, unsigned int, void*, char const*, char const*, int, char const*, unsigned char*)(0x08559bda) debug.cpp:577 debug_OnAssertionFailure(char const*, unsigned char*, char const*, int, char const*)(0x0857e5bd) vfs_lookup.cpp:81 vfs_Lookup(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, VfsDirectory*, VfsDirectory*&, VfsFile**, unsigned int)(0x085756b6) vfs.cpp:48 VFS::Mount(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> const&, unsigned int, unsigned int)(0x082b25f7) GameSetup.cpp:555 InitVfs(0x082b5961) GameSetup.cpp:862 Init(CmdLineArgs const&, int)(0x081df387) main.cpp:395 RunGameOrAtlas(0x081df452) main.cpp:412 main(0xb7645725) /lib/libc.so.6:0 __libc_start_main(0x081de421) none:0 _starterrno = 0 (?)OS error = ?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?cmkdir failed with errno=13vfs_lookup.cpp(81): Assertion failed: "0"Assertion failed: "0"Location: vfs_lookup.cpp:81 (vfs_Lookup)Call stack:(0x085aa6d4) ldbg.cpp:101 debug_DumpStack(wchar_t*, unsigned int, void*, char const*)(0x0855959a) debug.cpp:341 debug_BuildErrorMessage(wchar_t const*, char const*, int, char const*, void*, char const*, ErrorMessageMem*)(0x08559a93) debug.cpp:499 debug_DisplayError(wchar_t const*, unsigned int, void*, char const*, char const*, int, char const*, unsigned char*)(0x08559bda) debug.cpp:577 debug_OnAssertionFailure(char const*, unsigned char*, char const*, int, char const*)(0x0857e5bd) vfs_lookup.cpp:81 vfs_Lookup(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, VfsDirectory*, VfsDirectory*&, VfsFile**, unsigned int)(0x085756b6) vfs.cpp:48 VFS::Mount(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> const&, unsigned int, unsigned int)(0x082b2707) GameSetup.cpp:556 InitVfs(0x082b5961) GameSetup.cpp:862 Init(CmdLineArgs const&, int)(0x081df387) main.cpp:395 RunGameOrAtlas(0x081df452) main.cpp:412 main(0xb7645725) /lib/libc.so.6:0 __libc_start_main(0x081de421) none:0 _starterrno = 0 (?)OS error = ?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?clib_errors.cpp(105): Function call failed: return value was -110300 (Insufficient access rights to open file)Function call failed: return value was -110300 (Insufficient access rights to open file)Location: lib_errors.cpp:105 (LibError_from_errno)Call stack:(0x085aa6d4) ldbg.cpp:101 debug_DumpStack(wchar_t*, unsigned int, void*, char const*)(0x0855959a) debug.cpp:341 debug_BuildErrorMessage(wchar_t const*, char const*, int, char const*, void*, char const*, ErrorMessageMem*)(0x08559a93) debug.cpp:499 debug_DisplayError(wchar_t const*, unsigned int, void*, char const*, char const*, int, char const*, unsigned char*)(0x08559ea9) debug.cpp:553 debug_OnError(long, unsigned char*, char const*, int, char const*)(0x085559a6) lib_errors.cpp:105 LibError_from_errno(bool)(0x085680b1) file_system.cpp:129 CreateDirectories(boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> const&, unsigned int)(0x0857568a) vfs.cpp:48 VFS::Mount(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> const&, unsigned int, unsigned int)(0x082b29b0) GameSetup.cpp:570 InitVfs(0x082b5961) GameSetup.cpp:862 Init(CmdLineArgs const&, int)(0x081df387) main.cpp:395 RunGameOrAtlas(0x081df452) main.cpp:412 main(0xb7645725) /lib/libc.so.6:0 __libc_start_main(0x081de421) none:0 _starterrno = 0 (?)OS error = ?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?cvfs.cpp(48): Function call failed: return value was -1 (Function failed (no details available))Function call failed: return value was -1 (Function failed (no details available))Location: vfs.cpp:48 (Mount)Call stack:(0x085aa6d4) ldbg.cpp:101 debug_DumpStack(wchar_t*, unsigned int, void*, char const*)(0x0855959a) debug.cpp:341 debug_BuildErrorMessage(wchar_t const*, char const*, int, char const*, void*, char const*, ErrorMessageMem*)(0x08559a93) debug.cpp:499 debug_DisplayError(wchar_t const*, unsigned int, void*, char const*, char const*, int, char const*, unsigned char*)(0x08559ea9) debug.cpp:553 debug_OnError(long, unsigned char*, char const*, int, char const*)(0x085756f8) vfs.cpp:48 VFS::Mount(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> const&, unsigned int, unsigned int)(0x082b2ac4) GameSetup.cpp:571 InitVfs(0x082b5961) GameSetup.cpp:862 Init(CmdLineArgs const&, int)(0x081df387) main.cpp:395 RunGameOrAtlas(0x081df452) main.cpp:412 main(0xb7645725) /lib/libc.so.6:0 __libc_start_main(0x081de421) none:0 _starterrno = 0 (?)OS error = ?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?cTIMER| InitVfs: 6.05024 sTIMER| InitScripting: 4.39805 msTIMER| CONFIG_Init: 13.2543 msNVIDIA: could not open the device file /dev/nvidiactl (Permission denied).TIMER| write_sys_info: 17.8426 msTIMER| ps_console: 47.4276 msTIMER| ps_lang_hotkeys: 7.91822 msTIMER| ps_gui_init: 37.013 usTIMER| ps_gui_setup_xml: 7.79454 msTIMER| ps_gui_styles_xml: 3.69132 msTIMER| ps_gui_sprite1_xml: 144.273 msTIMER| ps_gui_1: 51.903 msTIMER| ps_gui_2: 197.047 msTIMER| ps_gui_3: 4.39513 msTIMER| ps_gui_4: 87.4496 msTIMER| ps_gui_6: 729.858 usTIMER| ps_gui_6_1: 5.56322 msTIMER| ps_gui_6_2: 2.45308 msTIMER| ps_gui_7: 707.764 usTIMER| ps_gui_9: 8.22381 msTIMER| InitRenderer: 1.23542 msTIMER| SimulationInit: 3.20091 msTIMER| Init_miscgamesection: 53.3957 msTIMER| Init_guiload: 171.875 msERROR: dlopen error: ./libCollada_dbg.so: cannot open shared object file: No such file or directoryERROR: Failed to load COLLADA conversion DLLERROR: Could not load mesh 'art/meshes/structural/settlement_1.dae'ERROR: CObjectEntry::BuildModel(): Model art/meshes/structural/settlement_1.dae failed to loadSegmentation faultP.S: That's the same error as here.Do you need any further info ? Quote Link to comment Share on other sites More sharing options...
janwas Posted August 21, 2009 Report Share Posted August 21, 2009 Greetings!Uhoh, those previous errors are already showstoppers.Since even the simplest of the VFS mount calls is failing (line 570, accessing pre-existing directories within the SVN tree), it looks like we're failing to determine the executable's directory.Does it help if you launch the game from gdb, which sets argv[0] correctly? Can you please step through source/lib/sysdep/os/linux/linux.cpp's sys_get_executable_name and check what source/ps/GameSetup/Paths.cpp's Paths::Root is returning so we can find out the cause?Unfortunately I can't help much with the libCollada problem (am developing on Windows). Do you see anything in the build log that indicates the .so wasn't actually built? Quote Link to comment Share on other sites More sharing options...
jinzo Posted August 22, 2009 Author Report Share Posted August 22, 2009 Hello,Thanks for your replay. Looks like there was something wrong at compile time. Today I recompiled the game with "make" ( instead of "make -j5" ) and now it works.Keep up the good work! The game looks really promising. Quote Link to comment Share on other sites More sharing options...
Ykkrosh Posted August 28, 2009 Report Share Posted August 28, 2009 jinzo@oxy ~ $ 0adWhat is "0ad"? (The game currently requires the pyrogenesis_dbg executable to be run from a non-PATH-based command so it can find it from (effectively) argv[0]; if you're running it strangely then that'll fail.) Quote Link to comment Share on other sites More sharing options...
jinzo Posted August 29, 2009 Author Report Share Posted August 29, 2009 That was a wrapper script done by the gentoo ebuild. But as I allready figured out, there are some problems with that ebuild and parallel make. So that's solved, at least what's concerning 0 A.D development. Thanks for your help. 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.