Skip to content
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

Build fails under macOS 12 when tests are enabled #63

Closed
falkTX opened this issue Mar 8, 2024 · 3 comments
Closed

Build fails under macOS 12 when tests are enabled #63

falkTX opened this issue Mar 8, 2024 · 3 comments

Comments

@falkTX
Copy link

falkTX commented Mar 8, 2024

Trying to build using github actions and its macos-12 is failing.
Using build options

--buildtype release -Ddefault_library=static -Dbindings_py=disabled -Ddocs=disabled

configuration output:

The Meson build system
Version: 1.3.2
Source dir: /Users/runner/PawPawBuilds/builds/macos-10.15/lilv-0.24.24
Build dir: /Users/runner/PawPawBuilds/builds/macos-10.15/lilv-0.24.24/build
Build type: native build
Project name: lilv
Project version: 0.24.24
C compiler for the host machine: gcc (clang 14.0.0 "Apple clang version 14.0.0 (clang-1400.0.29.202)")
C linker for the host machine: gcc ld64 820.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
C++ compiler for the host machine: g++ (clang 14.0.0 "Apple clang version 14.0.0 (clang-1400.0.29.202)")
C++ linker for the host machine: g++ ld64 820.1
Library m found: YES
Library dl found: YES
Found pkg-config: YES (/Users/runner/PawPawBuilds/targets/macos-10.15/bin/pkg-config) 0.28
Run-time dependency zix-0 found: YES 0.4.2
Run-time dependency serd-0 found: YES 0.32.2
Run-time dependency sord-0 found: YES 0.16.16
Run-time dependency lv2 found: YES 1.18.10
Run-time dependency sratom-0 found: YES 0.6.16
Run-time dependency sndfile found: YES 1.2.2
Library rt found: NO
Checking if "clock_gettime" with dependency -lrt compiles: YES 
Configuring manifest.ttl using configuration
Configuring bad_syntax.ttl using configuration
Configuring manifest.ttl using configuration
Configuring failed_instantiation.ttl using configuration
Configuring manifest.ttl using configuration
Configuring failed_lib_descriptor.ttl using configuration
Configuring manifest.ttl using configuration
Configuring lib_descriptor.ttl using configuration
Configuring manifest.ttl using configuration
Configuring missing_descriptor.ttl using configuration
Configuring manifest.ttl using configuration
Configuring missing_name.ttl using configuration
Configuring manifest.ttl using configuration
Configuring missing_plugin.ttl using configuration
Configuring manifest.ttl using configuration
Configuring missing_port.ttl using configuration
Configuring manifest.ttl using configuration
Configuring missing_port_name.ttl using configuration
Configuring manifest.ttl using configuration
Configuring new_version.ttl using configuration
Configuring manifest.ttl using configuration
Configuring old_version.ttl using configuration
Configuring manifest.ttl using configuration
Configuring test_plugin.ttl using configuration
Build targets in project: 49
NOTICE: Future-deprecated features used:
 * 0.64.0: {'copy arg in configure_file'}

lilv 0.24.24

  Components
    Tests           : YES
    Tools           : YES

  Configuration
    Default LV2_PATH: ~/.lv2:~/Library/Audio/Plug-Ins/LV2:/usr/local/lib/lv2:/usr/lib/lv2:/Library/Audio/Plug-Ins/LV2

  Directories
    Install prefix  : /Users/runner/PawPawBuilds/targets/macos-10.15
    Headers         : /Users/runner/PawPawBuilds/targets/macos-10.15/include
    Libraries       : /Users/runner/PawPawBuilds/targets/macos-10.15/lib
    Executables     : /Users/runner/PawPawBuilds/targets/macos-10.15/bin
    Man pages       : /Users/runner/PawPawBuilds/targets/macos-10.15/share/man

  User defined options
    buildtype       : release
    default_library : static
    libdir          : lib
    prefix          : /Users/runner/PawPawBuilds/targets/macos-10.15
    bindings_py     : disabled
    docs            : disabled

Found ninja-1.11.1 at /usr/local/bin/ninja

error output:

FAILED: test/cpp/test_lilv_hpp.p/test_lilv_hpp.cpp.o 
g++ -Itest/cpp/test_lilv_hpp.p -Itest/cpp -I../test/cpp -I../src -I../include -I/Users/runner/PawPawBuilds/targets/macos-10.15/include -I/Users/runner/PawPawBuilds/targets/macos-10.15/include/serd-0 -I/Users/runner/PawPawBuilds/targets/macos-10.15/include/sord-0 -I/Users/runner/PawPawBuilds/targets/macos-10.15/include/zix-0 -I/Users/runner/PawPawBuilds/targets/macos-10.15/include/sratom-0 -fdiagnostics-color=always -DNDEBUG -Wall -Winvalid-pch -O3 -pipe -fPIC -DPIC -fdata-sections -ffunction-sections -fno-common -fvisibility=hidden -fno-stack-protector -U_FORTIFY_SOURCE -Wp,-U_FORTIFY_SOURCE -ffast-math -fno-finite-math-only -Os -DNDEBUG=1 -fomit-frame-pointer -mtune=generic -msse -msse2 -mfpmath=sse -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_15 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_15 -mmacosx-version-min=10.15 -arch x86_64 -Werror=objc-method-access -DHAVE_MIXED_SIZE_ADDRESSING -fvisibility-inlines-hidden -DSRATOM_STATIC -DSORD_STATIC -DZIX_STATIC -DSERD_STATIC -DLILV_STATIC -Wno-c++98-compat -Wno-cast-align -Wno-cast-qual -Wno-documentation-unknown-command -Wno-padded -Wno-poison-system-directories -Wno-reserved-id-macro -MD -MQ test/cpp/test_lilv_hpp.p/test_lilv_hpp.cpp.o -MF test/cpp/test_lilv_hpp.p/test_lilv_hpp.cpp.o.d -o test/cpp/test_lilv_hpp.p/test_lilv_hpp.cpp.o -c ../test/cpp/test_lilv_hpp.cpp
In file included from ../test/cpp/test_lilv_hpp.cpp:4:
../include/lilv/lilvmm.hpp:120:19: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  inline Node(Node&& other) noexcept
                  ^
../include/lilv/lilvmm.hpp:120:28: error: expected ';' at end of declaration list
  inline Node(Node&& other) noexcept
                           ^
                           ;
../include/lilv/lilvmm.hpp:104:7: error: member initializer 'me' does not name a non-static data member or base class
    : me(lilv_node_duplicate(node))
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/lilv/lilvmm.hpp:108:35: error: no member named 'me' in 'Lilv::Node'
    : me(lilv_node_duplicate(copy.me))
                             ~~~~ ^
../include/lilv/lilvmm.hpp:108:7: error: member initializer 'me' does not name a non-static data member or base class
    : me(lilv_node_duplicate(copy.me))
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/lilv/lilvmm.hpp:114:22: error: use of undeclared identifier 'me'
      lilv_node_free(me);
                     ^
../include/lilv/lilvmm.hpp:115:7: error: use of undeclared identifier 'me'
      me = lilv_node_duplicate(rhs.me);
      ^
../include/lilv/lilvmm.hpp:115:36: error: no member named 'me' in 'Lilv::Node'
      me = lilv_node_duplicate(rhs.me);
                               ~~~ ^
../include/lilv/lilvmm.hpp:215:3: error: no matching function for call to 'lilv_nodes_contains'
  LILV_WRAP1(bool, nodes, contains, const Node&, node)
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/lilv/lilvmm.hpp:65:12: note: expanded from macro 'LILV_WRAP1'
    return lilv_##prefix##_##name(me, a1);   \
           ^~~~~~~~~~~~~~~~~~~~~~
<scratch space>:491:1: note: expanded from here
lilv_nodes_contains
^~~~~~~~~~~~~~~~~~~
../include/lilv/lilv.h:521:1: note: candidate function not viable: no known conversion from 'const Lilv::Node' to 'const LilvNode *' (aka 'const LilvNodeImpl *') for 2nd argument
lilv_nodes_contains(const LilvNodes* nodes, const LilvNode* value);
^
In file included from ../test/cpp/test_lilv_hpp.cpp:4:
../include/lilv/lilvmm.hpp:293:3: error: no matching function for call to 'lilv_plugin_get_value'
  LILV_WRAP1(Nodes, plugin, get_value, const Node&, pred)
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/lilv/lilvmm.hpp:65:12: note: expanded from macro 'LILV_WRAP1'
    return lilv_##prefix##_##name(me, a1);   \
           ^~~~~~~~~~~~~~~~~~~~~~
<scratch space>:52:1: note: expanded from here
lilv_plugin_get_value
^~~~~~~~~~~~~~~~~~~~~
../include/lilv/lilv.h:944:1: note: candidate function not viable: no known conversion from 'const Lilv::Node' to 'const LilvNode *' (aka 'const LilvNodeImpl *') for 2nd argument
lilv_plugin_get_value(const LilvPlugin* plugin, const LilvNode* predicate);
^
In file included from ../test/cpp/test_lilv_hpp.cpp:4:
../include/lilv/lilvmm.hpp:294:3: error: no matching function for call to 'lilv_plugin_has_feature'
  LILV_WRAP1(bool, plugin, has_feature, const Node&, feature_uri)
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/lilv/lilvmm.hpp:65:12: note: expanded from macro 'LILV_WRAP1'
    return lilv_##prefix##_##name(me, a1);   \
           ^~~~~~~~~~~~~~~~~~~~~~
<scratch space>:55:1: note: expanded from here
lilv_plugin_has_feature
^~~~~~~~~~~~~~~~~~~~~~~
../include/lilv/lilv.h:954:1: note: candidate function not viable: no known conversion from 'const Lilv::Node' to 'const LilvNode *' (aka 'const LilvNodeImpl *') for 2nd argument
lilv_plugin_has_feature(const LilvPlugin* plugin, const LilvNode* feature);
^
In file included from ../test/cpp/test_lilv_hpp.cpp:4:
../include/lilv/lilvmm.hpp:307:3: error: no matching function for call to 'lilv_plugin_get_related'
  LILV_WRAP1(Nodes, plugin, get_related, const Node&, type)
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/lilv/lilvmm.hpp:65:12: note: expanded from macro 'LILV_WRAP1'
    return lilv_##prefix##_##name(me, a1);   \
           ^~~~~~~~~~~~~~~~~~~~~~
<scratch space>:94:1: note: expanded from here
lilv_plugin_get_related
^~~~~~~~~~~~~~~~~~~~~~~
../include/lilv/lilv.h:1221:1: note: candidate function not viable: no known conversion from 'const Lilv::Node' to 'const LilvNode *' (aka 'const LilvNodeImpl *') for 2nd argument
lilv_plugin_get_related(const LilvPlugin* plugin, const LilvNode* type);
^
In file included from ../test/cpp/test_lilv_hpp.cpp:4:
../include/lilv/lilvmm.hpp:354:55: error: use of undeclared identifier 'nullptr'
    : me(lilv_plugin_instantiate(plugin, sample_rate, nullptr))
                                                      ^
../include/lilv/lilvmm.hpp:370:36: error: use of undeclared identifier 'nullptr'
    return me ? new Instance(me) : nullptr;
                                   ^
../include/lilv/lilvmm.hpp:408:36: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  World(const World&)            = delete;
                                   ^
../include/lilv/lilvmm.hpp:409:36: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  World& operator=(const World&) = delete;
                                   ^
../include/lilv/lilvmm.hpp:411:14: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  World(World&&)            = delete;
             ^
../include/lilv/lilvmm.hpp:411:31: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  World(World&&)            = delete;
                              ^
../include/lilv/lilvmm.hpp:412:25: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  World& operator=(World&&) = delete;
                        ^
../include/lilv/lilvmm.hpp:412:31: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  World& operator=(World&&) = delete;
                              ^
../test/cpp/test_lilv_hpp.cpp:9:26: error: expected ';' at end of declaration
  const Lilv::World world{};
                         ^
                         ;
7 warnings and 14 errors generated.

with the full logs available at https://github.com/DISTRHO/PawPaw/actions/runs/8203426480/job/22436150152

seems to me there is a -std=c++11 or similar missing

@drobilla
Copy link
Collaborator

Curse these old bindings...

@drobilla
Copy link
Collaborator

seems to me there is a -std=c++11 or similar missing

Yeah, this is a silly default, but I imagine you can just jam that in CXXFLAGS (or set the cpp_flags option) as a workaround for now.

@drobilla
Copy link
Collaborator

Hm, reproducible. Not sure how this one wasn't caught...

Fixed in cc394e5, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants