IDL Segmentation Faults Due to X11 Library Update

QUESTION: Whoa! What happened? I updated my LINUX installation to the latest X11 library updates and now IDL crashes when I ask it to display simple graphics commands.

ANSWER: There is aparently a problem with a Mesa library and IDL 6.3 (and ENVI 4.3). Here is what the IDL technical support folks have to say about it.

Two unrelated library updates released in March/April 2007 by several Linux brands are proving to be incompatible with IDL versions through IDL 6.3/ENVI 4.3. In the last few days (~April 19, 2007) the IDL Graphics Interface development team has found both temporary workarounds for immediate relief and the path to a more permanent workaround that will be incorporated ASAP in IDL 6.4 For Linux and a follow-up patch for IDL 6.3/ENVI 4.3 For Linux.

See ITT Tech Tip #4177 (Upgrades in the Mesa library for Linux and in X11 Library Security Are Crashing IDL) for the details.

Users report that rolling back the libX11 library update has solved the problem for them.

Other Comments

ITTVIS offers this solution for the segmentation fault problem for Debian and its variant Ubuntu.
   $sudo dpkg -i libx11-6_1.0.3-6_i386.deb

This doesn't necessarily solve the problem since packages can have interdependencies and, hence, as a result of unmet dependencies, the above command alone won't work. One would wonder what to do then and should know the OS specific version number (for Ubuntu and Debian GNU/ Linux) of the package. Forcing the package to be installed would often do more harm than good and as a result one can break the system.

An easy, simple way would be to go to the synaptic package manager and do this:

  1. Open up the synaptic package manager from the desktop menu or type: 'sudo synaptic' from the prompt.
  2. Highlight the libx11-6 client library from the list of available packages. It will show you the current version installed and the latest version and a brief description of the package.
  3. Click on the 'package' menu item and go to 'force version' and it will show you the current installed version and other prior version from the repositories. You can then choose the previous version to roll back. The package manager would also let you know about the dependencies and tell you what packages will be affected, if one chooses to explore further. For example, here is what I found on my machine: latest libx11-6 version (I am running Ubuntu dapper) 2:1.0.0-0ubuntu9.1 and I downgraded to 2:1.0.0-0ubuntu9 and the segmentation fault problem vanishes.

Our friend, Lajos, has discovered another workaround for this bug which does not require depreciating the system X11 library. Here are his instructions:

  1. Find a copy of the old "working" libX11.so.6 file and copy it somewhere (e.g., /my/private/lib/libX11.so.6)
  2. Define an environment variable LD_PRELOAD_PATH to point to the directory where you saved it.

       bash: export LD_PRELOAD_PATH=/my/private/lib
       tcsh: setenv LD_PRELOAD_PATH /my/private/lib
    
  3. Run IDL.

Now IDL will use /my/private/lib/libX11.so.6 instead of the system library and it will work correctly.

Google
 
Web Coyote's Guide to IDL Programming