IDL 8.6.1 Release Notes
IDL 8.6.1 Release Notes
See the following sections:
For the latest release notes, please see the Help Articles section of the Harris Geospatial Solutions web site.
IDL Supported Platforms
||7 SP1, 8, 10
||10.10, 10.11 (El Capitan)
||Kernel 2.6.32, glibc 2.12
- Supported versions indicate that IDL was either built on the lowest version listed or tested on that version. You can install and run IDL on other versions that are binary-compatible.
- IDL Help requires an HTML5-compatible browser.
- An X-Windows manager is required for Macintosh. IDL was tested using XQuartz 2.7.11.
- On Windows, installers for 32-bit are no longer available. However, the 32-bit binaries are still provided with the 64-bit Windows installer so that you can launch IDL in 32-bit mode on 64-bit Windows systems. You can find the 32-bit versions of IDL in the IDL program group under Windows Start-->Programs-->IDL x.x-->32-bit (where x.x is the IDL version).
New Routines and Features in IDL
For information on new routines and features, see "What's New"
in the IDL Help.
Backward-Compatibility Issues in IDL
This table contains any backwards-compatibility issues with the current IDL version. It also contains the most important issues with earlier versions. For detailed backwards-compatibility issues with earlier versions, you should consult the Release Notes for that version.
|JSON_PARSE and JSON_SERIALIZE
||IDL 8.6.1 introduces better error messages from JSON_PARSE on malformed input, including contextual information. This feature introduced a new member variable to the IDLffJson class, which can cause problems with save files built in IDL 8.6 or earlier. If your save file includes the JSON_PARSE or JSON_SERIALIZE function, then loading that save file into IDL 8.6.1 will replace the definition of the IDLffJson class with the older version, and subsequent calls to JSON_PARSE and JSON_SERIALIZE will cause a runtime error due to an unknown member variable. The fix is to rebuild your save file in IDL 8.6.1, or to explicitly call RESTORE on your save file with the /SKIP_EXISTING keyword to prevent the replacement of the class definition.
|Python Bridge Parameter Passing
||Previously, the Python Bridge would pass numeric arrays by reference when passing data from Python to IDL, or for the Python.Wrap method. However, this caused problems when using slices (or different views) into the same array, where IDL might accidently free the memory while it was still being used. Now, in IDL 8.6.1, the Python Bridge always passes by value when passing data from Python to IDL and for the Python.Wrap method.
|TrueType Font Updates
||IDL now has new TrueType fonts for Helvetica, Times, Courier, Symbol, and Monospace Symbol. For direct, object, and function graphics, when using TrueType fonts you may notice slight differences in the appearance and position of characters compared to earlier IDL versions.
IDL 8.6: with the new IDL licensing, several keywords to the LMGR licensing function have changed. In particular, the DEMO, EMBEDDED, EXPIRE_DATE, FORCE_DEMO, INSTALL_NUM, LMHOSTID, SITE_NOTICE, STUDENT, and TRIAL keywords have been deprecated. These keywords are still accepted but are quietly ignored and return 0 as the result.
Fixed Issues in IDL
|IDL-27165: On Windows, DIALOG_PICKFILE with /MULTIPLE has a limit of 32767 characters.
Fixed: Increased the limit to 1,000,000 characters.
|IDL-60179: Allow double-quote followed by a number to work properly
Fixed: If the double-quote is followed by a valid octal number and no trailing quote, then IDL returns an octal. If the double-quote is followed by a number and has a trailing quote, just keep it as a string instead of throwing an error.
|IDL-62760: Function graphics TeX syntax doesn't work on non-English systems
Fixed: The DejaVuSymbol font is now treated as an "extended ASCII" font so that math characters show up properly.
|IDL-69669: IDLgrPDF cannot set DIMENSIONS during Init
You can now set the DIMENSIONS in the OBJ_NEW call.
|IDL-69705: IDL crashes when using SMOOTH with non-square arrays and edge keywords
Fixed: IDL no longer crashes and now computes the correct SMOOTH results.
|IDL-69713: Workbench deletes files when file is dragged from Navigation Menu to the Command-line
IDL no longer deletes files when dragged from Navigation Menu to the Command-line.
|IDL-69714: DataMiner installer wipes away other previously installed drivers
The installer has been fixed so it only removes IDL's ODBC items, not the entire ODBC key.
|IDL-69716: Entering a named string variable into the LAMBDA function causes an error
Fixed: For the Lambda/LambdaP functions, allow a string variable to be passed in.
|IDL-69732: Typo with ASSOC data file causes IDL crash
IDL no longer crashes with bad assignment statements for ASSOC files.
|IDL-69750: H5_PUTDATA fails under certain use cases
H5_PUTDATA was fixed so it handles subgroups when adding new fields.
Known Problems in IDL
Create Animated GIFs
Because of vendor issues in the ffmpeg library, IDLffVideoWrite cannot
create animated GIF files. Use the WRITE_GIF routine instead.
|Installation error on
Windows platforms: "Key not valid for use in specified state"
Some customers have reported this error during the installation
process. It is caused by a Microsoft update (KB2918614), which affects
the Windows installer service. Workaorund: uninstall this Microsoft
update. For more information, see the Microsoft
Drop EventCan Cause IDL to Crash if an Error Exists in the DRAG_NOTIFY Callback
If there is an
error (such as an undefined variable) in the custom DRAG_NOTIFY
callback routine, IDL may freeze or crash since the error halts
execution in the child routine and IDL cannot return to the calling
Handle potential problems in the callback routine by including CATCH
statements in your code. See the documentation topic "Responding to
Drag Notifications (Callbacks)" for more information.
Opened via Links, Shortcuts, or Alternate Paths
performance, IDL always compiles the first version of a file it finds
in its path. If you open a file in the editor and set a breakpoint,
then compile from a version of the same file with a different path, IDL
will not assume that the two files are the same. As a result, IDL will
not stop at the breakpoint set in the second file.
Alternate paths to
the same file can be constructed via UNIX links, Windows shortcuts,
mapped drives, or UNC paths.
Make sure that the full path to the file in which you set the
breakpoint is the same as the full path to the compiled file. If you
use the IDL Workbench, compiling using the Workbench menus or toolbars
will ensure that the same path is used for compilation and debugging.
a Project or a
Directory Within a Project While the Project Is Open Causes Exceptions
when the Workbench Exits
a project file or a directory within a project is deleted from outside
the Workbench (for example, from Windows Project Explorer) while the
project is open, a warning message may be issued while the Workbench is
still running. An exception may occur on exiting the Workbench.
|IDL-51318, IDL-51322: Formatter
for Keywords and Class Names are
Ignored by the Source→Format
The keyword and class name formatting preferences
set on the IDL Formatter
preference page are not applied when the code is highlighted and the Source > Format
command is selected.
is Corrupting .pro Files with Non-English Characters
characters are converted to symbols when imported into the IDL
Workbench. Importing a .pro
file containing non-English characters in IDL permanently corrupts the
file with bad characters. Workaround: Before
opening a file or before
saving an open file, change the file encoding to ISO-8859-1 for Spanish
or German, or to Shift-JIS for Japanese.
To change the encoding for an individual file, open the
file in an IDL editor, then select File
In the Resources dialog box, change the 6Text file encoding
To change the default encoding preference for IDL,
select Window >
In the Preferences dialog box, choose General
> Workspace. Change the Text file
|IDL-57214, IDL-58285, IDL-58839: IDL
Crashes on Macintosh
and UNIX When Performing Graphics Operations Where GL Drivers are
Rename the gl_driver.so
file (located in bin\bin.<platform>)
while IDL is Busy May Hang Workbench
Trying to change
Preferences while IDL is busy (for example, when a lengthy command is
being executed) may cause the Workbench to hang.
the IDL_Java Bridge Causes the Workbench to Ignore the Current
Directory in CLASSPATH
||Workaround: Copy the
.class file to any other directory explicitly listed in CLASSPATH.
Macintosh OS, Only
One Workbench Instance Can Run at a Time
Even if the
preference "Prompt for workspace on startup" is set and multiple
workspaces are available, only one instance will run.
Workaround: Run the Workbench from the init
script located in the idlde.darwin.x86_64.app/Contents/MacOS
directory of your IDL installation.
Widget Interface Loses Focus When Selection is Made in a Drop-down List
In X11 Preferences, enable "Click-through Inactive Windows"
|IDL-67319, IDL-67320: Graphics
Rendering Causes Memory and Device Errors
XQuartz version 2.7.2 causes these error messages when creating IDL
Graphics. When IDL is installed, the Macintosh operating system may
you to install the most recent version of XQuartz.
Workaround: Use the latest version of XQuartz.
the IDL Workbench on Macintosh May Prompt Installation of Java v1.6
If you launch the IDL Workbench on Macintosh without first having Java
v1.6 installed, the Macintosh OS may prompt you to install it first.
This will happen even though IDL includes Java v1.8. For more
information on this issue, please see: http://stackoverflow.com/questions/11919004/eclipse-4-2-mac-os-x-10-8-ml-and-java-6
the Macintosh version of Java 1.6 when prompted. The Workbench will
continue to use Java v1.8 as it was installed with IDL. Another
workaround is to add a softlink as sudo from Frameworks 1.6 ->
as described in the link above.
Applications To Freeze Until An Event Is Sent To The Application
events fail after 10 events. This problem happens in the following
Workaround: Chain timer events by setting the
next timer after any computations are completed. For smoother
performance, set the next timer based on how long the computations
execute, which accounts for variances in machine speed. For example, to
fire the timer once every second, set the next timer to 1.0 - (time
to perform computation)
- Timer events are chained together by setting the next
timer within the
handling of the current timer and before the "work" section of the
event handler is performed.
- The next timer goes off during the current timer
event processing (for example, during a lengthy calculation).
Values is Slow While IDL is Busy or Blocking
If you edit a
variable value using the IDL Workbench Variables view while IDL is busy
(for example, when a lengthy command is being executed, or when a
widget application is blocking), it may appear that the variable is not
being updated. The new variable value is displayed when IDL is no
longer busy. (Related to ID 49604.)
on Windows 7 May
Have Unpredictable Behavior When Using Graphics
The cause may be
graphics cards that are unsupported in Windows 7. Please see a list of
supported graphics cards on the Microsoft.com website. You may want to
upgrade your graphic driver or switch the IDL Graphics preference to
use software rendering.
into a Directory Named with Multibyte Characters May
Cause the IDL Workbench to Not Launch
If you are
installing IDL into
a directory that contains multibyte characters, path names in
idlde.ini file may be truncated.
In the <install_dir>\IDLxx\bin\bin.x86\idlde.ini
file, edit the following lines:
Line 2 should read: <install_dir>\IDLxx\bin\bin.x86\jre\bin
Line 14 should read:
In the <install_dir>\IDLxx\bin\bin.x86_64\idlde.ini
file, edit the following lines:
Line 2 should read: <install_dir>\IDLxx\bin\bin.x86_64\jre\bin
Line 14 should read:
for a C++ Project that Uses COM_idl_connect.tlb Needs to be in
\bin directory to Run
If you create a
C++ project that uses COM_idl_connect.tlb,
the .exe must be
installed in <install_dir>\bin\bin.x86
or <install_dir>\bin\bin.x86_64 to
Alternatively, you can add the install
path to the PATH environment variable.
|IDL-14221, IDL-30564: DIALOG_PRINTERSETUP
Causes IDL to Hang When Called from a Modal Widget
This is a known
problem with no known workarounds except to use DIALOG_PRINTERSETUP
with a non-modal widget.
Does Not Run in
Security Enhanced Linux
versions of Linux implement mandatory access control in the Linux
kernel using the Linux Security Modules framework. IDL will not run in
such an environment without a modification to the security context for
the IDL binaries.
Workaround: Either disable SELinux or modify
the default security context for IDL. See Help
Article 3092 for details.
Left Corner of
Tree Widget is Never a Valid Drop Zone
When the ability
to drag and drop tree widget nodes has been enabled, the UNIX tree
widget does not recognize the upper left corner of the widget as a
valid drop zone. This area typically extends over the icons of the
first two nodes (but not the labels). This is a vendor issue. You can
drop items onto the first two nodes by moving the cursor over the
labels instead of the icons.
Dataminer Requires latest
libraries used by
the IDL Dataminer module require a library that may not be available by
default on some newer Linux systems.
Attempting to run the IDL Dataminer may cause IDL to issue an error
similar to the following:
% DLM_LOAD: Error loading sharable executable. Symbol:
IDL_Load, File =/rsi/qa/unix/idl71/bin/bin.linux.x86_64/idl_dataminer.so
cannot open shared object file: No such file or directory
You will need to install the appropriate libstdc++
compatible library for your platform.
IDL requires a
64-bit version of libXp. Red Hat-based Linux distributions such as RHEL
and Fedora may not install this library by default. On Red Hat you can
obtain this library using the following command:
yum install libXp.x86_64
Crashes on Linux 64-bit running in the Workbench
DIALOG_PRINTERSETUP from the Workbench causes 64-bit IDL to crash.
Workaround: To set up a printer, launch IDL
in command line mode and run DIALOG_PRINTERSETUP. Once you have set up
a printer, the information is cached in your home directory. Then
printed IDL programs will go to the appropriate printer regardless of
whether you are running the Workbench or command line IDL.
Crash in Ubuntu Versions of UNIX
of Ubuntu and other Debian-based Linux distributions may not ship with
library, which is required by Xerces. You will need to download this
library and install it in the /bin/bin.linux.x86
directory of your IDL installation. (On 64-bit installations, this
directory is /bin/bin.linux.x86_64.)
Graphics may fail with
Software Rendering on Linux
IDL graphics in
in software rendering mode may fail on Linux machines if the display is
local and Xinerama is not enabled. Workaround:
Configure Xinerama on the system or run from the IDL command line.
|IDL-68960, IDL-68965: Java-IDL
Bridge with Drawable Windows may not render properly
with software rendering
When using the Java-IDL Bridge with drawable
windows and software rendering, the window may not display anything.
Note that this affects the example code in the IDL documentation (IDLWindowExample.java and IDLgrWindowExample.java).
If nothing appears in the drawable window, change to hardware rendering
by setting your drawable object's RENDERER property to zero
|IDL-69332: Selecting the
Help Preference Can Crash the IDL Workbench on Some Linux Systems
Selecting Window > Preferences > Help on
some Linux systems may cause the IDL Workbench to crash.
Workaround: Open the idlde.ini file and find the -vmargs
line. Add the following new line after the -vmargs line:
© 2017 Exelis Visual Information Solutions, Inc., a subsidiary of Harris Corporation. All Rights Reserved. This information is not subject to the controls of the International Traffic in Arms Regulations (ITAR) or the Export Administration Regulations (EAR). However, this information may be restricted from transfer to various embargoed countries under U.S. laws and regulations.