-
Notifications
You must be signed in to change notification settings - Fork 38
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
Comments
What's your configure output about c++ features. On 12.7, I have:
And what's the actual compiler command. I have:
And what macOS are you on? |
I'm on 10.13.
and
|
The __builtin_* failure sounds like the
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:
|
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. |
The function in mptString.h is: 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):
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. |
…LUE for older Apple Clang. See <fink/fink-distributions#1202>. git-svn-id: https://source.openmpt.org/svn/openmpt/trunk/OpenMPT@22608 56274372-70c3-4bfc-bfc3-4c3a0b034d27
…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
[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
[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
[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
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. |
[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
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. |
I agree, there is nothing that could be done about that in a sensible time frame (implementing 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. |
The first error message I saw was:
and there are several such for other __buildin_* tokens. But before I looked at that, I saw:
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.
The text was updated successfully, but these errors were encountered: