screeps-launcher
screeps-launcher copied to clipboard
Ubuntu 22.04 breaks screeps-launcher
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 [email protected]
gyp info using [email protected] | 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);
| ^~~~~~~~~~~
https://gcc.gnu.org/gcc-11/porting_to.html#header-dep-changes
Any update or patch? Still broken in Ubuntu.
I have the same issue with the docker container https://hub.docker.com/r/screepers/screeps-launcher
Ubuntu 22.04 broken on the make process