#58919 closed defect (fixed)
fontforge build failure on 10.7.5
Reported by: | lemzwerg (Werner Lemberg) | Owned by: | jmroot (Joshua Root) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | lion | Cc: | |
Port: | fontforge |
Description
Building recently upgraded fontforge fails with
:info:build scripting.c:10698:1: error: unknown type name '_Noreturn' :info:build _Noreturn void ProcessNativeScript(int argc, char *argv[], FILE *script) { :info:build ^
Attachments (1)
Change History (14)
Changed 5 years ago by lemzwerg (Werner Lemberg)
Attachment: | main.log.xz added |
---|
comment:1 Changed 5 years ago by kencu (Ken)
Interesting. It's OK on 10.6.8:
fontforge @20190801_0+gui+python37 (active) platform='darwin 10' archs='x86_64' date='2019-09-02T21:34:12-0700'
built with clang-5.0/libc++.
comment:2 follow-up: 3 Changed 5 years ago by lemzwerg (Werner Lemberg)
Maybe it's because I neither have gui
nor python37
?
comment:3 Changed 5 years ago by kencu (Ken)
Replying to lemzwerg:
Maybe it's because I neither have
gui
norpython37
?
More likely the default /usr/bin/clang
is just too old and rickety to build it. The new MacPorts 2.6 will default to a newer compiler, but for now, you can try this:
sudo port -v install fontforge configure.compiler=macports-clang-5.0
I know clang-5.0
works. Probably clang-8.0
will work too. Feel free to build the gui and the python bindings if you care to -- that fontforge gui is pretty cool!
comment:4 Changed 5 years ago by lemzwerg (Werner Lemberg)
Hmm. I am using the current git version of macports-base
, which is essentially a beta of 2.6 – so why is /usr/bin/clang++
selected by default?
Regarding GUI: I'm not a Mac user at all – I control my Mac using a mosh
terminal from my GNU/Linux box :-) I exclusively use it to test software builds, in particular LilyPond.
And compilation with clang-5.0
succeeded, thanks.
comment:5 Changed 5 years ago by jmroot (Joshua Root)
2.6 will still try the system clang if it can use the selected stdlib. So on 10.7 and later, more or less.
Here, _Noreturn is a C11 feature, so it should at least be using the appropriate -std= option. Compilers that don't support C11 also need to be excluded. With 2.6 we could just set compiler.c_standard, but for now we just have to do some blacklisting.
comment:6 follow-up: 9 Changed 5 years ago by lemzwerg (Werner Lemberg)
OK, thanks for the info – Ken, is this something to be fixed in the Portfile?
Note that the forthcoming version of FontForge switches to cmake; I've just checked that a test for C++11 is included.
comment:7 Changed 5 years ago by jmroot (Joshua Root)
Owner: | set to jmroot |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:8 Changed 5 years ago by jmroot (Joshua Root)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Hmm, well that didn't actually fix 10.7. It built on 10.6 though. :)
Guess I'll try restricting to the next Xcode version up.
comment:9 Changed 5 years ago by jmroot (Joshua Root)
Replying to lemzwerg:
Note that the forthcoming version of FontForge switches to cmake; I've just checked that a test for C++11 is included.
This failure was specifically on C code, so I don't know if it does need C++11. There only appears to be one C++ file in the current version, woff2.cc.
comment:10 Changed 5 years ago by jmroot (Joshua Root)
comment:11 Changed 5 years ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:12 Changed 5 years ago by kencu (Ken)
a large amount of compiler fussing on Macports would be eliminated if 10.7 and 10.8 (and 10.9...) defaulted their compilers to match 10.6 ...
Is there any reason to not do that, and make everyone's life easier?
The more these older systems work exactly like current ones, the less headaches we all will have.
main.log file of fontforge build on lion