s0600204 Posted November 1, 2018 Report Share Posted November 1, 2018 Unless you specified an alternate install path, ./b2 install places the library under /usr/local/ (with the headers in ./include/boost and the compiled bits in ./lib) (If you simply ran ./b2, then the compiled bits are in ./stage/lib respective to the b2 script, and you''ll have to copy things manually. It's probably best to use ./b2 install) You might need to re-run update-workspaces.sh to register the correct files. The -mt suffix on the library names means that the libraries were compiled with multi-threading support. This appears to not be the default. Either way, update-workspaces.sh should find and link in the correct ones. Quote Link to comment Share on other sites More sharing options...
gw1500se Posted November 1, 2018 Author Report Share Posted November 1, 2018 (edited) Woo-hoo! More progress. I keep forgetting to rerun that script. Anyway, I made it past pyrogenesis. SnapSplitterWindow.cpp In file included from /usr/include/wx-2.8/wx/version.h:17:0, from /usr/include/wx-2.8/wx/defs.h:134, from /usr/include/wx-2.8/wx/wxprec.h:13, from ../../../source/tools/atlas/AtlasUI/Misc/precompiled.h:48: ../../../source/tools/atlas/AtlasUI/CustomControls/MapDialog/MapDialog.cpp: In constructor ‘MapDialog::MapDialog(wxWindow*, MapDialogType, const wxIcon&)’: ../../../source/tools/atlas/AtlasUI/CustomControls/MapDialog/MapDialog.cpp:113:54: error: ‘Lm_Type’ was not declared in this scope filenameSizer->Add(new wxStaticText(this, wxID_ANY, _(m_Type == MAPDIALOG_SAVE ? "Map name: " : "Map path: ")), wxSizerFlags().Align(wxALIGN_CENTER_VERTICAL)); ^ make[1]: *** [obj/AtlasUI_Release/MapDialog.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [AtlasUI] Error 2 I'm guessing I need better than wx-2.8. Edited November 1, 2018 by gw1500se Quote Link to comment Share on other sites More sharing options...
Stan` Posted November 1, 2018 Report Share Posted November 1, 2018 28 minutes ago, gw1500se said: Woo-hoo! More progress. I keep forgetting to rerun that script. Anyway, I made it past pyrogenesis. SnapSplitterWindow.cpp In file included from /usr/include/wx-2.8/wx/version.h:17:0, from /usr/include/wx-2.8/wx/defs.h:134, from /usr/include/wx-2.8/wx/wxprec.h:13, from ../../../source/tools/atlas/AtlasUI/Misc/precompiled.h:48: ../../../source/tools/atlas/AtlasUI/CustomControls/MapDialog/MapDialog.cpp: In constructor ‘MapDialog::MapDialog(wxWindow*, MapDialogType, const wxIcon&)’: ../../../source/tools/atlas/AtlasUI/CustomControls/MapDialog/MapDialog.cpp:113:54: error: ‘Lm_Type’ was not declared in this scope filenameSizer->Add(new wxStaticText(this, wxID_ANY, _(m_Type == MAPDIALOG_SAVE ? "Map name: " : "Map path: ")), wxSizerFlags().Align(wxALIGN_CENTER_VERTICAL)); ^ make[1]: *** [obj/AtlasUI_Release/MapDialog.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [AtlasUI] Error 2 I'm guessing I need better than wx-2.8. What version of WxWidgets do you have ? Yeah it should be 3+ Quote Link to comment Share on other sites More sharing options...
s0600204 Posted November 1, 2018 Report Share Posted November 1, 2018 EPEL provides wxGTK3-devel which should do the trick. You may have to explicitly tell the build system to use version 3.0. The easiest way to do this is to open ./build/premake/external_libs5.lua and replace the two instances of wx-config with wx-config-3.0 Re-run update-workspaces.sh and then make in the appropriate folders. Quote Link to comment Share on other sites More sharing options...
Guest Posted November 2, 2018 Report Share Posted November 2, 2018 (edited) You could also skip Atlas by passing the flag "--disable-atlas" to update-workspaces.sh Edited November 2, 2018 by Guest Quote Link to comment Share on other sites More sharing options...
gw1500se Posted November 2, 2018 Author Report Share Posted November 2, 2018 Something has happened to the epel repostiory as it is no longer accessible. (Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again). I'm trying to contact the epel team to see what is wrong. In any case what is the significance of bypassing Atlas? How does that effect the game? Quote Link to comment Share on other sites More sharing options...
Stan` Posted November 2, 2018 Report Share Posted November 2, 2018 5 minutes ago, gw1500se said: Something has happened to the epel repostiory as it is no longer accessible. (Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again). I'm trying to contact the epel team to see what is wrong. In any case what is the significance of bypassing Atlas? How does that effect the game? Atlas is the map editor. As long as you don't want to create or edit maps you should be fine without it Quote Link to comment Share on other sites More sharing options...
gw1500se Posted November 2, 2018 Author Report Share Posted November 2, 2018 Arrrggggggh! Got past Atlas but now I'm back to a boost problem: Linking test obj/test_Release/test_Color.o: In function `generic_category': /usr/local/include/boost/system/error_code.hpp:498: undefined reference to `boost::system::detail::generic_category_ncx()' /usr/local/include/boost/system/error_code.hpp:498: undefined reference to `boost::system::detail::generic_category_ncx()' /usr/local/include/boost/system/error_code.hpp:498: undefined reference to `boost::system::detail::generic_category_ncx()' /usr/local/include/boost/system/error_code.hpp:498: undefined reference to `boost::system::detail::generic_category_ncx()' /usr/local/include/boost/system/error_code.hpp:498: undefined reference to `boost::system::detail::generic_category_ncx()' collect2: error: ld returned 1 exit status make[1]: *** [../../../binaries/system/test] Error 1 make: *** [test] Error 2 Quote Link to comment Share on other sites More sharing options...
Guest Posted November 2, 2018 Report Share Posted November 2, 2018 Atleast its just the tests. What matters would be finished. Could you run binaries/system/pyrogenesis without any issues? Quote Link to comment Share on other sites More sharing options...
gw1500se Posted November 2, 2018 Author Report Share Posted November 2, 2018 I didn't play very long but, yes, it seems to work fine. Quote Link to comment Share on other sites More sharing options...
gw1500se Posted November 3, 2018 Author Report Share Posted November 3, 2018 (edited) After a couple of hours of play I don't seem to find any problems other than me. :-) I am willing to give someone a login on my server if they want to create a CentOS 7 RPM. I've never messed with that. I can't produce enough resources yet to keep up with more than 2 onslaughts and still get to town level. The third defeats me even on the very easy level. I don't like the fact that I cannot build any walls until town level. The older version allowed a wood stockade at village level but that seems to have been removed for some reason. But that is another thread. Edited November 3, 2018 by gw1500se Quote Link to comment Share on other sites More sharing options...
Guest Posted November 3, 2018 Report Share Posted November 3, 2018 Glad you got it working. It would be great if you could update the wiki with all the specific stuff you did and with directions to resources and dependencies etc. Then the next person who comes along may have an easier time than you did Quote Link to comment Share on other sites More sharing options...
s0600204 Posted November 21, 2018 Report Share Posted November 21, 2018 As we haven't heard back for a couple of weeks, I've played around with a virtual machine and put together something based on this thread and my own exploration. It can be found at https://trac.wildfiregames.com/wiki/BuildInstructions#CentOS. If the instructions are (or become) incorrect, please feel free to suggest corrections. 2 2 Quote Link to comment Share on other sites More sharing options...
gw1500se Posted November 23, 2018 Author Report Share Posted November 23, 2018 (edited) I've been pretty busy. I looked at the entry and the one thing that is missing is that gcc version 4.8.5 also needs to be manually installed as that is not available from the CentOS 7 repos. Edited November 23, 2018 by gw1500se Quote Link to comment Share on other sites More sharing options...
s0600204 Posted November 23, 2018 Report Share Posted November 23, 2018 1 hour ago, gw1500se said: [...] gcc version 4.8.5 also needs to be manually installed as that is not available from the CentOS 7 repos. With due respect, according to the list of packages on the CentOS 7 primary mirror, gcc 4.8.5 has been available since April 25th. Quote Link to comment Share on other sites More sharing options...
gw1500se Posted November 23, 2018 Author Report Share Posted November 23, 2018 (edited) Sorry, my mistake. It needs version 5.8 or better. Edited November 23, 2018 by gw1500se Change requirement Quote Link to comment Share on other sites More sharing options...
gw1500se Posted November 23, 2018 Author Report Share Posted November 23, 2018 Ignore previous. For some reason I cannot edit the text, it only lets me edit the reason. In any case, the version of gcc needed is 7.2.1. devtoolset-7-gcc needs to be installed manually. Quote Link to comment Share on other sites More sharing options...
s0600204 Posted November 25, 2018 Report Share Posted November 25, 2018 Huh. On my VM, I was able to successfully compile the game with the provided gcc 4.8.5. And I did not have a package by the name of devtoolset-7-gcc (or similar) installed at all. But if you're telling me that it is required for someone using a physical machine, then so be it. Quote Link to comment Share on other sites More sharing options...
skaiware Posted December 15, 2018 Report Share Posted December 15, 2018 (edited) Hello everybody, I have followed the instructions over there : https://trac.wildfiregames.com/wiki/BuildInstructions but got similar issues than gw1500 @gw1500se : ==== Building pyrogenesis (release) ==== main.cpp Linking pyrogenesis obj/pyrogenesis_Release/main.o: In function `generic_category': /usr/local/include/boost/system/error_code.hpp:498: undefined reference to `boost::system::detail::generic_category_ncx()' /usr/local/include/boost/system/error_code.hpp:498: undefined reference to `boost::system::detail::generic_category_ncx()' /usr/local/include/boost/system/error_code.hpp:498: undefined reference to `boost::system::detail::generic_category_ncx()' /usr/local/include/boost/system/error_code.hpp:498: undefined reference to `boost::system::detail::generic_category_ncx()' /usr/local/include/boost/system/error_code.hpp:498: undefined reference to `boost::system::detail::generic_category_ncx()' ../../../binaries/system/liblowlevel.a(file_system.o): In function `copy_file': /usr/local/include/boost/filesystem/operations.hpp:539: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::detail::copy_option, boost::system::error_code*)' /usr/local/include/boost/filesystem/operations.hpp:544: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::detail::copy_option, boost::system::error_code*)' collect2: error: ld returned 1 exit status I have installed the expected boost as documented : wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gztar -xf boost_1_68_0.tar.gzcd boost_1_68_0/ ./bootstrap.sh --with-libraries=filesystem,system sudo ./b2 install $ ll /usr/local/lib/libboost_* -rw-r--r--. 1 root root 245756 Dec 12 20:54 /usr/local/lib/libboost_filesystem.a lrwxrwxrwx. 1 root root 29 Dec 12 20:53 /usr/local/lib/libboost_filesystem.so -> libboost_filesystem.so.1.68.0 -rwxr-xr-x. 1 root root 127208 Dec 12 20:53 /usr/local/lib/libboost_filesystem.so.1.68.0 -rw-r--r--. 1 root root 65844 Dec 12 20:54 /usr/local/lib/libboost_system.a lrwxrwxrwx. 1 root root 25 Dec 12 20:53 /usr/local/lib/libboost_system.so -> libboost_system.so.1.68.0 -rwxr-xr-x. 1 root root 24800 Dec 12 20:53 /usr/local/lib/libboost_system.so.1.68.0 Edited December 15, 2018 by skaiware Quote Link to comment Share on other sites More sharing options...
Stan` Posted December 15, 2018 Report Share Posted December 15, 2018 Hello @skaiware, have you tried the fixes on the previous pages for boost ? Quote Link to comment Share on other sites More sharing options...
skaiware Posted December 15, 2018 Report Share Posted December 15, 2018 I ve tried : ./update-workspaces.sh --without-lobby --without-tests --without-pch cd gcc make clean make but still the same linking issues with boost. @stanislas69 are you speaking about the change to the pch file : $ more ../../../source/lib/pch/pch_boost.h | grep -C 5 filesystem // v2 is deprecated since 1.46 and removed entirely in 1.50 # define BOOST_FILESYSTEM_VERSION 3 #else # define BOOST_FILESYSTEM_VERSION 2 #endif #include <boost/filesystem.hpp> namespace fs = boost::filesystem; #endif // #ifndef INCLUDED_PCH_BOOST Is nt --without-pch get rid of that ? Quote Link to comment Share on other sites More sharing options...
s0600204 Posted December 16, 2018 Report Share Posted December 16, 2018 Hi @skaiware, I'm having difficulty replicating your issue with my VM. I wonder if you could run a few things and report back the results? What is the output when the following command is run? ld --verbose | grep SEARCH_DIR | tr -s '; ' '\n; Could you provide the file pyrogenesis.make (from the folder ./build/workspaces/gcc/)? Are you trying to compile A23 or the current svn head? Quote Link to comment Share on other sites More sharing options...
skaiware Posted December 16, 2018 Report Share Posted December 16, 2018 Hello @s0600204 1 $ ld --verbose | grep SEARCH_DIR SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); 2 pyrogenesis.make attached : it s trying to link with -lboost_filesystem-mt -lboost_system-mt but the default build of boost seems to st : $ ll /usr/local/lib/libboost_* -rw-r--r--. 1 root root 245756 Dec 12 20:54 /usr/local/lib/libboost_filesystem.a lrwxrwxrwx. 1 root root 29 Dec 12 20:53 /usr/local/lib/libboost_filesystem.so -> libboost_filesystem.so.1.68.0 -rwxr-xr-x. 1 root root 127208 Dec 12 20:53 /usr/local/lib/libboost_filesystem.so.1.68.0 -rw-r--r--. 1 root root 65844 Dec 12 20:54 /usr/local/lib/libboost_system.a lrwxrwxrwx. 1 root root 25 Dec 12 20:53 /usr/local/lib/libboost_system.so -> libboost_system.so.1.68.0 -rwxr-xr-x. 1 root root 24800 Dec 12 20:53 /usr/local/lib/libboost_system.so.1.68.0 3 I m on current svn head: $ svn log ------------------------------------------------------------------------ r21942 | Itms | 2018-12-03 03:07:00 -0800 (Mon, 03 Dec 2018) | 6 lines Target 10.9 as minimal OSX version in all scripts, in order to match the libraries build script. pyrogenesis.make Quote Link to comment Share on other sites More sharing options...
s0600204 Posted December 16, 2018 Report Share Posted December 16, 2018 (edited) Do you happen to have another version of boost installed on your system? Perhaps version 1.53? Edit: Yeah, that appears to be it. I'm guessing at some point you've installed the boost-devel package from the CentOS repos. Unless you need this for compiling something else, I recommend you remove it. (If you do need it for compiling something else, then will that something compile with Boost 1.68, and if not - well, that's when things get interesting...) Edited December 16, 2018 by s0600204 Edit post-exploration into the depths of premake. Quote Link to comment Share on other sites More sharing options...
skaiware Posted December 16, 2018 Report Share Posted December 16, 2018 Yep : $ ll /usr/lib64/libboost_sy* lrwxrwxrwx. 1 root root 28 Sep 20 2017 /usr/lib64/libboost_system-mt.so -> libboost_system-mt.so.1.53.0 -rwxr-xr-x. 1 root root 15608 Aug 2 2017 /usr/lib64/libboost_system-mt.so.1.53.0 lrwxrwxrwx. 1 root root 25 Sep 20 2017 /usr/lib64/libboost_system.so -> libboost_system.so.1.53.0 -rwxr-xr-x. 1 root root 15592 Aug 2 2017 /usr/lib64/libboost_system.so.1.53.0 but I cannot uninstall it because needed it for some other softwares. Should nt update-workspaces.sh add -L/usr/local/lib to the linking commands ? 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.