X

Help Articles are product support tips and information straight from the NV5 Geospatial Technical Support team developed to help you use our products to their fullest potential.



19572 Rate this article:
3.5

IDL Segmentation fault or fatal error when incompatible version of libstdc++.so.6 is used

The new graphical system in IDL 8.0 requires the libstdc++ library to work properly. The libstdc++ library that is available by default on newer Linux distributions has been shown to cause the new graphical system in IDL to not work properly. Some symptoms of this problem include a segmentation fault or fatal error causing the IDL 8.0 session to crash. The purpose of this article is to discuss the work around that should resolve this issue.

NOTE: This issue appears to only impact debian based Linux platforms. The instructions that are provided are generalized and have been found to work when applied to a variety of test environments.

A. 
Possible Error Messages
B.  Download the packages containing the necessary libraries
C.  Unpack the libraries
D.  Move the libraries to the correct IDL bin directory
E.  Test the IDL 8.0 Workbench

Possible Error Messages
There are several IDL error messages associated with the missing library that have been found during our testing that you might see when attempting to run IDL 8.0. The general findings have shown that libstdc++.so.6 greater than libstdc++.so.6.0.3 cause the issues being experienced when using the IDL graphics system.

For example, the following may occur when you attempt to run ITTLICENSE for IDL 8.0 on Ubuntu 10.04 LTS (where is the name of the local computer)

root@:/usr/local/itt/idl/bin# ittlicense
IDL Version 8.0 (linux x86 m32). (c) 2009, ITT Visual Information Solutions
% Embedded IDL: ITT Visual Information Solutions, License Wizard.
% Embedded IDL: ITT Visual Information Solutions, License Wizard.
% Loaded DLM: XML.
Segmentation fault

Here is an error message that may appear when the IDL command line is being used to access the new IDL graphics system

IDL> p = plot(/test)
% Loaded DLM: XML.
Segmentation fault

This is an error that may appear when using the IDL Workbench to access the IDL graphics system

IDL> p = plot(/test)

Workbench crashes and this is left in the console:

tech_support@tekubuntu1004x64v:~$ idlde
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f30d658e7e4, pid=6172, tid=139847778703120
#
# JRE version: 6.0_17-b04
# Java VM: Java HotSpot(TM) 64-Bit Server VM (14.3-b01 mixed mode linux-amd64 )
# Problematic frame:
# C  [libstdc++.so.6+0xc97e4]  __cxa_allocate_exception+0x24
#
# An error report file with more information is saved as:
# /home/tech_support/hs_err_pid6172.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Download the packages containing the necessary libraries

NOTE: The files that you will be downloading are being provided by a third party source which we do not control. It is possible that the location of the files may change or the resource may become inactive.
  • Open a web browser and navigate to http://rpm.pbone.net/index.php3/stat/2/simple/2
  • Enter libstdc++.so.6.0.3 in the text box to the left of the Search button
  • Make sure that the only box checked in the list of options is RedHat EL 4
  • Click the Search button
  • For 64-bit IDL
    • Select libstdc++-3.4.6-3.1.x86_64.rpm and look for the section that says Download
    • Choose one of the mirrors listed to download to the desktop on your system
    • Hit the back button on the browser to get back to the original list of search results
  • For 32-bit IDL
    • Select libstdc++-3.4.6-3.1.i386.rpm and look for the section that says Download
    • Choose one of the mirrors listed to download to the desktop on your system
Unpack the libraries
  • Open a File Browser and navigate to the file download location
  • For 64-bit IDL
    • Right click on libstdc++-3.4.6-3.1.x86_64.rpm and select Extract Here from the drop down list
  • For 32-bit IDL
    • Right click on libstdc++-3.4.6-3.1.i386.rpm and select Extract Here from the drop down list
Move the libraries to the correct IDL bin directory
  • Open a terminal 
  • Login as root
  • Navigate to the directory containing the 32-bit libraries
  • Move the following 32-bit libraries to the .../idl80/bin/bin.linux.x86 directory
    • libstdc++.so
    • libstdc++.so.6.0.3
  • Navigate to the directory containing the 64-bit libraries
  • Move the following 64-bit libraries to the .../idl80/bin/bin.linux.x86_64 directory
    • libstdc++.so
    • libstdc++.so.6.0.3
Test the IDL 8.0 Workbench
  • Log out as root
  • Launch the IDL 8.0 Workbench
  • Enter at the IDL prompt: a = plot(/test)
Please login or register to post comments.
Featured

End-of-Life Policy Enforcement for ENVI 5.3 / IDL 8.5 and Earlier Versions

5/6/2024

April 1, 2024 Dear ENVI/IDL Customer,  We are reaching out to notify you of our supported... more »

How to Upgrade licenses to ENVI 6.x / IDL 9.x

12/5/2023

What is the new Upgrade function? Starting with ENVI 6.0 and IDL 9.0, we have implemented an... more »

What to do if the 'License Administrator - License Server' for the Next-Generation License Server does not start?

6/13/2023

Background: With the release of ENVI 5.7 & IDL 8.9 and the corresponding Next-Generation licensing... more »

Next-Generation Licensing FAQ

4/28/2023

  NV5 Geospatial has adopted a new licensing technology for all future releases of our ENVI, IDL... more »

The IDL Virtual Machine

6/6/2013

What is the IDL Virtual Machine? An IDL Virtual Machine is a runtime version of IDL that can... more »