Fontforge: `fc-cache` crash when launching FontForge-2016-04-04-Mac.app.dmg.zip os OS X 10.11.4

Created on 18 Apr 2016  路  9Comments  路  Source: fontforge/fontforge

When I run /Applications/FontForge.app from the official 2016-04-04 release on Mac OS X 10.11.4, I get a crash of fc-cache with the log shown below (though FontForge ultimately launches).

When I run /Applications/FontForge.app from fuuko.libferris.com 2015-09-16 on the same system, FontForge runs fine (and the fc-cache process runs through without complaint).

Note: I don鈥檛 have /opt/local/lib/libexpat.1.dylib at all, so it seems that fc-cache bundled with FontForge-2016-04-04-Mac.app.dmg.zip is incorrectly linked. The Mac OS X building method deployed at http://fuuko.libferris.com/osx/packages/ was more robust.

Best,
Adam

Process:               fc-cache [60114]
Path:                  /Applications/FontForge.app/Contents/MacOS/fc/fc-cache
Identifier:            fc-cache
Version:               ???
Code Type:             X86-64 (Native)
Parent Process:        ??? [60113]
Responsible:           fc-cache [60114]
User ID:               501

Date/Time:             2016-04-18 11:24:20.027 +0200
OS Version:            Mac OS X 10.11.4 (15E65)
Report Version:        11
Anonymous UUID:        F34A469A-6F0C-8182-7169-C69DB9FCF360

Sleep/Wake UUID:       3635F692-CDAE-489A-8480-FD70030D5431

Time Awake Since Boot: 380000 seconds
Time Since Wake:       180000 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000002, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: /opt/local/lib/libexpat.1.dylib
  Referenced from: /Applications/FontForge.app/Contents/MacOS/fc/fc-cache
  Reason: Incompatible library version: fc-cache requires version 8.0.0 or later, but libexpat.1.dylib provides version 7.0.0

Binary Images:
    0x7fff62563000 -     0x7fff6259a0d7  dyld (360.21) <D9B236BC-4AC1-325F-B3EF-3F06DBDA7119> /usr/lib/dyld

Model: MacBookPro11,3, BootROM MBP112.0138.B17, 4 processors, Intel Core i7, 2,6 GHz, 16 GB, SMC 2.19f12
Graphics: Intel Iris Pro, Intel Iris Pro, Built-In
Graphics: NVIDIA GeForce GT 750M, NVIDIA GeForce GT 750M, PCIe, 2048 MB
Memory Module: BANK 0/DIMM0, 8 GB, DDR3, 1600 MHz, 0x02FE, -
Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x02FE, -
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x134), Broadcom BCM43xx 1.0 (7.21.95.175.1a6)
Bluetooth: Version 4.4.4f4 17685, 3 services, 27 devices, 1 incoming serial ports
Network Service: Thunderbolt Ethernet, Ethernet, en3
Network Service: Broadcom NetXtreme Gigabit Ethernet Controller, Ethernet, en5
Network Service: Wi-Fi, AirPort, en0
PCI Card: pci1b73,1100, USB eXtensible Host Controller, Thunderbolt@194,0,0
PCI Card: pci11c1,5901, IEEE 1394 Open HCI, Thunderbolt@193,0,0
PCI Card: Broadcom 57762-A1, Ethernet Controller, Thunderbolt@192,0,0
PCI Card: Apple 57762-A0, Ethernet Controller, Thunderbolt@197,0,0
PCI Card: pci14e4,16bc, Thunderbolt@192,0,1
PCI Card: pci14e4,16be, Thunderbolt@192,0,2
Serial ATA Device: APPLE SSD SM1024F, 1 TB
USB Device: USB 3.0 Bus
USB Device: Hub
USB Device: Natural卢脝 Ergonomic Keyboard 4000
USB Device: USB PnP Sound Device
USB Device: USB Receiver
USB Device: USB2.0 Hub
USB Device: HP LaserJet 1200
USB Device: USB2.0 Hub
USB Device: USB 3.0 Bus
USB Device: Apple Internal Keyboard / Trackpad
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
USB Device: USB 2.0 Hub
USB Device: Yeti Stereo Microphone
FireWire Device: little disk (button), LaCie, Up to 400 Mb/sec
FireWire Device: My Book 111D, WD, Up to 800 Mb/sec
Thunderbolt Bus: MacBook Pro, Apple Inc., 17.1
Thunderbolt Device: Express Dock, Belkin International, Inc., 3, 26.1
Mac OS X

Most helpful comment

@frank-trampe
The library links in /Applications/FontForge.app/Contents/MacOS/fc/fc-cache are pointing to /opt/local/lib/....., and haven't been fixed up to point into the app folder.

Running the following from the terminal fixed things for me. Should this be in an initial start up script ?

cd /Applications/FontForge.app/Contents/MacOS/fc
../library-paths-opt-local-to-absolute.sh fc-cache

Running official download FontForge 2016-10-04 on OS X 10.11.6.

All 9 comments

This would suggest that I missed a file when changing library paths, but I don't know how the software has worked for so many other people. I even tested it myself with /opt removed. I'll plan to fix this for the next release.

Specifically, when I run FontForge.app/Contents/MacOS/fc/fc-cache from your release, I get:

dyld: Library not loaded: /opt/local/lib/libexpat.1.dylib Referenced from: /FontForge.app/Contents/MacOS/fc/./fc-cache Reason: Incompatible library version: fc-cache requires version 8.0.0 or later, but libexpat.1.dylib provides version 7.0.0 Trace/BPT trap: 5

But with the "fuuko" package, I don't get that.

Interestingly, in the "fuuko" package, FontForge.app/Contents/MacOS/fc contains the fc-cache binary and the lib folder with those files:
libbz2.1.0.dylib
libexpat.1.dylib
libfontconfig.1.dylib
libfreetype.6.dylib
libpng16.16.dylib
libz.1.dylib

while your release FontForge.app/Contents/MacOS/fc only has the fc-cache binary but not the lib folder.

I have exactly the same problem, I am also on OS X 10.11.4. The older fuuko package works.

@frank-trampe
The library links in /Applications/FontForge.app/Contents/MacOS/fc/fc-cache are pointing to /opt/local/lib/....., and haven't been fixed up to point into the app folder.

Running the following from the terminal fixed things for me. Should this be in an initial start up script ?

cd /Applications/FontForge.app/Contents/MacOS/fc
../library-paths-opt-local-to-absolute.sh fc-cache

Running official download FontForge 2016-10-04 on OS X 10.11.6.

@mw9, thanks for pointing that out. I'm away from my Macintosh until next week-end, but I'll plan to fix the build script.

Latest release https://github.com/fontforge/fontforge/releases/tag/20170731 crashes immediately on macOS Sierra 10.12, and when launching from terminal as /Applications/FontForge.app/Contents/MacOS/FontForge, prints the similar error about fc-cache:

PKGBASE: /Applications/FontForge.app
/Applications/FontForge.app/Contents/MacOS/FontForge: line 107: [1: command not found
dyld: Library not loaded: /opt/local/lib/libexpat.1.dylib
  Referenced from: /Applications/FontForge.app/Contents/MacOS/fc/fc-cache
  Reason: Incompatible library version: fc-cache requires version 8.0.0 or later, but libexpat.1.dylib provides version 7.0.0
Done!

Copyright (c) 2000-2014 by George Williams. See AUTHORS for Contributors.
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE.
 Based on sources from 19:05 UTC 30-Jul-2017-ML-D.
 Based on source from git with hash: b9149c13e8f9464fc21473f1f676b36a2130775d
26:32: execution error: File X11 wasn鈥檛 found. (-43)
26:34: execution error: Can鈥檛 get application "X11". (-1728)
no xdefs_filename!
TESTING: getPixmapDir:/Applications/FontForge.app/Contents/Resources/opt/local/share/fontforge/pixmaps
TESTING: getShareDir:/Applications/FontForge.app/Contents/Resources/opt/local/share/fontforge
TESTING: GResourceProgramDir:/Applications/FontForge.app/Contents/Resources/opt/local/bin
trying default theme:/Applications/FontForge.app/Contents/Resources/opt/local/share/fontforge/pixmaps/resources
Could not open screen.
You must start X11 before you can start /Applications/FontForge.app/Contents/Resources/opt/local/bin/fontforge
 X11 is optional software found on your install DVD.

I see the error about X11, maybe this is the real cause for the crash, but this very issue is still relevant.

Update to this: yes, XQuartz (brew cask install xquartz) solved the X11 error, the latest release now starts (but only from the Terminal, not from the Dock icon or Applications).

@mw9 I can confirm that your fix works on OS Sierra 10.12.5

@frank-trampe

I've attached a (text file) patch to the build script (osx/create-osx-app-bundle.sh) that may be helpful.

With the patch applied I ran the build process on my iMac. (Sierra, XCode 8, MacPorts). It did the job, fc-cache's library links now properly point into the app bundle.

0001-Fix-OSX-App-bundle-build-fc-cache-crash.txt

Was this page helpful?
0 / 5 - 0 ratings