Opened 7 years ago
Closed 7 years ago
#54902 closed defect (fixed)
wxWidgets-3.0 @3.0.3: build failure on High Sierra
Reported by: | MaddTheSane (C.W. Betts) | Owned by: | mojca (Mojca Miklavec) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.4.1 |
Keywords: | highsierra | Cc: | iqgrande, maehne (Torsten Maehne), fracai, Schamschula (Marius Schamschula), lassfido (Henrik Quanz), refactoringdr, michaellass (Michael Lass) |
Port: | wxWidgets-3.0 |
Description
wxWidgets fails to build on High Sierra. It looks like verify_noerr
, which wxWidgets uses, was removed from Apple's headers.
Change History (15)
comment:1 Changed 7 years ago by MaddTheSane (C.W. Betts)
comment:2 Changed 7 years ago by kencu (Ken)
Looks like a trivial fix for the Portfile - which has already made it into wxWidgets upstream for the next release:
<https://github.com/wxWidgets/wxWidgets/commit/9a610eadcfed4cbe81f831450f0613c006dd5eed>
and I wouldn't be surprised if this same error comes up in other ports if it's true that this previously defined macro is no longer defined.
comment:3 Changed 7 years ago by MaddTheSane (C.W. Betts)
It looks like it is no longer defined by default. It can be overridden by setting __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES
to 1
in the compiler flags. Although Apple seems to be really pressing that the non-underscored macros should be replaced by the underscored version. It looks like wxWidgets doesn't want to do this (backwards compatibility with older OSes), but others may want to migrate away from the deprecated macros. See /usr/include/AssertMacros.h:1228
for Apple's reasoning for this, as well as a shell snippet that will replace the old macros with the new ones.
comment:4 Changed 7 years ago by kencu (Ken)
eg apparently qt5 54754. sigh. I presume there was a good reason this was changed... and it appears there was, eg <https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/MIjO2Gwc3qc>
From old versions of AssertMacros.h:
* Clients are recommended to migrate over to these new macros as * they update their sources because a future release of Mac OS X will remove the * old macro definitions ( without the double-underscore prefix ). Clients who * want to compile without the old macro definitions can define the macro * __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES to 0 before this file is * included.
and later
#ifndef __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES /* If we haven't set this yet, it defaults to on. In the next release, this will default to off. */ #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 1 #endif
So I guess now they have officially turned that off, and you need to turn it on manually if you want it.
comment:5 Changed 7 years ago by mf2k (Frank Schima)
Keywords: | highsierra added |
---|---|
Owner: | set to mojca |
Status: | new → assigned |
In the future, please Cc the port maintainers (port info --maintainers wxWidgets-3.0
), if any.
comment:6 Changed 7 years ago by iqgrande
Cc: | iqgrande added |
---|
comment:7 Changed 7 years ago by maehne (Torsten Maehne)
Cc: | maehne added |
---|
comment:8 Changed 7 years ago by fracai
Cc: | fracai added |
---|
comment:9 Changed 7 years ago by Schamschula (Marius Schamschula)
Cc: | Schamschula added |
---|
comment:10 Changed 7 years ago by lassfido (Henrik Quanz)
Cc: | lassfido added |
---|
comment:12 Changed 7 years ago by refactoringdr
Cc: | refactoringdr added |
---|
comment:13 Changed 7 years ago by michaellass (Michael Lass)
Cc: | michaellass added |
---|
comment:14 Changed 7 years ago by mojca (Mojca Miklavec)
I submitted a PR, feel free to merge (or fix it).
comment:15 Changed 7 years ago by mojca (Mojca Miklavec)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
It seems like this is a known issue: https://github.com/wxWidgets/wxWidgets/pull/533