|
|
|
|
| Article ID: 4576 Category: IDL |
| |
IDL Segmentation fault or fatal error when incompatible version of libstdc++.so.6 is used
Published on 04/22/2010 |
| |
 |
|
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)
|
|
|
|
|
|
Printer friendly format:
Rating:
|
|
|
|
|
|