pioneer
pioneer copied to clipboard
20240203 release build failure
👋 trying to build the latest release, but run into some build issue. The error log is as below:
error build log
In file included from /tmp/pioneer-20240204-6328-fhhenj/pioneer-20240203/src/Plane.h:9:
/tmp/pioneer-20240204-6328-fhhenj/pioneer-20240203/src/vector3.h:314:13: error: no member named 'max' in namespace 'std'; did you mean 'fmax'?
using std::max; // support max(T) overloads
~~~~~^~~
fmax
/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/usr/include/c++/v1/cmath:419:9: note: 'fmax' declared here
using ::fmax _LIBCPP_USING_IF_EXISTS;
^
In file included from /tmp/pioneer-20240204-6328-fhhenj/pioneer-20240203/src/BaseSphere.cpp:4:
In file included from /tmp/pioneer-20240204-6328-fhhenj/pioneer-20240203/src/BaseSphere.h:7:
In file included from /tmp/pioneer-20240204-6328-fhhenj/pioneer-20240203/src/Camera.h:10:
In file included from /tmp/pioneer-20240204-6328-fhhenj/pioneer-20240203/src/graphics/Frustum.h:7:
In file included from /tmp/pioneer-20240204-6328-fhhenj/pioneer-20240203/src/Plane.h:9:
/tmp/pioneer-20240204-6328-fhhenj/pioneer-20240203/src/vector3.h:322:13: error: no member named 'min' in namespace 'std'
using std::min; // support min(T) overloads
~~~~~^
2 errors generated.
full build log, https://github.com/Homebrew/homebrew-core/actions/runs/7776963377/job/21204768739 relates to Homebrew/homebrew-core#161812
Apparently the header files in the implementation of the standard library of your compiler have been shuffled. I think you need to add #include <algorithm>
to src/vector3.h
.
trying to build the latest release
Building latest release, or current master? I'd recommend master, since there's been a lot of bug fixes since release.
trying to build the latest release
Building latest release, or current master? I'd recommend master, since there's been a lot of bug fixes since release.
this 20240203 release
Apparently the header files in the implementation of the standard library of your compiler have been shuffled. I think you need to add
#include <algorithm>
tosrc/vector3.h
.
let me give it a shot.
yeah, that resolved one thing, but run into some build issues with lua folder
/tmp/pioneer-20240304-38786-i2kfsf/pioneer-20240203/src/lua/LuaTable.h:376:2: error: call to 'pi_lua_generic_push' is ambiguous
pi_lua_generic_push(m_lua, Size() + 1);
^~~~~~~~~~~~~~~~~~~
/tmp/pioneer-20240304-38786-i2kfsf/pioneer-20240203/src/lua/LuaPushPull.h:21:13: note: candidate function
inline void pi_lua_generic_push(lua_State *l, int32_t value) { lua_pushinteger(l, value); }
^
/tmp/pioneer-20240304-38786-i2kfsf/pioneer-20240203/src/lua/LuaPushPull.h:22:13: note: candidate function
inline void pi_lua_generic_push(lua_State *l, int64_t value) { lua_pushinteger(l, value); }
^
/tmp/pioneer-20240304-38786-i2kfsf/pioneer-20240203/src/lua/LuaPushPull.h:23:13: note: candidate function
inline void pi_lua_generic_push(lua_State *l, uint32_t value) { lua_pushinteger(l, value); }
^
/tmp/pioneer-20240304-38786-i2kfsf/pioneer-20240203/src/lua/LuaPushPull.h:24:13: note: candidate function
inline void pi_lua_generic_push(lua_State *l, uint64_t value) { lua_pushinteger(l, value); }
^
/tmp/pioneer-20240304-38786-i2kfsf/pioneer-20240203/src/lua/LuaPushPull.h:25:13: note: candidate function
inline void pi_lua_generic_push(lua_State *l, double value) { lua_pushnumber(l, value); }
^
In file included from /tmp/pioneer-20240304-40345-zjcgl0/pioneer-20240203/src/lua/LuaCall.h:13:
/tmp/pioneer-20240304-40345-zjcgl0/pioneer-20240203/src/lua/LuaPushPull.h:62:2: error: call to 'pi_lua_generic_push' is ambiguous
pi_lua_generic_push(l, value);
^~~~~~~~~~~~~~~~~~~
/tmp/pioneer-20240304-40345-zjcgl0/pioneer-20240203/src/lua/LuaMetaType.h:239:3: note: in instantiation of function template specialization 'LuaPush<unsigned long>' requested here
LuaPush<Rt>(L, ret);
^
/tmp/pioneer-20240304-40345-zjcgl0/pioneer-20240203/src/lua/LuaMetaType.h:651:24: note: in instantiation of function template specialization 'LuaMetaTypeBase::member_fn_wrapper_<PropertyMap, unsigned long>' requested here
lua_pushcclosure(L, &member_fn_wrapper_<T, Rt, Args...>, 2);
^
/tmp/pioneer-20240304-40345-zjcgl0/pioneer-20240203/src/lua/LuaMetaType.h:635:10: note: in instantiation of function template specialization 'LuaMetaType<PropertyMap>::AddMeta<unsigned long>' requested here
return AddMeta(name, reinterpret_cast<member_function<T, Rt, Args...>>(fn));
^
/tmp/pioneer-20240304-40345-zjcgl0/pioneer-20240203/src/lua/LuaPropertyMap.cpp:100:11: note: in instantiation of function template specialization 'LuaMetaType<PropertyMap>::AddMeta<unsigned long>' requested here
metaType.AddMeta("__len", &PropertyMap::Size);
^
I am using Clang: 15.0.0 build 1500
on sonoma arm machine
Please note that we officially do not support compiling the game on MacOS due to the state of OpenGL support on that platform, and make no promises that the game will run if successfully compiled. Additionally, we do not (yet) officially support compiling Pioneer to run on ARM64 / Apple Silicon due to the above issue.
That being said, if you're willing to submit patches to try to maintain the build system for Apple hardware it'd certainly ease the process of restoring Apple hardware support once the game is (eventually) ported to a more modern rendering API like Vulkan.
Regarding the build errors, off the top of my head I'm thinking this is an Apple-specific quirk - that call absolutely should not be ambiguous, unless unsigned long
on Apple64 is not a signed or unsigned 32/64 bit integer. I don't think I can offer any support there, as I (nor the rest of the dev team) have any Apple hardware to test or debug on.
I'd recommend you try to compile a fresh checkout of master
and see if the errors persist.
I'd recommend you try to compile a fresh checkout of
master
and see if the errors persist.
yeah, i will do that later this weekend 👍
Closing as inactive.