Cygwin 2016 Upgrade

From DDCIDeos
Jump to navigationJump to search

Notes for upgrading to Cygwin 2016.

GCC

A new set of compilers based on GCC 5.3.0 have been added to both Cygwin 2014 and 2016 so that both Cygwins may be used with either GCC 4.6.1 or 5.3.0. At the moment GCC 4.6.1 remains the default choice.

You need to do the following to build or test a Deos component using the GCC 5.3.0 compilers:

  • Install the relevant 5.3.0 compilers (in addition to the 4.6.1 compilers).
  • Install abc-tool version 6.5.0 or newer (currently experimental).
  • Install startup library version 7.4.0 or newer (currently experimental).
  • Update build-utils to at least revision 51503.
  • Add a line with CrossCompilerVersionString="-5.3.0" to configure.ac.
  • Append /usr/local/cross-compilers/gcc-5.3.0/bin to PATH.

The ansi library has been both built and tested using PPC GCC 5.3.0 in Cygwin 2016 to confirm its operation. The mainline kernel has been built by Ryan after applying several patches (mostly assembler related).

Note that the OpenArbor postinstall script run_configure_gcc_docs.sh may fail when two sets of compilers are present.

Subversion

No known problems with Subversion. There is no need to upgrade working copies (i.e., checkouts).

Performance on svn update and svn checkout for externals is much better in Cygwin 2016.

SSH

Incorrect permissions

If you see:

 Bad owner or permissions on /home/alarson/.ssh/config

Then:

 chmod go-rwx ~/.ssh ~/.ssh/*
 chown -R $(whoami) ~/.ssh    # this is not always required.

Obsolete Public Keys

If you get prompted for your password.

To fix the problem follow the new procedure at SSH_configuration/Establishing_Trust to generate and install new keys.

Background

A *long* time ago, we had documentation on the DDCI wiki that explained how to generate SSH keys. That became obsolete, and new documentation was generated. All good.

However, if you still have an ssh configuration based on the old howto it continued to work until you get to Cygwin 2016.

The evidence that the above is the problem can be determined by looking at the result of ssh with the "-vv" option.

 ssh -vv linux02
 ... up until about 8 lines from the end
 debug1: Skipping ssh-dss key /home/alarson/.ssh/id_ddci.dsa - not in PubkeyAcceptedKeyTypes
 ...
 password:

You will see in your ~/.ssh file (on your laptop) references to the id_dsa.dsa file, and on the server you will find in the ~/.ssh/authorized_keys and lines of the form:

 ssh-dss ... yourUserName@somehost