CentOS 6 -> 7 distribution migration

Background information

In order to better support newer software packages -- many of which depend on libraries that are out of date on our current OS -- I will be gradually switching nodes from CentOS 6 to CentOS 7. For binary compatibility reasons, the head nodes (patas and dryas) will not be switched until all compute nodes are on CentOS 7. However, if you have software that needs a newer C++ compiler or other features of 7, you can use them before the head nodes are switched; see below.

What this means for you

I've tested and rebuilt software, where necessary, to try to ensure that everything in active use will be cross-compatible between CentOS 6 and CentOS 7. However, there is some software that, for one reason or another, couldn't be migrated. There will probably also be things I overlooked.

If you have a job that fails on some nodes but not others, please email linghelp@u and include the error messages from your stderr file, as well as a copy of the job log file and submit script. This will help me diagnose the problem and solve it.


If you need your job to avoid CentOS 7 nodes, perhaps because it uses a package known to fail, you can do so by adding the following to your submit script:

Requirements = ( OpSysMajorVer == 6 )

If, for testing purposes, you want to try a job on only CentOS 7 nodes, use this instead:

Requirements = ( OpSysMajorVer == 7 )

Important: Do NOT put quotes around the version number. Condor considers "7" and 7 to be different things.

If you have software that needs features of CentOS 7 to build, e.g. software that needs gcc 4.8, you can ssh from patas to one of the CentOS 7 nodes and compile it there. Be sure to use the requirements line above, because the resulting binary won't be compatible with CentOS 6.

Software notes

Known issues:

The following packages are known to fail on CentOS 7, but cannot be compiled in a way that works on both 6 and 7 simultaneously. They will be recompiled after the transition. For the time being, you should use a requirements line to force these to run only on CentOS 6 nodes.

  • /NLP_TOOLS/parsers/pet
  • /NLP_TOOLS/pdf_tools/poppler
  • /NLP_TOOLS/ml_tools/caffe
  • /NLP_TOOLS/ml_tools/iscsiboost

The following packages are known to fail on CentOS 7, and cannot be successfully rebuilt for it. Packages listed below will be abandoned after the transition. If you need one of these please contact linghelp@u as soon as possible.

  • /NLP_TOOLS/tool_sets/hog (Heart of Gold)
  • /NLP_TOOLS/tool_sets/gf (does not appear to have been working under CentOS 6)
  • /NLP_TOOLS/dialogue_tools/brainhat (does not appear to have been working under CentOS 6)
  • /NLP_TOOLS/parsers/RASP
  • /NLP_TOOLS/c-assert/v1-assert-v0.14b
  • /opt/GIZA++ (please use the more recent version in /NLP_TOOLS/tool_sets/giza-pp)

Other stuff:

  • The Perl 5.22 install in /opt/perl will be moved to /usr/local. I will set up a symlink to maintain compatibility with older scripts, but you may want to use /usr/local/bin/perl instead in new ones.
  • Condor binaries will move from /condor/bin to /usr/bin. Unless you're hardcoding paths to commands like condor_submit, this probably won't affect you.
  • The node.js install in /opt/node will be removed after the transition, as the CentOS 7 packaged version is newer.
  • /opt/mono will be removed; even CentOS 6 has a newer version than what's in there.
  • python 2.7 is the default system version of python on CentOS 7. Python 2.6 and earlier will no longer be supported.

Please contact linghelp@u with any questions or issues. I'm depending on users to help me find trouble spots and make the final switchover a smooth one.

Topic revision: r3 - 2016-03-29 - 23:57:42 - brodbd

This site is powered by the TWiki collaboration platformCopyright & by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Privacy Statement Terms & Conditions