« Reading List: The Pentagon's New Map | Main | IQ and The Pentagon's New Map »

Friday, November 5, 2004

Fixing the "Broken Pipe" Error in Movable Type NetPBM Thumbnail Generation

If you assiduously follow the instructions in the Movable Type manual for configuring image thumbnail generation using the NetPBM image processing toolkit on your Unix server and end up with a pink pop-up box with the message "Broken Pipe" followed by a huge amount of gibberish, the most likely cause is that you've installed libraries (for example libjpeg.*) in a location where the user ID under which CGI programs run cannot find them. Many users install third party packages in the /usr/local directory tree and set up their PATH and LD_LIBRARY_PATH to include the binary and library directories there. Unfortunately, CGI programs tend to run with a minimal library path, so even though you've specified a NetPBMPath in mt.cfg or installed the utilities in one of the default directories, if they can't find their libraries they collapse ignominiously, leading to the "Broken Pipe" disaster.

If you're the server's administrator, the easiest way by far to fix this is to install all the requisite libraries into a standard library directory such as /usr/lib. If you can't do that, you'll have to figure out how to guarantee the NetPBM programs can find the shared libraries, or else link the required utilities with static libraries so they'll work regardless of the server's shared library environment.

Posted at November 5, 2004 21:41