Skip to content

OpenBSD build is broken due to compilation errors #92130

@kdiduk

Description

@kdiduk

Tested versions

Reproducible with the 4.3 beta (commit [daa81bb]) and with the 4.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:

  1. With the default scons build command it fails because the definition of quick_exit standard function cannot be found when compiling the file platform/linuxbsd/x11/detect_prime_x11.cpp, although the header <stdlib.h> is included.
  2. If I build with OpenGL disabled with 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 in platform/linuxbsd/wayland/wayland_thread.cpp). Note: it's linux-specific header, although it's available in FreeBSD, but not in OpenBSD.
  3. Problem with Variant class: calls to vformat with long and unsigned long parameters make compiler fail to resolve Variant class constructor, because there is no constructor with either long or unsigned long and in this environment neither of intX_t/uintX_t is typedefed with long/unsigled long.
  4. Definition of the function secure_getenv(name) can't be found in thirdparty/openxr/scr/common/platform_utils.hpp (line 98).
  5. Error: unknown type name cpu_set_t in thirtparty/embree/common/sys/sysinfo.cpp, line 672.

And most likely there are other errors.

Steps to reproduce

  1. Checkout Godot source code, master branch
  2. Install build dependencies: pkg_add python scons llvm
  3. Run scons or scons opengl3=no

Minimal reproduction project (MRP)

N/A

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions