# Update lsst-dev shared stacks to use devtoolset-6

XMLWordPrintable

#### Details

• Type: Story
• Status: Done
• Resolution: Done
• Fix Version/s: None
• Component/s:
• Labels:
None
• Story Points:
1
• Team:
Data Release Production

#### Description

Update both shared stacks on lsst-dev01 to build against devtoolset-6.

Since this won't be ABI compatible with the earlier (no-devtoolset) stacks, we'll need to create entirely new stacks, which should probably build over a weekend.

#### Activity

Hide
Jim Bosch added a comment -

Are the things done by the scl scripts things (e.g. setting environment variables) things we could rewrite as EUPS table files?

Show
Jim Bosch added a comment - Are the things done by the scl scripts things (e.g. setting environment variables) things we could rewrite as EUPS table files?
Hide
Jim Bosch added a comment -

I noted that someone (perhaps Princeton sysadmins) seems to have set up the devtoolset on our local clusters to work with Environment Modules in addition to the scl scripts; in my .bashrc for tiger-sumire.princeton.edu I have:

 module load rh/devtoolset/3 

I think that suggests that making devtoolset EUPS packages is probably feasible.

Show
Jim Bosch added a comment - I noted that someone (perhaps Princeton sysadmins) seems to have set up the devtoolset on our local clusters to work with Environment Modules in addition to the scl scripts; in my .bashrc for tiger-sumire.princeton.edu I have: module load rh/devtoolset/3 I think that suggests that making devtoolset EUPS packages is probably feasible.
Hide
John Swinbank added a comment - - edited

Are the things done by the scl scripts things (e.g. setting environment variables) things we could rewrite as EUPS table files?

Neat idea. I think it would work. I'm not going to block this ticket on investigating, but I will look at it some rainy day.

Show
John Swinbank added a comment - - edited Are the things done by the scl scripts things (e.g. setting environment variables) things we could rewrite as EUPS table files? Neat idea. I think it would work. I'm not going to block this ticket on investigating, but I will look at it some rainy day.
Hide
Kian-Tat Lim added a comment -

While the effects are generally setting env vars, the contents of them can be somewhat complex, and perhaps more so than a table file can achieve. Each enabled collection gets to have its enable script executed which in principle can do anything. In particular, the devtoolset-6 enable script executes rpm --eval "%{_libdir}" to set its LD_LIBRARY_PATH.

Show
Kian-Tat Lim added a comment - While the effects are generally setting env vars, the contents of them can be somewhat complex, and perhaps more so than a table file can achieve. Each enabled collection gets to have its enable script executed which in principle can do anything. In particular, the devtoolset-6 enable script executes rpm --eval "%{_libdir}" to set its LD_LIBRARY_PATH .
Hide
John Swinbank added a comment - - edited

I wrote some pretty clunky bash which folks can drop into their ~/.profile or ~/.bashrc files and which I think does the right thing under most reasonable circumstances (ie, it shouldn't forkbomb, it shouldn't lock the user out if scl doesn't exist or if their preferred devtoolset isn't available, it should let them enable devtoolset-6 and git19 simultaneously, etc). I'm no shell guru, so I'm sure it could be done better (for various values of "better"!) but I think this'll do for now.

Show
John Swinbank added a comment - - edited I wrote some pretty clunky bash which folks can drop into their ~/.profile or ~/.bashrc files and which I think does the right thing under most reasonable circumstances (ie, it shouldn't forkbomb, it shouldn't lock the user out if scl doesn't exist or if their preferred devtoolset isn't available, it should let them enable devtoolset-6 and git19 simultaneously, etc). I'm no shell guru, so I'm sure it could be done better (for various values of "better"!) but I think this'll do for now.

#### People

Assignee:
John Swinbank
Reporter:
John Swinbank
Reviewers:
John Parejko
Watchers:
Chris Walter, Jim Bosch, John Parejko, John Swinbank, Kian-Tat Lim, Pim Schellart [X] (Inactive), Tim Jenness