Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

20240203 release build failure #5790

Open
chenrui333 opened this issue Mar 3, 2024 · 7 comments
Open

20240203 release build failure #5790

chenrui333 opened this issue Mar 3, 2024 · 7 comments

Comments

@chenrui333
Copy link

馃憢 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

@Gliese852
Copy link
Contributor

Gliese852 commented Mar 3, 2024

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.

@impaktor
Copy link
Member

impaktor commented Mar 3, 2024

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.

@chenrui333
Copy link
Author

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

@chenrui333
Copy link
Author

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.

let me give it a shot.

@chenrui333
Copy link
Author

chenrui333 commented Mar 4, 2024

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

@Web-eWorks
Copy link
Member

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.

@chenrui333
Copy link
Author

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 馃憤

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants