Skip to content

[Bug]: Failed build on OpenBSD #1462

Open
@rnkn

Description

@rnkn

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

  • I agree to follow the Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions