JUCE
                                
                                 JUCE copied to clipboard
                                
                                    JUCE copied to clipboard
                            
                            
                            
                        [Bug]: Failed build on OpenBSD
Detailed steps on how to reproduce the bug
Hello. I understand that OpenBSD is not a targeted system, but I'm hoping that in your good graces you may offer some insights in my attempts to build...
$ git clone --depth 1 https://github.com/juce-framework/JUCE.git
$ cd JUCE
$ cmake . -B build
What is the expected behaviour?
Moderately successful build.
Operating systems
Other
What versions of the operating systems?
$ uname -a
OpenBSD ghost.home 7.6 GENERIC.MP#196 arm64
Architectures
ARM
Stacktrace
-- The C compiler identification is Clang 16.0.6
-- The CXX compiler identification is Clang 16.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'alsa'
--   
-- Checking for modules 'freetype2;fontconfig'
--   Found freetype2, version 26.1.20
--   Found fontconfig, version 2.14.1
-- Checking for module 'gl'
--   Found gl, version 23.3.6
-- Checking for module 'libcurl'
--   Found libcurl, version 8.10.1
-- Checking for modules 'webkit2gtk-4.0;gtk+-x11-3.0'
--   
--   
-- Configuring juceaide
-- Building juceaide
CMake Error at extras/Build/juceaide/CMakeLists.txt:142 (message):
  Failed to build juceaide
  [ 9%] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/Main.cpp.o
  [ 18%] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/juce_build_tools/juce_build_tools.cpp.o
  [ 27%] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_gui_basics/juce_gui_basics.cpp.o
  [ 36%] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_graphics/juce_graphics.cpp.o
  [ 45%] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o
  [ 54%] Building C object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_graphics/juce_graphics_Sheenbidi.c.o
  [ 63%] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_events/juce_events.cpp.o
  [ 72%] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o
  In file included from
  /home/rnkn/src/JUCE/modules/juce_core/juce_core.cpp:158:
  /home/rnkn/src/JUCE/modules/juce_core/native/juce_SharedCode_posix.h:1007:6:
  error: use of undeclared identifier 'pthread_setname_np'
       pthread_setname_np (pthread_self(), name.toRawUTF8());
       ^
  In file included from
  /home/rnkn/src/JUCE/modules/juce_core/juce_core.cpp:195:
  In file included from
  /home/rnkn/src/JUCE/modules/juce_core/javascript/juce_Javascript.cpp:41:
  /home/rnkn/src/JUCE/modules/juce_core/javascript/choc/javascript/choc_javascript_QuickJS.h:11624:12:
  error: use of undeclared identifier 'malloc_usable_size'; did you mean
  'JSMallocFunctions::js_malloc_usable_size'?
      return malloc_usable_size(ptr);
             ^~~~~~~~~~~~~~~~~~
             JSMallocFunctions::js_malloc_usable_size
  
  /home/rnkn/src/JUCE/modules/juce_core/javascript/choc/javascript/choc_javascript_QuickJS.h:8669:14:
  note: 'JSMallocFunctions::js_malloc_usable_size' declared here
      size_t (*js_malloc_usable_size)(const void *ptr);
               ^
  
  /home/rnkn/src/JUCE/modules/juce_core/javascript/choc/javascript/choc_javascript_QuickJS.h:11624:12:
  error: invalid use of non-static data member 'js_malloc_usable_size'
      return malloc_usable_size(ptr);
             ^~~~~~~~~~~~~~~~~~
  
  /home/rnkn/src/JUCE/modules/juce_core/javascript/choc/javascript/choc_javascript_QuickJS.h:11698:5:
  error: use of undeclared identifier 'malloc_usable_size'; did you mean
  'js_malloc_usable_size'?
      malloc_usable_size,
      ^~~~~~~~~~~~~~~~~~
      js_malloc_usable_size
  
  /home/rnkn/src/JUCE/modules/juce_core/javascript/choc/javascript/choc_javascript_QuickJS.h:11315:8:
  note: 'js_malloc_usable_size' declared here
  size_t js_malloc_usable_size(JSContext *ctx, const void *ptr)
         ^
  
  /home/rnkn/src/JUCE/modules/juce_core/javascript/choc/javascript/choc_javascript_QuickJS.h:11698:5:
  error: cannot initialize a member subobject of type 'size_t (*)(const void
  *)' (aka 'unsigned long (*)(const void *)') with an lvalue of type 'size_t
  (JSContext *, const void *)' (aka 'unsigned long ((anonymous
  namespace)::choc::javascript::quickjs::JSContext *, const void *)'):
  different number of parameters (1 vs 2)
      malloc_usable_size,
      ^~~~~~~~~~~~~~~~~~
  In file included from
  /home/rnkn/src/JUCE/modules/juce_core/juce_core.cpp:246:
  /home/rnkn/src/JUCE/modules/juce_core/native/juce_Files_linux.cpp:51:21:
  error: no member named 'f_type' in 'statfs'
               && buf.f_type == (unsigned int) U_ISOFS_SUPER_MAGIC;
                  ~~~ ^
  /home/rnkn/src/JUCE/modules/juce_core/native/juce_Files_linux.cpp:60:21:
  error: no member named 'f_type' in 'statfs'
          switch (buf.f_type)
                  ~~~ ^
  In file included from
  /home/rnkn/src/JUCE/modules/juce_core/juce_core.cpp:252:
  /home/rnkn/src/JUCE/modules/juce_core/native/juce_SystemStats_linux.cpp:151:19:
  error: use of undeclared identifier 'sysctlbyname'
      auto result = sysctlbyname ("hw.clockrate", &clockRate, &clockRateSize, nullptr, 0);
                    ^
  
  /home/rnkn/src/JUCE/modules/juce_core/native/juce_SystemStats_linux.cpp:431:33:
  error: no member named 'ki_flag' in 'kinfo_proc'
      return result == 0 ? ((info.ki_flag & P_TRACED) != 0) : false;
                             ~~~~ ^
  
  /home/rnkn/src/JUCE/modules/juce_core/native/juce_SystemStats_linux.cpp:431:43:
  error: use of undeclared identifier 'P_TRACED'
      return result == 0 ? ((info.ki_flag & P_TRACED) != 0) : false;
                                            ^
  10 errors generated.
  *** Error 1 in .
  (extras/Build/juceaide/CMakeFiles/juceaide.dir/build.make:174
  'extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o')
  *** Error 2 in .  (CMakeFiles/Makefile2:131
  'extras/Build/juceaide/CMakeFiles/juceaide.dir/all': /usr/bin/make -s -f
  extras/Build/juceaide/CM...)
  *** Error 2 in /home/rnkn/src/JUCE/build/tools (Makefile:136 'all':
  /usr/bin/make -s -f CMakeFiles/Makefile2 all)
-- Configuring incomplete, errors occurred!
Plug-in formats (if applicable)
No response
Plug-in host applications (DAWs) (if applicable)
No response
Testing on the develop branch
I have not tested against the develop branch
Code of Conduct
- [X] I agree to follow the Code of Conduct