Open kdiduk opened 4 months ago
Just to confirm, it still happens on a recent build? That commit is 3 weeks old
Just to confirm, it still happens on a recent build? That commit is 3 weeks old
I've just tried to build the latest master
branch and the results are the same. I have updated the ticket description.
Here is a brief summary on how each issue can be fixed.
_Exit
function instead of quick_exit
. The only difference is that quick_exit
will run functions registered with at_quick_exit
, but since there are no any of them, it should be totally OK to use _Exit
, given that it's the only source file where this function call is used.linux/input-event-codes.h
is Linux-specific, but it's also present in FreeBSD (here), which seems to be just cloned from the Linux kernel. We can either include that file in the Godot source tree, or make a small abstraction over it (actually redefine the key constant that we use for OpenBSD/NetBSD). Since it's the only place where this file used, there should be no problem with that. Another option is to install libinput
as a build dependency (which is available in OpenBSD ports, e.g. see here). However, it will install this header in /usr/local/include/
and clang in OpenBSD doesn't search headers in that directory (see here). Variant
class with POD types, the issue is exactly the same as discussed in this StackOverflow question: https://stackoverflow.com/questions/10579544/ambiguous-overload-between-int32-t-or-int64-t-parameters-when-passing-long The best solution would be to use a template with integer only types (i.e. with std::enable_if
and std::is_integral<T>
).secure_getenv
also present for FreeBSD build, see the issue #67838 One way to fix this (which is mentioned in that ticket), is to not define HAVE_SECURE_GETENV
in the corresponding SCons file for BSD platforms.sys/cpuset.h
header.
Tested versions
Reproducible with the
4.3 beta
(commit [daa81bb]) and with the4.3 dev 6
(commit [64520fe])System information
OpenBSD 7.5 GENERIC amd64 (running on QEMU)
Issue description
OpenBSD build is broken.
I've tried to build it on freshly installed OpenBSD 7.5 in QEMU, and the build is broken due to compilation errors. I've found the following problems:
scons
build command it fails because the definition ofquick_exit
standard function cannot be found when compiling the fileplatform/linuxbsd/x11/detect_prime_x11.cpp
, although the header<stdlib.h>
is included.scons opengl3=no
(that way the source file above won't be included in the build), it sill fails with another error: it can't find the header file#include <linux/input-event-codes.h>
(which is included inplatform/linuxbsd/wayland/wayland_thread.cpp
). Note: it's linux-specific header, although it's available in FreeBSD, but not in OpenBSD.Variant
class: calls tovformat
withlong
andunsigned long
parameters make compiler fail to resolveVariant
class constructor, because there is no constructor with eitherlong
orunsigned long
and in this environment neither ofintX_t
/uintX_t
is typedefed withlong
/unsigled long
.secure_getenv(name)
can't be found inthirdparty/openxr/scr/common/platform_utils.hpp
(line 98).cpu_set_t
inthirtparty/embree/common/sys/sysinfo.cpp
, line 672.And most likely there are other errors.
Steps to reproduce
pkg_add python scons llvm
scons
orscons opengl3=no
Minimal reproduction project (MRP)
N/A