The first goal for my rIDL project was to completely emulate of all of command line IDL’s functionality. Once that is implemented, then extra cool stuff can be added. I’m getting close this goal (of course, I couldn’t help myself and there is some extra cool stuff in there already).
I have addressed two items where rIDL was not up to IDL’s standards:
- events were not handled properly when running widget programs
- commands were not saved between sessions
I still need to allow setting preferences with a command line switch when starting IDL as in:
$ idl -IDL_QUIET 1
There are plenty of small things that are not quite exactly the same, e.g., rIDL does not check the IDL_RBUF_PERSIST preference yet, is just assumes that you want the command history to persist between sessions. It will take some time to sort all these out (and even to discover what they are).
The code is not ready for a formal release yet. But those interested in poking around can get the code with Subversion:
svn co http://svn.idldev.com/ridl/trunk
It should build on Mac OS X (but you have to build GNU Readline first), but you are on your own on other platforms. If you have questions, comments, suggestions, etc. let me know!
January 13th, 2010 at 6:43 am
This rIDL looks very nice. I’ve been using rlwrap for a while to get a better command line experience. It is a great program, but does not work seamlessly with IDL. I would love to beta test your rIDL wrapper!
Erin
January 13th, 2010 at 3:47 pm
Give it a try and let me know how it works!
January 13th, 2010 at 6:46 pm
The first major snag on linux is the dependency of openmotif. Most of the computers where I run IDL I am not the administrator, and getting these libraries installed is not generally possible.
Is there a way to compile without motif? Does basic plotting require motif, or just the widgets?
Erin
January 13th, 2010 at 9:23 pm
Yes, I tried to build this on Linux today and ran into this problem. I’m not sure what is required to do simple plotting.
January 20th, 2010 at 5:47 pm
Here is an updated Makefile that I have used for 64-bit Linux systems. You will have to change the Readline location to point at your own build of it.
March 27th, 2010 at 6:33 pm
Hey,
having trouble compiling rIDL on Mac OS X. Checked out revision 143. When I run ‘make’ I get:
Any ideas what’s going on? is it a problem on my end? Like a dependency? I’m looking forward to trying rIDL!!!
Thanks.
G
March 27th, 2010 at 6:34 pm
Dang! Sorry for the poorly formatted message!
March 27th, 2010 at 10:07 pm
It can’t find
rl_event_hook
, which is in Readline. Make sure the READLINE_LIB variable in src/Makefile is pointing at the lib directory of your Readline build. I currently build it on Mac OS X and 64-bit Linux.March 29th, 2010 at 8:42 am
Hey, I’m running into dyld issues:
Any ideas?
December 18th, 2010 at 7:01 am
Hi Michael,
rIDL looks great, particularly the notebooking feature. I’m trying to install in Mac OS X and get the following error when I run make:
It looks like it can’t find a number of constants in the ridl.c file. Any ideas?
Robin
December 18th, 2010 at 9:23 pm
It can’t find the IDL API header file:
By default is looks in
/Applications/itt/idl/idl/external/include
. You will have to change this if your IDL is not in this location.December 23rd, 2010 at 12:00 pm
Brilliant! Changing that makes it compile and then I can run it fine.
One slight problem though: when using the notebooking functionality, the :save_graphic command gives the error below:
IDL> :save_graphic
% Syntax error.
At: /usr/local/ridl/ridl_savegraphic.pro, Line 29
% Compiled module: RIDL_SAVEGRAPHIC.
% Attempt to call undefined procedure/function: ‘RIDL_SAVEGRAPHIC’.
% Execution halted at: $MAIN$
(again, apologies if the comment system makes this come out looking horrible)
I’ve checked that the ridl_savegraphic.pro is in my IDL_PATH, and it is. However, it doesn’t seem to be able to compile it.
Any ideas? Just a thought – does rIDL require IDL 8.0?
Robin
December 23rd, 2010 at 7:57 pm
Ah, it seems to be requiring it. I will change the syntax so that it will compile in all versions of IDL (but, of course, the “new graphics” part will only work in IDL 8.0+).
August 26th, 2011 at 4:49 am
Very excited to try and use rIDL but i’m having difficulty compiling.
I’m on Linux (32 bit), using gcc for my c compiler.
I first built the newest versions of cmake and readline.
Then I did the cmake step in the ridl directory setting paths to readline, IDL and where I want to install to.
On the make step everything compiles but the link step fails with:
Linking C executable ridl
/usr/bin/ld: ridl: hidden symbol `__fixunsdfdi’ in /usr/lib/gcc/i386-redhat-linux/4.1.1/libgcc.a(_fixunsdfdi.o) is referenced by DSO
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[3]: *** [src/ridl] Error 1
make[2]: *** [src/CMakeFiles/ridl.dir/all] Error 2
make[1]: *** [src/CMakeFiles/ridl.dir/rule] Error 2
make: *** [src/CMakeFiles/ridl.dir/rule] Error 2
Any idea what might be going on here? Unfortunately I’m new to cmake so having some difficulty in working out exactly what is happening and how to play around with the commands/flags being used.
The only points i’ve found from google so far are that the error may be to do with static vs shared libs or missing flags to ld (and using ld directly rather than via gcc).
Thanks!