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

libopenmpt0-shlibs-0.7.12-1 FTBFS on 10.13 #1202

Open
dmacks opened this issue Dec 25, 2024 · 8 comments
Open

libopenmpt0-shlibs-0.7.12-1 FTBFS on 10.13 #1202

dmacks opened this issue Dec 25, 2024 · 8 comments
Assignees
Labels

Comments

@dmacks
Copy link
Member

dmacks commented Dec 25, 2024

The first error message I saw was:

In file included from common/ComponentManager.cpp:11:
In file included from ./common/stdafx.h:83:
In file included from ./src/openmpt/logging/Logger.hpp:8:
./src/mpt/base/source_location.hpp:83:63: error: use of undeclared identifier '__builtin_FILE'
        static constexpr source_location current(const char * file = MPT_SOURCE_LOCATION_FILE, const char * function = MPT_SOURCE_...
                                                                     ^
./src/mpt/base/source_location.hpp:46:38: note: expanded from macro 'MPT_SOURCE_LOCATION_FILE'
#define MPT_SOURCE_LOCATION_FILE     __builtin_FILE()
                                     ^

and there are several such for other __buildin_* tokens. But before I looked at that, I saw:

In file included from common/ComponentManager.cpp:11:
In file included from ./common/stdafx.h:118:
./common/../common/mptString.h:443:69: error: call to unavailable member function 'value': introduced in macOS 10.14
                return charset.has_value() ? mpt::transcode<mpt::ustring>(charset.value(), std::forward<Tsrc>(str)) : mpt::transco...
                                                                          ~~~~~~~~^~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/optional:942:27: note: candidate
      function has been explicitly made unavailable
    constexpr value_type& value() &
                          ^

so that's a more documented error, and possibly a hopeless situation that would warrant having a separate .info that pins older dists at the older version of this package.

@nieder
Copy link
Member

nieder commented Dec 25, 2024

What's your configure output about c++ features. On 12.7, I have:

checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... -std=gnu++11
checking dependency style of g++ -std=gnu++11... gcc3
checking how to run the C++ preprocessor... g++ -std=gnu++11 -E
checking for ld used by g++ -std=gnu++11... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking whether the g++ -std=gnu++11 linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking for g++ -std=gnu++11 option to produce PIC... -fno-common -DPIC
checking if g++ -std=gnu++11 PIC flag -fno-common -DPIC works... yes
checking if g++ -std=gnu++11 static flag -static works... no
checking if g++ -std=gnu++11 supports -c -o file.o... yes
checking if g++ -std=gnu++11 supports -c -o file.o... (cached) yes
checking whether the g++ -std=gnu++11 linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin22.6.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether g++ -std=gnu++11 supports C++20 features with -std=c++20... yes

And what's the actual compiler command. I have:

/bin/sh ./libtool  --tag=CXX   --mode=compile g++ -std=gnu++11 -std=c++20 -DPACKAGE_NAME=\"libopenmpt\" -DPACKAGE_TARNAME=\"libopenmpt\" -DPACKAGE_VERSION=\"0.7.12+release.autotools\" -DPACKAGE_STRING=\"libopenmpt\ 0.7.12+release.autotools\" -DPACKAGE_BUGREPORT=\"https://bugs.openmpt.org/\" -DPACKAGE_URL=\"https://lib.openmpt.org/\" -DPACKAGE=\"libopenmpt\" -DVERSION=\"0.7.12+release.autotools\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 -D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 -D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 -D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 -D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 -D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX20=1 -DHAVE_EXCEPTIONS=/\*\*/ -DHAVE_RTTI=/\*\*/ -DHAVE_PTHREAD_PRIO_INHERIT=1 -DMPT_SVNURL=\"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.7.12\" -DMPT_SVNVERSION=\"22406\" -DMPT_SVNDATE=\"2024-12-01T13:10:15.135688Z\" -DMPT_PACKAGE=true -I.    -DLIBOPENMPT_BUILD -I./ -I./src -I./common -DMPT_WITH_ZLIB  -DMPT_WITH_MPG123 -I/opt/sw/include -DMPT_WITH_OGG -I/opt/sw/include -DMPT_WITH_VORBIS -I/opt/sw/include -DMPT_WITH_VORBISFILE -I/opt/sw/include -I/opt/sw/include -fvisibility=hidden -pthread  -DMPT_WITH_ZLIB  -DMPT_WITH_MPG123 -I/opt/sw/include -DMPT_WITH_OGG -I/opt/sw/include -DMPT_WITH_VORBIS -I/opt/sw/include -DMPT_WITH_VORBISFILE -I/opt/sw/include -g -O2 -MT common/libopenmpt_la-ComponentManager.lo -MD -MP -MF common/.deps/libopenmpt_la-ComponentManager.Tpo -c -o common/libopenmpt_la-ComponentManager.lo `test -f 'common/ComponentManager.cpp' || echo './'`common/ComponentManager.cpp
libtool: compile:  g++ -std=gnu++11 -std=c++20 -DPACKAGE_NAME=\"libopenmpt\" -DPACKAGE_TARNAME=\"libopenmpt\" -DPACKAGE_VERSION=\"0.7.12+release.autotools\" "-DPACKAGE_STRING=\"libopenmpt 0.7.12+release.autotools\"" -DPACKAGE_BUGREPORT=\"https://bugs.openmpt.org/\" -DPACKAGE_URL=\"https://lib.openmpt.org/\" -DPACKAGE=\"libopenmpt\" -DVERSION=\"0.7.12+release.autotools\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 -D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 -D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 -D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 -D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 -D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX20=1 "-DHAVE_EXCEPTIONS=/**/" "-DHAVE_RTTI=/**/" -DHAVE_PTHREAD_PRIO_INHERIT=1 -DMPT_SVNURL=\"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.7.12\" -DMPT_SVNVERSION=\"22406\" -DMPT_SVNDATE=\"2024-12-01T13:10:15.135688Z\" -DMPT_PACKAGE=true -I. -DLIBOPENMPT_BUILD -I./ -I./src -I./common -DMPT_WITH_ZLIB -DMPT_WITH_MPG123 -I/opt/sw/include -DMPT_WITH_OGG -I/opt/sw/include -DMPT_WITH_VORBIS -I/opt/sw/include -DMPT_WITH_VORBISFILE -I/opt/sw/include -I/opt/sw/include -fvisibility=hidden -pthread -DMPT_WITH_ZLIB -DMPT_WITH_MPG123 -I/opt/sw/include -DMPT_WITH_OGG -I/opt/sw/include -DMPT_WITH_VORBIS -I/opt/sw/include -DMPT_WITH_VORBISFILE -I/opt/sw/include -g -O2 -MT common/libopenmpt_la-ComponentManager.lo -MD -MP -MF common/.deps/libopenmpt_la-ComponentManager.Tpo -c common/ComponentManager.cpp  -fno-common -DPIC -o common/.libs/libopenmpt_la-ComponentManager.o

And what macOS are you on?

@dmacks
Copy link
Member Author

dmacks commented Dec 26, 2024

I'm on 10.13.

checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... -std=gnu++11
checking dependency style of g++ -std=gnu++11... gcc3
checking how to run the C++ preprocessor... g++ -std=gnu++11 -E
checking for ld used by g++ -std=gnu++11... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking whether the g++ -std=gnu++11 linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking for g++ -std=gnu++11 option to produce PIC... -fno-common -DPIC
checking if g++ -std=gnu++11 PIC flag -fno-common -DPIC works... yes
checking if g++ -std=gnu++11 static flag -static works... no
checking if g++ -std=gnu++11 supports -c -o file.o... yes
checking if g++ -std=gnu++11 supports -c -o file.o... (cached) yes
checking whether the g++ -std=gnu++11 linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin17.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether g++ -std=gnu++11 supports C++20 features with -std=c++20... no
checking whether g++ -std=gnu++11 supports C++20 features with +std=c++20... no
checking whether g++ -std=gnu++11 supports C++20 features with -h std=c++20... no
checking whether g++ -std=gnu++11 supports C++20 features with -std:c++20... no
configure: No compiler with C++20 support was found
checking whether g++ -std=gnu++11 supports C++17 features with -std=c++17... yes

and

/bin/sh ./libtool  --tag=CXX   --mode=compile g++ -std=gnu++11 -std=c++17 -DPACKAGE_NAME=\"libopenmpt\" -DPACKAGE_TARNAME=\"libopenmpt\" -DPACKAGE_VERSION=\"0.7.12+release.autotools\" -DPACKAGE_STRING=\"libopenmpt\ 0.7.12+release.autotools\" -DPACKAGE_BUGREPORT=\"https://bugs.openmpt.org/\" -DPACKAGE_URL=\"https://lib.openmpt.org/\" -DPACKAGE=\"libopenmpt\" -DVERSION=\"0.7.12+release.autotools\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 -D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 -D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 -D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 -D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 -D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX17=1 -DHAVE_EXCEPTIONS=/\*\*/ -DHAVE_RTTI=/\*\*/ -DHAVE_PTHREAD_PRIO_INHERIT=1 -DMPT_SVNURL=\"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.7.12\" -DMPT_SVNVERSION=\"22406\" -DMPT_SVNDATE=\"2024-12-01T13:10:15.135688Z\" -DMPT_PACKAGE=true -I.    -DLIBOPENMPT_BUILD -I./ -I./src -I./common -DMPT_WITH_ZLIB  -DMPT_WITH_MPG123 -I/sw/include -DMPT_WITH_OGG -I/sw/include -DMPT_WITH_VORBIS -I/sw/include -DMPT_WITH_VORBISFILE -I/sw/include -I/sw/include -fvisibility=hidden -pthread  -DMPT_WITH_ZLIB  -DMPT_WITH_MPG123 -I/sw/include -DMPT_WITH_OGG -I/sw/include -DMPT_WITH_VORBIS -I/sw/include -DMPT_WITH_VORBISFILE -I/sw/include -g -O2 -MT common/libopenmpt_la-ComponentManager.lo -MD -MP -MF common/.deps/libopenmpt_la-ComponentManager.Tpo -c -o common/libopenmpt_la-ComponentManager.lo `test -f 'common/ComponentManager.cpp' || echo './'`common/ComponentManager.cpp
libtool: compile:  g++ -std=gnu++11 -std=c++17 -DPACKAGE_NAME=\"libopenmpt\" -DPACKAGE_TARNAME=\"libopenmpt\" -DPACKAGE_VERSION=\"0.7.12+release.autotools\" "-DPACKAGE_STRING=\"libopenmpt 0.7.12+release.autotools\"" -DPACKAGE_BUGREPORT=\"https://bugs.openmpt.org/\" -DPACKAGE_URL=\"https://lib.openmpt.org/\" -DPACKAGE=\"libopenmpt\" -DVERSION=\"0.7.12+release.autotools\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 -D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 -D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 -D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 -D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 -D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX17=1 "-DHAVE_EXCEPTIONS=/**/" "-DHAVE_RTTI=/**/" -DHAVE_PTHREAD_PRIO_INHERIT=1 -DMPT_SVNURL=\"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.7.12\" -DMPT_SVNVERSION=\"22406\" -DMPT_SVNDATE=\"2024-12-01T13:10:15.135688Z\" -DMPT_PACKAGE=true -I. -DLIBOPENMPT_BUILD -I./ -I./src -I./common -DMPT_WITH_ZLIB -DMPT_WITH_MPG123 -I/sw/include -DMPT_WITH_OGG -I/sw/include -DMPT_WITH_VORBIS -I/sw/include -DMPT_WITH_VORBISFILE -I/sw/include -I/sw/include -fvisibility=hidden -pthread -DMPT_WITH_ZLIB -DMPT_WITH_MPG123 -I/sw/include -DMPT_WITH_OGG -I/sw/include -DMPT_WITH_VORBIS -I/sw/include -DMPT_WITH_VORBISFILE -I/sw/include -g -O2 -MT common/libopenmpt_la-ComponentManager.lo -MD -MP -MF common/.deps/libopenmpt_la-ComponentManager.Tpo -c common/ComponentManager.cpp  -fno-common -DPIC -o common/.libs/libopenmpt_la-ComponentManager.o

@dmacks
Copy link
Member Author

dmacks commented Dec 26, 2024

The __builtin_* failure sounds like the

# 0.6 and 0.7 series fail looking for ____builtin_LINE (gnuism?)

comment that was in a previous revision of the .info. There is some if/elif/endif related to it in source_location.cpp, and if I force it to fall through to the last case, that error is cleared. My clang is 10.0, so for example:

-#elif MPT_COMPILER_CLANG && MPT_CLANG_AT_LEAST(9, 0, 0)
+#elif MPT_COMPILER_CLANG && MPT_CLANG_AT_LEAST(11, 0, 0)

#define MPT_SOURCE_LOCATION_FILE     __builtin_FILE()
#define MPT_SOURCE_LOCATION_FUNCTION __builtin_FUNCTION()
#define MPT_SOURCE_LOCATION_LINE     __builtin_LINE()
#define MPT_SOURCE_LOCATION_COLUMN   __builtin_COLUMN()

#else

#define MPT_SOURCE_LOCATION_FILE     __FILE__
#define MPT_SOURCE_LOCATION_FUNCTION ""
#define MPT_SOURCE_LOCATION_LINE     __LINE__
#define MPT_SOURCE_LOCATION_COLUMN   0

#endif

nieder added a commit that referenced this issue Dec 26, 2024
@nieder
Copy link
Member

nieder commented Dec 26, 2024

Looks like what normal clang and apple clang have are not the same with the available __builtin* functions. But that's fixable by giving a higher clang version if need be for the #if. However, the member function 'value' is prob a harder fix. I pushed 10.13 back to the older 0.5 release. I can check later if 10.14 with Xcode11 also fails.

@dmacks
Copy link
Member Author

dmacks commented Dec 26, 2024

The function in mptString.h is:
mpt::ustring ToUnicode(uint16 codepage, mpt::Charset fallback, const std::string &str)

In version 0.7.12 mptString.h it is an inline template, which has the .value problem. In version 0.5.24, that same function is a prototype that is actually implemented in mptString.cpp in a way that does not use .value. If I copy the code from old mptString.cpp (lines 1429-1483):

static mpt::Charset CharsetFromCodePage(uint16 codepage, mpt::Charset fallback, bool * isFallback = nullptr)
{
...
}
mpt::ustring ToUnicode(uint16 codepage, mpt::Charset fallback, const std::string &str)
{
...
}

to replace the template in new mptString.h, it seems to compile. I guess it could have if/else/endif to choose whether to template vs real, and Really should be in .cpp, but meh.

manxorist added a commit to OpenMPT/openmpt that referenced this issue Dec 26, 2024
manxorist added a commit to OpenMPT/openmpt that referenced this issue Dec 26, 2024
…ocation builtins in older Apple Clang versions. See <fink/fink-distributions#1202>.

git-svn-id: https://source.openmpt.org/svn/openmpt/trunk/OpenMPT@22609 56274372-70c3-4bfc-bfc3-4c3a0b034d27
manxorist added a commit to OpenMPT/openmpt that referenced this issue Dec 26, 2024
[Fix] mpt/base/source_location.hpp: Work-around missing std::source_location builtins in older Apple Clang versions. See <fink/fink-distributions#1202>.
........


git-svn-id: https://source.openmpt.org/svn/openmpt/branches/OpenMPT-1.30@22614 56274372-70c3-4bfc-bfc3-4c3a0b034d27
manxorist added a commit to OpenMPT/openmpt that referenced this issue Dec 26, 2024
[Fix] mpt/base/source_location.hpp: Work-around missing std::source_location builtins in older Apple Clang versions. See <fink/fink-distributions#1202>.
........


git-svn-id: https://source.openmpt.org/svn/openmpt/branches/OpenMPT-1.31@22611 56274372-70c3-4bfc-bfc3-4c3a0b034d27
manxorist added a commit to OpenMPT/openmpt that referenced this issue Dec 26, 2024
[Fix] mpt/base/detect_quirks.hpp: Add MPT_LIBCXX_QUIRK_NO_OPTIONAL_VALUE for older Apple Clang. See <fink/fink-distributions#1202>.
........


git-svn-id: https://source.openmpt.org/svn/openmpt/branches/OpenMPT-1.31@22613 56274372-70c3-4bfc-bfc3-4c3a0b034d27
@manxorist
Copy link

libopenmpt upstream here

After discussing this with @dmacks on IRC:

I also backported the fixes to 0.6. They will be in 0.7.13 and 0.6.22.

manxorist added a commit to OpenMPT/openmpt that referenced this issue Dec 26, 2024
[Fix] mpt/base/detect_quirks.hpp: Add MPT_LIBCXX_QUIRK_NO_OPTIONAL_VALUE for older Apple Clang. See <fink/fink-distributions#1202>.
........


git-svn-id: https://source.openmpt.org/svn/openmpt/branches/OpenMPT-1.30@22615 56274372-70c3-4bfc-bfc3-4c3a0b034d27
@dmacks
Copy link
Member Author

dmacks commented Dec 26, 2024

Continuing from IRC, 0.7.12 uses std::visit, which is only available in OS X 10.14+ and there does not appear to be an easy (or any?) work-around. Therefore a huge thanks to upstream for helping diagnose and support what we can. But I think that pinning 10.13 at 0.5.x is the only solution.

@manxorist
Copy link

I agree, there is nothing that could be done about that in a sensible time frame (implementing std::visit myself would be hard, but maybe doable, but it is not something I want to spend time on).

I agree that pinning 10.13 at 0.5.x is a sane choice here. After all, cases like this are one of the reasons why we continue to support old branches.

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

No branches or pull requests

3 participants