Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential issue with XQuartz version #42

Open
dchu808 opened this issue Dec 10, 2016 · 3 comments
Open

Potential issue with XQuartz version #42

dchu808 opened this issue Dec 10, 2016 · 3 comments

Comments

@dchu808
Copy link
Contributor

dchu808 commented Dec 10, 2016

When the most recent version of XQuartz is installed (2.7.11), the following error appears in the terminal when running run_odrp:

xterm: Can't execvp idl: No such file or directory

This happens even when the pipeline itself is installed directly. To get the pipeline to work, a separate command needs to be run in the terminal:

idl -IDL_STARTUP ${OSIRIS_BACKBONE_DIR}/drpStartup.pro ${OSIRIS_BACKBONE_DIR}/osiris_drp_backbone_startup.pro

@jlyke-keck
Copy link
Contributor

Another with Quartz above 2.7.9 is launching ql2.

If one starts via a "run" script like "run_sql2", the xterm it launches may disappear. If one runs the IDL command directly, you could see this error:

Error: attempt to add non-widget child "dsm" to parent "idl" which supports only widgets

Googling this error gives several examples of possible solutions. This one worked for me:
https://blogs.qub.ac.uk/screenshotsfromtheedge/2016/10/25/xquartz-2-7-10-and-libxt-motif-idl/

Quoting from this source:

The solution (aside from filing bug reports against Motif) is to edit the DYLD_LIBRARY_PATH ---environment variable so that it includes the directory /opt/X11/lib/flat_namespace/

In the specific case of IDL, the idl startup script (/Applications/exelis/idl/bin/idl) contains a section which amends that variable. It’s an sh script, so if your shell is bash then it should pick up your edits. However many IDL users are also SSWIDL users, and they usually have their shell set to tcsh. In that case it’s probably simplest to edit the ‘idl’ script as follows, around line 245:

if [ "$DYLD_LIBRARY_PATH" = "" ]; then
DYLD_LIBRARY_PATH="/opt/X11/lib/flat_namespace:$BIN_DIR"
#DYLD_LIBRARY_PATH="$BIN_DIR"
else
DYLD_LIBRARY_PATH="/opt/X11/lib/flat_namespace:$BIN_DIR:$DYLD_LIBRARY_PATH"
#DYLD_LIBRARY_PATH="$BIN_DIR:$DYLD_LIBRARY_PATH"
fi

@followthesheep
Copy link
Contributor

Going back to xquartz 2.7.8 will also fix this.

https://www.xquartz.org/releases/

@dchu808
Copy link
Contributor Author

dchu808 commented Jan 25, 2017

Using C shell, I needed to add my idl directory (e.g. /Applications/exelis/idl/bin) directly in my path in my .cshrc file. Simply having an alias or sourcing this idl directory in my .cshrc file is not enough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants