Opened 4 years ago

Closed 9 months ago

Last modified 4 months ago

#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)

main.log (1.3 MB) - added by udbraumann 4 years ago.

Download all attachments as: .zip

Change History (12)

Changed 4 years ago by udbraumann

Attachment: main.log added

comment:1 Changed 4 years ago by kencu (Ken)

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.

comment:2 Changed 4 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 in reply to:  1 Changed 2 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:6 Changed 2 years ago by evanmiller (Evan Miller)

In 566e206bbd721a4c57a9ba0acdf6d8e0ba828174/macports-ports (master):

fontforge: update to 20201107

See: #60409

comment:7 Changed 13 months ago by barracuda156

Now even the patch fails to apply.

comment:8 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: barracuda156 added
Owner: set to ryandesign
Status: newassigned

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 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

In 7be8b592431b8736dabdf67295d989146e3b7fdc/macports-ports (master):

fontforge: Requires modern Objective-C runtime

Closes: #60409

comment:10 in reply to:  9 Changed 9 months ago by barracuda156

Replying to ryandesign:

In 7be8b592431b8736dabdf67295d989146e3b7fdc/macports-ports (master):

fontforge: Requires modern Objective-C runtime

Closes: #60409

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.

comment:11 Changed 4 months ago by barracuda156

In 3dfe70e1a4986dfd1e21e700380e0f20e62dce9a/macports-ports (master):

fontforge: provide version for 32-bit and old OS

A proper fix for #60409

Note: See TracTickets for help on using tickets.