[Rock-dev] Warning: ruby1.9 support removed and possible break of backward compatibility

Matthias Goldhoorn matthias.goldhoorn at dfki.de
Thu Jun 4 10:40:26 CEST 2015


Dear Users and Developers,

Rock is trying very hard to keep backward compatibility for all 
installations and packages. But from time to time it is needed to make 
adaptations that will break existing modules or existing installation. 
Now it is the time that something will break, we are sorry in the first 
place for this.

There are two big changes:
1. ruby1.9 support get removed
2. automatic header inclusion for orogen components is removed

If you are in hurry and cannot re-bootstrap or patch the component as 
described below,
feel free to switch your installation to the rock-15.05 release by running
"rock-release switch rock-15.05".

The modifications will applied on master on 10.05.2015 in the (CET-)morning.
The "stable"-flavor and the releases get not affected right now,
but changes will apply on "stable" after the next release is published.


#### ruby1.9 support get removed ####

Ruby1.9 is not continued any more, rock is running robust on ruby2.0 and 
ruby2.1. However each rock installation is fixed to a specific ruby 
version. You can figure out your version after sourcing your env.sh by 
running 'ruby --version'. If you version is below 2.0 it will not be 
supported any more. You have to re-bootstrap your installation with 
ruby2.0 or ruby2.1. We recommend ruby2.1 where it is available. For the 
rock-supported OS'es ruby2.1 is not available in Ubuntu 14.04.

To use a specific ruby version you have to pass it to the bootstrap script:
sh bootstrap.sh ruby2.1

The bootstrap scripts of the rock-package-sets gets updated to use 
ruby2.0/2.1 soon, but most projects are using their own bootstrap scripts.

There are also experimental steps to change your ruby version in a 
existing installation but we would not guarantee that this works in all 
use-cases. To try the experimental change, run in your installation:

```
   rm -rf autoproj .gems
   wget http://www.rock-robotics.org/stable/autoproj_bootstrap
   /usr/bin/ruby2.1 autoproj_bootstrap git <url to your repository>
   autoproj rebuild
```

#### automatic header inclusion for orogen components is removed ####

A while ago a patch was created that decreases the compile time and 
memory usage during compilation, at the same time.
This patch was tested on the build server and on some installations. Now 
its time to merge this.
But this causes one drawback, you have to #include your type headers 
explicitly, even if you have ports in your task of the type.

If you are using a type inside your task you now have to include it 
explicitly.
No automatic inclusion is done any more.

This can break some components. The solution is quite simply: use the 
correct header, include it and push the change.

We are sorry for this break in backward compatibility, but it leads to a 
fast compilation, reduce in memory sizes and clearer internal structure.

If you are interested in details see 
https://github.com/orocos-toolchain/orogen/pull/15

Sincerely yours
Matthias

-- 
  Dipl.-Inf. Matthias Goldhoorn
  Space and Underwater Robotic

  Universität Bremen
  FB 3 - Mathematik und Informatik
  AG Robotik
  Robert-Hooke-Straße 1
  28359 Bremen, Germany
  
  Zentrale: +49 421 178 45-6611
  
  Besuchsadresse der Nebengeschäftstelle:
  Robert-Hooke-Straße 5
  28359 Bremen, Germany
  
  Tel.:    +49 421 178 45-4193
  Empfang: +49 421 178 45-6600
  Fax:     +49 421 178 45-4150
  E-Mail:matthias.goldhoorn at informatik.uni-bremen.de

  Weitere Informationen:http://www.informatik.uni-bremen.de/robotik



More information about the Rock-dev mailing list