Jump to content

gw1500se

Community Members
  • Posts

    48
  • Joined

  • Last visited

Posts posted by gw1500se

  1. I don't find that code in the source. This is the only segment that reverences filesystem.hpp:

    #ifndef INCLUDED_PCH_BOOST
    #define INCLUDED_PCH_BOOST
    
    #include "lib/external_libraries/suppress_boost_warnings.h"
    
    #if MSC_VERSION
    # define BOOST_HAS_STDINT_H
    #endif
    
    // Boost
    // .. if this package isn't going to be statically linked, we're better off
    // using Boost via DLL. (otherwise, we would have to ensure the exact same
    // compiler is used, which is a pain because MSC8, MSC9 and ICC 10 are in use)
    #ifndef LIB_STATIC_LINK
    # define BOOST_ALL_DYN_LINK
    #endif
    
    // don't compile get_system_category() etc, since we don't use them and they
    // sometimes cause problems when linking.
    // But Filesystem <= 1.43 requires boost::system::posix, so only disable if newer
    #include <boost/version.hpp>
    #if BOOST_VERSION >= 104400
    # define BOOST_SYSTEM_NO_DEPRECATED
    #endif
    
    // the following boost libraries have been included in TR1 and are
    // thus deemed usable:
    #if BOOST_VERSION >= 104400
    // Filesystem v3 is included since Boost 1.44
    // 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

     

  2. OK, I found and installed, from source, curl 7-32. I think I am at the last layer of the onion. It is linking pyrogenesis:

    ==== Building pyrogenesis (release) ====
    main.cpp
    Linking pyrogenesis
    ../../../binaries/system/liblowlevel.a(file_system.o): In function `copy_file':
    /usr/include/boost/filesystem/operations.hpp:381: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option, boost::system::error_code*)'
    /usr/include/boost/filesystem/operations.hpp:384: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option, boost::system::error_code*)'
    collect2: error: ld returned 1 exit status
    make[1]: *** [../../../binaries/system/pyrogenesis] Error 1
    make: *** [pyrogenesis] Error 2

    I don't know what boost is but I installed boost-devel.x86_64-1.53.0-27.el7. I also have the 32-bit version installed for some reason but would that confuse things?

  3. Thanks again. These prereqs are a royal pain and a confusing, tangled web with all the different versions. I guess I am still making progress but now it looks like I have a curl issue:

    Preprocessor.cpp
    In file included from ../../../source/lib/external_libraries/curl.h:50:0,
                     from ../../../source/ps/ModIo.h:26,
                     from ../../../source/ps/ModIo.cpp:25:
    ../../../source/ps/ModIo.cpp: In member function ‘CURLMcode ModIo::SetupRequest(const string&, bool)’:
    ../../../source/ps/ModIo.cpp:193:28: error: ‘CURLOPT_XFERINFOFUNCTION’ was not declared in this scope
       curl_easy_setopt(m_Curl, CURLOPT_XFERINFOFUNCTION, DownloadProgressCallback);
                                ^
    ../../../source/ps/ModIo.cpp:194:28: error: ‘CURLOPT_XFERINFODATA’ was not declared in this scope
       curl_easy_setopt(m_Curl, CURLOPT_XFERINFODATA, (void*)&m_DownloadProgressData);
                                ^
    make[1]: *** [obj/engine_Release/ModIo.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make: *** [engine] Error 2

    I'm using libcurl-devel.x86_64-7.29.0-46.el7 from the CentOS 7 base repository.

  4. Thanks. I think that got me further but now I have another error. This seems to be related to sodium.

    Preprocessor.cpp
    ../../../source/ps/ModIo.cpp: In constructor ‘ModIo::ModIo()’:
    ../../../source/ps/ModIo.cpp:120:113: error: ‘sodium_base64_VARIANT_ORIGINAL’ was not declared in this scope
      if (sodium_base642bin((unsigned char*)&m_pk, sizeof m_pk, pk_str.c_str(), pk_str.size(), NULL, &bin_len, NULL, sodium_base64_VARIANT_ORIGINAL) != 0 || bin_len != sizeof m_pk)
                                                                                                                     ^
    ../../../source/ps/ModIo.cpp:120:143: error: ‘sodium_base642bin’ was not declared in this scope
      if (sodium_base642bin((unsigned char*)&m_pk, sizeof m_pk, pk_str.c_str(), pk_str.size(), NULL, &bin_len, NULL, sodium_base64_VARIANT_ORIGINAL) != 0 || bin_len != sizeof m_pk)
                                                                                                                                                   ^
    In file included from ../../../source/lib/external_libraries/curl.h:50:0,
                     from ../../../source/ps/ModIo.h:26,
                     from ../../../source/ps/ModIo.cpp:25:
    ../../../source/ps/ModIo.cpp: In member function ‘CURLMcode ModIo::SetupRequest(const string&, bool)’:
    ../../../source/ps/ModIo.cpp:193:28: error: ‘CURLOPT_XFERINFOFUNCTION’ was not declared in this scope
       curl_easy_setopt(m_Curl, CURLOPT_XFERINFOFUNCTION, DownloadProgressCallback);
                                ^
    ../../../source/ps/ModIo.cpp:194:28: error: ‘CURLOPT_XFERINFODATA’ was not declared in this scope
       curl_easy_setopt(m_Curl, CURLOPT_XFERINFODATA, (void*)&m_DownloadProgressData);
                                ^
    ../../../source/ps/ModIo.cpp: In static member function ‘static bool ModIo::ParseSignature(const std::vector<std::basic_string<char> >&, SigStruct&, const PKStruct&, std::string&)’:
    ../../../source/ps/ModIo.cpp:777:114: error: ‘sodium_base64_VARIANT_ORIGINAL’ was not declared in this scope
       if (sodium_base642bin((unsigned char*)&sig, sizeof sig, msg_sig.c_str(), msg_sig.size(), NULL, &bin_len, NULL, sodium_base64_VARIANT_ORIGINAL) != 0 || bin_len != sizeof sig)
                                                                                                                      ^
    ../../../source/ps/ModIo.cpp:777:144: error: ‘sodium_base642bin’ was not declared in this scope
       if (sodium_base642bin((unsigned char*)&sig, sizeof sig, msg_sig.c_str(), msg_sig.size(), NULL, &bin_len, NULL, sodium_base64_VARIANT_ORIGINAL) != 0 || bin_len != sizeof sig)
                                                                                                                                                    ^
    ../../../source/ps/ModIo.cpp:793:121: error: ‘sodium_base64_VARIANT_ORIGINAL’ was not declared in this scope
       if (sodium_base642bin(global_sig, sizeof global_sig, sig_lines[3].c_str(), sig_lines[3].size(), NULL, &bin_len, NULL, sodium_base64_VARIANT_ORIGINAL) != 0 || bin_len != sizeof global_sig)
                                                                                                                             ^
    ../../../source/ps/ModIo.cpp:793:151: error: ‘sodium_base642bin’ was not declared in this scope
       if (sodium_base642bin(global_sig, sizeof global_sig, sig_lines[3].c_str(), sig_lines[3].size(), NULL, &bin_len, NULL, sodium_base64_VARIANT_ORIGINAL) != 0 || bin_len != sizeof global_sig)
                                                                                                                                                           ^
    make[1]: *** [obj/engine_Release/ModIo.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make: *** [engine] Error 2

    I have libsodium13-devel.x86_64-1.0.5-1.el7 installed.

  5. I did not. I didn't know I needed to. After running it again, I get something different.

    CConsole.cpp
    In file included from <command-line>:0:0:
    /usr/include/stdc-predef.h:40:1: error: one or more PCH files were found, but they were invalid
     #endif
     ^
    /usr/include/stdc-predef.h:40:1: error: use -Winvalid-pch for more information
    /usr/include/stdc-predef.h:40:1: fatal error: obj/engine_Release/precompiled.h: No such file or directory
    compilation terminated.
    In file included from <command-line>:0:0:
    /usr/include/stdc-predef.h:40:1: error: one or more PCH files were found, but they were invalid
     #endif
     ^
    /usr/include/stdc-predef.h:40:1: error: use -Winvalid-pch for more information
    /usr/include/stdc-predef.h:40:1: fatal error: obj/engine_Release/precompiled.h: No such file or directory
    compilation terminated.
    make[1]: *** [obj/engine_Release/JSInterface_Network.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make[1]: *** [obj/engine_Release/CConsole.o] Error 1
    make: *** [engine] Error 2

    I tried 'make -Winvalid-pch' but did not get anything different. Did I need to run 'clean-workspaces.sh' first?

  6. Interesting and highly unusual for CentOS to be ahead of the curve. Most of the time it is far behind. That is the only version available for SDL2. It cannot be downgraded to an earlier version. I guess I need to abandon this project for now.

  7. I found the problem. For some reason my swap was turned off. Now it compiles successfully and I am doing the 'make'. I had to install a number of 'devel' packages to get the necessary headers but I'm stuck again with this error:

    ArchiveBuilder.cpp
    In file included from ../../../source/network/scripting/JSInterface_Network.cpp:23:0:
    ../../../source/lib/external_libraries/libsdl.h:32:18: fatal error: SDL.h: No such file or directory
     # include "SDL.h"
                      ^
    compilation terminated.
    make[1]: *** [obj/engine_Release/JSInterface_Network.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make: *** [engine] Error 2

    I have SDL.h installed but it seems it can't find it (/usr/include/SDL/SDL.h). Do I need to add a path somewhere?

  8. On to the next layer of the onion. I am now using gcc (GCC) 7.3.1 20180303 and get this error:

    Unified_cpp_js_src1.cpp
    Unified_cpp_js_src10.o
    c++: internal compiler error: Killed (program cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <http://bugzilla.redhat.com/bugzilla> for instructions.
    make[3]: *** [Unified_cpp_js_src0.o] Error 4
    make[3]: *** Deleting file `Unified_cpp_js_src0.o'
    make[3]: *** Waiting for unfinished jobs....
    make[3]: Leaving directory `/home/dap/Downloads/0ad-0.0.23-alpha/libraries/source/spidermonkey/mozjs-38.0.0/js/src/build-debug/js/src'
    make[2]: *** [js/src/target] Error 2
    make[2]: Leaving directory `/home/dap/Downloads/0ad-0.0.23-alpha/libraries/source/spidermonkey/mozjs-38.0.0/js/src/build-debug'
    make[1]: *** [compile] Error 2
    make[1]: Leaving directory `/home/dap/Downloads/0ad-0.0.23-alpha/libraries/source/spidermonkey/mozjs-38.0.0/js/src/build-debug'
    make: *** [default] Error 2
    ERROR: SpiderMonkey build failed

    Reading up on error 4 the implication is that I have insufficient swap space. My swap is 2GB. Is it really possible that compiling that file really needs more than that or is this error 4 indicating something else?

  9. Thanks for the reply. I've made some progress. Indeed it was libxml2-devel that was missing. I am now into the compile phase and get this error:

    {standard input}: Assembler messages:
    {standard input}:92114: Warning: end of file not at end of a line; newline inserted
    {standard input}:92804: Error: no such instruction: `m'
    {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
    c++: internal compiler error: Killed (program cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <http://bugzilla.redhat.com/bugzilla> for instructions.
    make[3]: *** [Unified_cpp_js_src0.o] Error 4
    make[3]: *** Waiting for unfinished jobs....
    make[3]: Leaving directory `/home/dap/Downloads/0ad-0.0.23-alpha/libraries/source/spidermonkey/mozjs-38.0.0/js/src/build-debug/js/src'
    make[2]: *** [js/src/target] Error 2
    make[2]: Leaving directory `/home/dap/Downloads/0ad-0.0.23-alpha/libraries/source/spidermonkey/mozjs-38.0.0/js/src/build-debug'
    make[1]: *** [compile] Error 2
    make[1]: Leaving directory `/home/dap/Downloads/0ad-0.0.23-alpha/libraries/source/spidermonkey/mozjs-38.0.0/js/src/build-debug'
    make: *** [default] Error 2
    ERROR: SpiderMonkey build failed

    This does not seem like a missing pre-req. The source was download and not changed. Is this a bug in the source or do I need a different assembler (GNU assembler version 2.27-28.base.el7_5.1)? Any suggestions?

  10. I am trying to build the alpha version of 0AD on my CentOS 7 system since there seems to be no repository or RPM for that distro. When I try to run 'update-workspaces.sh' I get the following output:

    Updating bundled third-party dependencies...
    
    FCollada/FColladaPlugin.cpp
    FCollada/FCollada.cpp
    Package libxml-2.0 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libxml-2.0.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libxml-2.0' found
    Package libxml-2.0 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libxml-2.0.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libxml-2.0' found
    In file included from FCollada/FCollada.h:49:0,
                     from FCollada/StdAfx.h:13,
                     from FCollada/FCollada.cpp:9:
    FCollada/FUtils/FUtils.h:91:25: fatal error: libxml/tree.h: No such file or directory

    On CentOS 7 the package containing that is 'libxml-devel' and the 'tree.h' include file is located in /usr/include/gnome-xml/libxml. It is unclear from the build instructions how to deal with this. I cannot add a directory for 'libxml-2.0.pc' since that does not exist on CentOS. Can someone point me to a compatible rpm or explain how to deal with this dependency? TIA.

  11. I've installed 0ad Alpha XXII (build 07/27/17) and after about 5-10 minutes of play the game hangs. This happens consistently.  It locks up my machine with, I believe, excess IO. After several minutes the game closes. I am not able to find any crash dump or logs. Either none are being generated or I do not know where to look for them. Before I open a ticket I am hoping someone can help me either find the debug output or tell me how to force some debug output. TIA.

×
×
  • Create New...