Help! root won't start after a Mac software update

Hello,

I just did an software update last night on my MacBook Pro, which is running Snow Leopard 10.6.8, with 64 bit mode. After restarting the system, I am not able to start root with the error message as following:

…$ root
dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
Referenced from: /usr/X11/lib/libXft.2.dylib
Reason: Incompatible library version: libXft.2.dylib requires version 13.0.0 or later, but libfreetype.6.dylib provides version 10.0.0
Trace/BPT trap

In addition, I found I could not start xemacs locally and open a root session on a remote machine which I connected with ssh -Y;

I started to look around to see if a new X11 will solve the problem. But I found “Apple X11 has been discontinued” —> see macupdate.com/app/mac/10464/apple-x11

So I chose the XQuartz as listed on the page, and installed the package
xquartz.macosforge.org/trac/wiki/X112.6.3

After a logout and login again, I could start application such as xemacs locally and root session on a remote machine via ssh -Y, but not root locally with the same error message as above. I thought a recompilation of root would help, with the new X just installed. But it seems to me that the default X is X11 during configuration:

Checking for libX11 … /usr/X11R6/lib
Checking for X11/Xlib.h … /usr/include
Checking for X11/xpm.h … /usr/include
Checking for X11/Xft/Xft.h … /usr/include
Checking for X11/extensions/shape.h … /usr/include

I am running root v5-28-00f on my Mac.

Sorry for this long post. I am wondering if this is a known problem or just me. Is there any work around this already? I look forward to any ideas or solutions for this case.

Many thanks in advance!

Cheers,
Hongyan

The same thing happened to me, and I tried the same solutions to no avail. However, I have noticed a parallel directory structure for X11 out of /opt/X11. I have no idea if it was there before, but the right version of libfontconfig (version 6) is in there. Maybe Apple is using a new path for XQuartz’s X11 install?

Here’s the new version:
$ otool -L /opt/X11/lib/libfontconfig.1.dylib
/opt/X11/lib/libfontconfig.1.dylib:
/opt/X11/lib/libfontconfig.1.dylib (compatibility version 6.0.0, current version 6.4.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/opt/X11/lib/libfreetype.6.dylib (compatibility version 13.0.0, current version 13.2.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/usr/lib/libexpat.1.dylib (compatibility version 7.0.0, current version 7.2.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)

The standard path yields version 5, which no longer works:
$ otool -L /usr/X11/lib/libfontconfig.1.dylib
/usr/X11/lib/libfontconfig.1.dylib:
/usr/X11/lib/libfontconfig.1.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/X11/lib/libfreetype.6.dylib (compatibility version 10.0.0, current version 10.20.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/usr/lib/libexpat.1.dylib (compatibility version 7.0.0, current version 7.2.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 38.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0)

I hope that relinking root with this different X11 install will work. How do I tell the root makefile to use the other X11 installation?

I noticed a minor difference between our problems in reading the previous post more carefully. However, the new path also has the right version of the needed library there as well.

My problem is with a different library compatibility issue. I need an updated libfontconfig; the previous poster needed an updated libfreetype, but the complaining library was the same: libXft.
My error:
$ root
dyld: Library not loaded: /usr/X11/lib/libfontconfig.1.dylib
Referenced from: /usr/X11/lib/libXft.2.dylib
Reason: Incompatible library version: libXft.2.dylib requires version 6.0.0 or later, but libfontconfig.1.dylib provides version 5.0.0
Trace/BPT trap

Regarding the library version available from the previous post:

Old path:

$ otool -L /usr/X11/lib/libfreetype.dylib
/usr/X11/lib/libfreetype.dylib:
/usr/X11/lib/libfreetype.6.dylib (compatibility version 10.0.0, current version 10.20.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 38.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 549.0.0)

New path:

$ otool -L /opt/X11/lib/libfreetype.dylib
/opt/X11/lib/libfreetype.dylib:
/opt/X11/lib/libfreetype.6.dylib (compatibility version 13.0.0, current version 13.2.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)

I also noticed that the new path has no X11R6 subdirectory, but needed include files and libraries are present.

hello…

just to share a piece of information I got when asking for help in Mac Support Community:

discussions.apple.com/message/16436956#16436956

I have not yet tried the way suggested there - not sure if the person who provided the info is from Mac Support or just a user as us.

Hongyan

PS: the method works for me, just did a quick fix as a temporary solution for now.

I also applied the fix mentioned above (macport), but wherever it mentions freetype I put fontconfig, and used libfontconfig.1.dylib instead of libfreetype.6.dylib.

It seems to work. Root will load now. But I really have a poor understanding of any unintentional consequences down the road.

Hi,

the problems come due to a mixing of Fink or Macports provided X11 libs and the standard Apple ones. Either remove the 3rd party X11 or update them to be compatible with the latest build in Apple versions.

Cheers, Fons.

Hi Fons,

I am not very sure if this is the case for me since I had no Macports or fink from the beginning when the problem showed up after an security update.

For now I can work with the fix provided in the link I shared above.

Cheers,
Hongyan

[quote=“rdm”]Hi,

the problems come due to a mixing of Fink or Macports provided X11 libs and the standard Apple ones. Either remove the 3rd party X11 or update them to be compatible with the latest build in Apple versions.

Cheers, Fons.[/quote]

I also did not have Fink or any macports installed prior to the security update. And it is apparently not possible to update XCode 3 on SnowLeopard anymore. You must go to XCode 4.

The XQuartz (3rd party) install was an attempt to fix the problem, not an install which caused the problem.

I have friends who are up to date with all security patches with the same OSX and Xcode versions. I can’t imagine why only a small subset of macs are suffering from this issue.

Ok, seems the problem and fix are in Apple’s hands. Thanks hyy for including the link to the Apple forum.

Cheers, Fons.

I too have experienced the exact same problems as described above. I’m on OS X 10.6.8 and noticed the problem after installing the OS X security update. I also thought reinstalling ROOT would fix the problem, but it always failed to build properly and the binary returns the same error as above. I implement the fix as suggested on the Mac Forums (link above) but this hasn’t worked for me. The binary still fails, but the source builds with no errors. However when I try to run ROOT I still get the following error:

[quote]dyld: Library not loaded: /usr/X11/lib/libfontconfig.1.dylib
Referenced from: /usr/X11/lib/libXft.2.dylib
Reason: Incompatible library version: libXft.2.dylib requires version 6.0.0 or later, but libfontconfig.1.dylib provides version 5.0.0
Trace/BPT trap[/quote]

Any help or further information on this really annoying problem will be greatly appreciated!!! I’ll try reinstalling X11 from my Mac disks tonight.

Hi guys this is just an update to let you know that I have solved the problem using the recommended fix above, i.e. Macports. I’m not sure why it didn’t work for me first time, I’ll put it down to human error on my behalf. Anyway things seem to be back to normal. Obviously this is not an ideal situation especially if future root versions fail to install on Mac OS X without some tweeking. I have been using ROOT on my Mac for years now without the need for installing Macports. Anyway if any other bugs crop up relating to this X11 issue i’ll post here.

cheers

ROOT will not require any tweaking to install on OSX. MacPorts or Fink or any other third party install is not needed to install basic ROOT. In this case it looked like binary compatibility got broken and that is beyond our control. A fresh install should fix those issues.

Cheers, Fons.

Hi,

So is the conclusion of this post that this binary:

ftp://root.cern.ch/root/root_v5.32.03.m … 386.tar.gz

is no longer compatible with recent lion updates? That one must install from source? Are there any other Lion builds of mac os X?

I recently downloaded the above binary on my mac book pro mid-2010 with fresh install of Lion from scratch. I do not have any third party X11 installed. root itself seems to work but if I try to install a compile a simple program using aclic or g++ (the default mac compiler from x-code), I get run time errors as described earlier (libfreetype in /usr/X11 rather than /opt/…).

Also by including lNet or lTree, I get this library as missing: libssl.1.0.0.dylib

Thanks,
Justin

Hi Justin,

this binary has been build using clang v3.1 on a system with Xquartz installed. It will therefore work on an identical system. If you get the source and build it, it should work for your system. Make sure you’ve the latest Xcode 4.3.2 with command line tools installed (clang 3.1) and Xquartz 2.7.2.rc2.

Cheers, Fons.