-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenBSD error: conversion from 'const Variant' to 'unsigned long' is ambiguous #74669
Comments
CC @bruvzg as you might know more about when
|
No idea, iOS ARM64 is building without it. It't probably was needed is neither |
Could it be since
if so, unifdef'ing NEED_LONG_INT could be acceptable? It makes the Don't know if it's related, but I also have to patch the embedded embree copy (see RenderKit/embree#379) |
I am also on OpenBSD -current and trying to build godot master leads to the exact same error for me, but I also get another error about Here is the full trace along with the command I ran: I am ok with C, but also not used to C++ at all. |
@nbonfils our libc doesn't seem to have quick_exit, I've locally replaced it with |
At least on OpenBSD the long/unsigned long version of the Variant constructor and accessors are needed. See godotengine#74669
I guess to solve this we can do something like this (untested, I don't know if diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py
index dadc03685b..adf0f76a7b 100644
--- a/platform/linuxbsd/detect.py
+++ b/platform/linuxbsd/detect.py
@@ -388,6 +388,9 @@ def configure(env: "Environment"):
]
)
+ if platform.system() == "OpenBSD":
+ env.Append(CPPDEFINES=["NEED_LONG_INT"])
+
if env["x11"]:
if not env["use_sowrap"]:
if os.system("pkg-config --exists x11"): |
sorry for the delay. unfortunately -DNEED_LONG_INT doesn't seem to fix the build on OpenBSD :( I'm not sure what I did months ago, but now it fails with:
which is a bit over my C++ ability, apologize! |
I got a similar error on Godot 4.1 compiling on mingw on Windows (same code works fine on Linux). As a workaround I was able to change long to int32_t and it compiles this way. |
#84017 fixes this for me. |
@omar-polo Awesome! Does this mean we'll have Godot 4 in the ports in the future? Edit: |
Awesome, thank you and thanks everybody for their work on this, I was looking forward to this for a bit now! |
Godot version
4.0
System information
OpenBSD/amd64 7.2-CURRENT, amdgpu
Issue description
Trying to build on OpenBSD and I'm hitting this error message. Building with
-DNEED_LONG_INT
seems to go past this, but since it's only used for ios on aarch64 (guessing from grepping where it's defined) I'm not sure; this is happening on amd64 for me.Here's the full error message; I apologize but my C++-fu is not strong enough to fully grasp this.
Steps to reproduce
building from the 4.0 release tarball on OpenBSD
Minimal reproduction project
N/A
The text was updated successfully, but these errors were encountered: