screepers / screeps-launcher

Launcher for the Screeps Private Server
MIT License
129 stars 34 forks source link

Ubuntu 22.04 breaks screeps-launcher #32

Open crazydubc opened 1 year ago

crazydubc commented 1 year ago

Here is a copy of the log of where it fails when building screeps/driver

# This file contains the result of Yarn building a package (@screeps/driver@npm:5.2.1)
# Script name: install

gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@12.22.12 | linux | arm64
gyp info chdir native
gyp info spawn /usr/bin/python2
gyp info spawn args [
gyp info spawn args   '/home/ubuntu/Server/Screeps/node_modules/@screeps/driver/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/ubuntu/Server/Screeps/node_modules/@screeps/driver/native/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/ubuntu/Server/Screeps/node_modules/@screeps/driver/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/ubuntu/.node-gyp/12.22.12/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/ubuntu/.node-gyp/12.22.12',
gyp info spawn args   '-Dnode_gyp_dir=/home/ubuntu/Server/Screeps/node_modules/@screeps/driver/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/ubuntu/.node-gyp/12.22.12/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/ubuntu/Server/Screeps/node_modules/@screeps/driver/native',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/ubuntu/Server/Screeps/node_modules/@screeps/driver/native/build'
  CXX(target) Release/obj.target/native/src/main.o
In file included from ../src/main.cc:5:
../src/pf.h:16:28: error: ‘numeric_limits’ is not a member of ‘std’
   16 |         static_assert(std::numeric_limits<pos_index_t>::max() > 2500 * k_max_rooms, "pos_index_t is too small");
      |                            ^~~~~~~~~~~~~~
../src/pf.h:16:54: error: expected primary-expression before ‘>’ token
   16 |         static_assert(std::numeric_limits<pos_index_t>::max() > 2500 * k_max_rooms, "pos_index_t is too small");
      |                                                      ^
../src/pf.h:16:57: error: ‘::max’ has not been declared; did you mean ‘std::max’?
   16 |         static_assert(std::numeric_limits<pos_index_t>::max() > 2500 * k_max_rooms, "pos_index_t is too small");
      |                                                         ^~~
      |                                                         std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from ../../../../nan/nan.h:63,
                 from ../src/main.cc:2:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from ../src/main.cc:5:
../src/pf.h: In member function ‘void screeps::open_closed_t<capacity>::clear()’:
../src/pf.h:186:42: error: ‘numeric_limits’ is not a member of ‘std’
  186 |                                 if (std::numeric_limits<marker_t>::max() - 2 <= marker) {
      |                                          ^~~~~~~~~~~~~~
../src/pf.h:186:65: error: expected primary-expression before ‘>’ token
  186 |                                 if (std::numeric_limits<marker_t>::max() - 2 <= marker) {
      |                                                                 ^
../src/pf.h:186:68: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  186 |                                 if (std::numeric_limits<marker_t>::max() - 2 <= marker) {
      |                                                                    ^~~
      |                                                                    std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from ../../../../nan/nan.h:63,
                 from ../src/main.cc:2:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from ../src/main.cc:5:
../src/pf.h: At global scope:
../src/pf.h:342:65: error: ‘numeric_limits’ is not a member of ‘std’
  342 |                         static constexpr cost_t obstacle = std::numeric_limits<cost_t>::max();
      |                                                                 ^~~~~~~~~~~~~~
../src/pf.h:342:86: error: expected primary-expression before ‘>’ token
  342 |                         static constexpr cost_t obstacle = std::numeric_limits<cost_t>::max();
      |                                                                                      ^
../src/pf.h:342:89: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  342 |                         static constexpr cost_t obstacle = std::numeric_limits<cost_t>::max();
      |                                                                                         ^~~
      |                                                                                         std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from ../../../../nan/nan.h:63,
                 from ../src/main.cc:2:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from ../../../../nan/nan.h:60,
                 from ../src/main.cc:2:
/home/ubuntu/.node-gyp/12.22.12/include/node/node.h:736:7: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
  736 |       (node::addon_register_func) (regfunc),                          \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/.node-gyp/12.22.12/include/node/node.h:770:3: note: in expansion of macro ‘NODE_MODULE_X’
  770 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../src/main.cc:63:1: note: in expansion of macro ‘NODE_MODULE’
   63 | NODE_MODULE(native, init);
      | ^~~~~~~~~~~
crazydubc commented 1 year ago

https://gcc.gnu.org/gcc-11/porting_to.html#header-dep-changes

omecamtiv commented 1 year ago

Any update or patch? Still broken in Ubuntu.

mrVanDalo commented 1 year ago

I have the same issue with the docker container https://hub.docker.com/r/screepers/screeps-launcher

WriggleDev commented 9 months ago

Ubuntu 22.04 broken on the make process image