Jul 292015
 

Buadline is an interesting DSP tool for signal inspection and analysis.  Unfortunately, the OSX image is a little old (looks like the current release; 1.08; is from 2010), but works just fine.  Well, sort of.  It turns out, the baudline application is not linked to X11 libs where I have them installed.  I use macports, and I have XQuartz since Apple decided to stop officially support the X window server.  Here is what happened when I installed baudline and attempted to run it:

$ /Applications/baudline.app/Contents/Resources/baudline
dyld: Library not loaded: /usr/X11/lib/libXp.6.dylib
  Referenced from: /Applications/baudline.app/Contents/Resources/baudline
  Reason: image not found
Trace/BPT trap: 5
Sterlings-MacBook-Air:project2 sterling$ otool -L /Applications/baudline.app/Contents/Resources/baudline
/Applications/baudline.app/Contents/Resources/baudline:
    /usr/X11/lib/libXp.6.dylib (compatibility version 9.0.0, current version 9.0.0)
    /usr/X11/lib/libXt.6.dylib (compatibility version 7.0.0, current version 7.0.0)
    /usr/X11/lib/libX11.6.dylib (compatibility version 9.0.0, current version 9.0.0)
    /usr/X11/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
    /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.18.0)

Not so great, but I found this blog post that shows how you can relink binaries in OSX: How To Relink OSX Binaries

I felt like there should be a nice, automatic script that could just fix this, but I ended up just relinking each dylib in turn, like this:

$ install_name_tool -change /usr/X11/lib/libXp.6.dylib /opt/X11/lib/libXp.6.dylib /Applications/baudline.app/Contents/Resources/baudline

That was the magic sauce that made it work.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)