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

Note for Chapel release 1.17.0 #89

Open
awallace-cray opened this issue Jan 24, 2018 · 1 comment
Open

Note for Chapel release 1.17.0 #89

awallace-cray opened this issue Jan 24, 2018 · 1 comment

Comments

@awallace-cray
Copy link
Member

Once Chapel 1.17.0 is released, the printchplenv command can be used to get the runtime library path. To get the Chapel runtime libraries for pychapel, we could use this:

eval $( printchplenv --internal --simple | grep CHPL_RUNTIME_SUBDIR )
cp $CHPL_HOME/lib/$CHPL_RUNTIME_SUBDIR/* $VIRTUAL_ENV/share/pych/lib/

instead of this:

cp $CHPL_HOME/lib/linux64/gnu/arch-native/loc-flat/comm-none/tasks-fifo/tmr-generic/unwind-none/mem-cstdlib/atomics-intrinsics/gmp-none/none/none/fs-none/* $VIRTUAL_ENV/share/pych/lib/
@awallace-cray
Copy link
Member Author

awallace-cray commented Jan 25, 2018

Even better: Chapel's util/config/compileline utility looks like it can supply the equivalent of printchplenv --internal --simple | grep CHPL_RUNTIME_SUBDIR, and much more.

One serious problem w the current Pychapel, is that some platform-specific details it needs to generate compile and link commands are hard-coded in file module/configs/pych.json. This accounts for the main difference between the Rudimentary Pychapel build scripts for Mac OS X v. Ubuntu 16.04 - ie, the embedded source patches to pych.json needed on Mac OS X, for Pychapel's generated command lines to work. A similar change was committed on master in Aug 2017, just to make pychapel work on Ubuntu 16.04 and SLES 12. Another change in Nov 2016 was needed just to maintain compatibility with Chapel itself. (See change history)

Seems like Chapel's compileline utility could generate the right compile-line stuff to put into pych.json at Pychapel installation time, for whatever host platform and Chapel version was at hand. Or, just do it at runtime! Pychapel would be a lot more portable.

compileline existed in Chapel 1.16 but was rewritten in late 2017. Don't know if the current version is supposed to be backward-compatible with Chapel 1.16's version.

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

No branches or pull requests

1 participant