Building graphite2 1.2.3 on PowerPC Mac OS X (10.4 or 10.5) now fails:
Undefined symbols: "saveFP", referenced from: graphite2::Segment::justify(graphite2::Slot*, graphite2::Font const*, float, graphite2::justFlags, graphite2::Slot*, graphite2::Slot*)in Justifier.cpp.o graphite2::Slot::finalise(graphite2::Segment const*, graphite2::Font const*, graphite2::Position&, graphite2::Rect&, unsigned char, float&)in Slot.cpp.o "restFP", referenced from: graphite2::Segment::justify(graphite2::Slot*, graphite2::Font const*, float, graphite2::justFlags, graphite2::Slot*, graphite2::Slot*)in Justifier.cpp.o graphite2::Slot::finalise(graphite2::Segment const*, graphite2::Font const*, graphite2::Position&, graphite2::Rect&, unsigned char, float&)in Slot.cpp.o ld: symbol(s) not found collect2: ld returned 1 exit status
This was reported to the MacPorts project here:
https://trac.macports.org/ticket/40447
It did not used to fail, but now does. I don't know what changed. I thought it was related to cmake being updated from 2.8.10.2 to 2.8.11.2 but other users were unable to confirm that.
Here is the fix one of our developers has suggested:
https://trac.macports.org/attachment/ticket/40447/graphite2-takanori.diff
I have not evaluated it.
We're now using the above-mentioned patch to fix this problem.
The problem seems to be caused by your CMakeLists.txt using -nodefaultlibs in LINK_FLAGS. (On PowerPC on Mac OS X, the default libs, specific libgcc, contain saveFP and restFP.) I haven't figured out why you use this directive; it's been there since Mac support was added in revision 982, and has been there for Linux since the file was created in revision 9.
Looks like this hasn't been fixed in 1.3.10 yet. In MacPorts we're just removing your
-nodefaultlibs
.https://github.com/silnrsi/graphite/pull/44