#60409 closed defect (fixed)
fontforge @20190801_2 fails building on 10.5.8 PPC
Reported by: | udbraumann | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | leopard | Cc: | evanmiller (Evan Miller), barracuda156 |
Port: | fontforge |
Description
While upgrading fontforge
from 20170731_0
to 20190801_2
, after long time building fails here:
... :info:build libtool: compile: /opt/local/bin/gcc-mp-7 -DHAVE_CONFIG_H -I. -I../inc -I../inc -I../inc -I../lib -I../lib -I../fontforge -DSHAREDIR=\"/opt/local/share/fontforge\" -DDO CDIR=\"/opt/local/share/doc/fontforge\" -Werror=implicit-function-declaration -Werror=int-conversion -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -D_ REENTRANT -I/opt/local/include/gtk-3.0 -I/opt/local/include/gio-unix-2.0/ -I/opt/local/include/cairo -I/opt/local/include/pango-1.0 -I/opt/local/include/harfbuzz -I/opt/local/includ e/pango-1.0 -I/opt/local/include/fribidi -I/opt/local/include/gdk-pixbuf-2.0 -I/opt/local/include/cairo -I/opt/local/include/pixman-1 -I/opt/local/include/ossp -I/opt/local/include/ freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/pango-1.0 -I/opt/local/include/harfbuzz -I/opt/local/inc lude/pango-1.0 -I/opt/local/include/fribidi -I/opt/local/include/cairo -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/pixman-1 -I/opt/local/inc lude/ossp -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/libxml2 -I/opt/local/Library /Frameworks/Python.framework/Versions/3.8/include/python3.8 -pthread -I/ -I/opt/local/include -I.. -I.. -pipe -Os -std=gnu11 -arch ppc -MT libfontforgeexe_la-startui.lo -MD -MP -MF .deps/libfontforgeexe_la-startui.Tpo -c startui.c -fno-common -DPIC -o .libs/libfontforgeexe_la-startui.o :info:build startui.c:70:17: error: two or more data types in declaration specifiers :info:build #define SRefCon long :info:build ^ :info:build make[3]: *** [libfontforgeexe_la-startui.lo] Error 1 ...
To me this error message remains cryptic, what "two or more data types"? Any ideas?
Attachments (1)
Change History (12)
Changed 5 years ago by udbraumann
comment:1 follow-up: 4 Changed 5 years ago by kencu (Ken)
comment:2 Changed 5 years ago by udbraumann
Thanks for that remark, apparently when you made the patch, fontforge
was @20190801_0
, I am pretty sure that version fontforge @20190801_1
already failed during building at the same point, but since a month or so version is @20190801_2
. Perhaps you find some time to look at this SRefCon
issue again.
comment:3 Changed 3 years ago by evanmiller (Evan Miller)
Cc: | evanmiller added |
---|
comment:4 Changed 3 years ago by udbraumann
Replying to kencu:
This is coming in from my patch that replaces SRefCon [0501b5b95cf57c43a4b18c0c73639626b2fc24b8/macports-ports] which used to work, but I guess doesn't now. I'll have to see.
Instead of these lines in your patch
+/* replace missing def on older MacOS systems */ +#ifndef SRefCon +#define SRefCon long +#endif
I suggest to use
+/* replace missing def on older MacOS systems */ +#ifndef SRefCon +typedef long SRefCon; +#endif
Using the latter, the "error: two or more data types in declaration specifiers" has gone on my 10.5.8 G4 PPC.
I feel this is a kind of hack, perhaps someone else has a better idea.
comment:5 Changed 3 years ago by evanmiller (Evan Miller)
SRefCon
is defined in MacTypes.h
in the 10.5 headers, so the definition should only be needed on 10.4 anyway. See here
comment:6 Changed 3 years ago by evanmiller (Evan Miller)
comment:8 Changed 15 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | barracuda156 added |
---|---|
Owner: | set to ryandesign |
Status: | new → assigned |
When updating fontforge to 20230101 I removed the patches because the code they were patching was removed in 2021 when the project switched from Carbon event handlers to Cocoa event handlers, but it did so in a way that requires the modern Objective-C runtime which is not available for 32-bit.
comment:9 follow-up: 10 Changed 15 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:10 Changed 15 months ago by barracuda156
Replying to ryandesign:
In 7be8b592431b8736dabdf67295d989146e3b7fdc/macports-ports (master):
I guess a better fix will be to restore an older version for 32-bit platforms. Maybe wait for upstream reply a bit, if nothing, then add back an older version.
This is coming in from my patch that replaces SRefCon [0501b5b95cf57c43a4b18c0c73639626b2fc24b8/macports-ports] which used to work, but I guess doesn't now. I'll have to see.