X
42 Rate this article:
No rating

[Review of External] IDL Workbench fails to launch on Linux, Anaconda also installed

Ben Castellani

In some circumstances, Linux machines where Anaconda is installed may not be able to launch IDLDE due to library issues. 

Here are the symptoms: 

  • IDL Workbench will NOT initialize (crashes/won't launch), producing no visible errors or logs. This happens with or without the "outofprocess" flag being used
  • IDL Command Line launches fine

----------------------

One reason discovered to cause this problem was the inclusion of Anaconda on the FRONT of the system variables PATH and LD_LIBRARY_PATH.

To confirm the issue may be library related, check the output from "printenv" and a system trace log generated by the launch of IDLDE. For example:

cd /usr/local/harris/idl87/bin
strace -o ~/idlde_strace.log ./idlde 

In the generated log, you will notice that some libraries are actually being loaded from Anaconda, not from the system or IDL's installation. An example excerpt from an affected Linux machine is shown below for libfreetype:

open("/usr/tcswao/harris/envi55/idl87/idlde/bin.linux.x86_64/libfreetype.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/tcswao/harris/envi55/idl87/bin/bin.linux.x86_64/libfreetype.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/tcswao/harris/envi55/idl87/bin/bin.linux.x86_64/dm/lib/libfreetype.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("tls/x86_64/libfreetype.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("tls/libfreetype.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("x86_64/libfreetype.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("libfreetype.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/tcs/anaconda2/lib/libfreetype.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\332\0\0\0\0\0\0"..., 832) = 832

fstat(3, {st_mode=S_IFREG|0775, st_size=3041330, ...}) = 0
mmap(NULL, 2722624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f50b254f000
mprotect(0x7f50b25e3000, 2093056, PROT_NONE) = 0
mmap(0x7f50b27e2000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x93000) = 0x7f50b27e2000
close(3)                                = 0

 

This behavior of loading libraries from third party applications may work just fine under some circumstances, but it has been shown to cause interference with IDLDE in some situations. The specific library causing the crashing was not identified. 

Solution:

Remove the Anaconda reference from the system PATH and LD_LIBRARY_PATH and launch a new terminal. Then confirm IDLDE initializes OK. You may be able to resolve the issue by toggling the order of your path components, leaving Anaconda in a workable position. 

 

Created by BoC 5/3/2019