Open thedman9052 opened 8 years ago
I have this issue too. Did you solve it for you somehow?
Currently (Jan. 2016), installing the Orocos toolchain 2.8 from GitHub is broken. This is an installation procedure with a couple of "hacks" that will make it work on a fresh Ubuntu 14.04 install.
Firstly, install git and ruby:
$ sudo apt-get install git ruby
Set up the git username and email:
$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"
Create a directory for the Orocos files to go and clone the GitHub repository with the bootstrap script:
$ mkdir ~/orocos
$ cd ~/orocos
$ git clone -b toolchain-2.8 https://github.com/orocos-toolchain/build.git
Run the bootstrap:
$ cd build
$ ./bootstrap
Press 'Enter' to select the default options whenever the script stops to ask you. At some point the script WLLL FAIL. We were expecting this.
A Ruby utility called Autoproj should have already downloaded some folders. Go into the Autoproj folder:
$ cd autoproj
There should be a file called 'overrides.yml'. Replace it with overrides.yml.txt (remove the .txt extension). If you look in the replacement 'overrides.yml', you should see a list of Orocos GitHub repository names with the 'branch' option set to 'toolchain-2.8'. The reason Autoproj failed earlier is because it is pulling from the 'master' branch on the Orocos GitHub, which has different dependencies than the 2.8 branch. The 'overrides' file will force Autoproj to use the correct branch when it clones the repositories.
Start autoproj again, this time manually:
$ cd ~/orocos/build
$ source env.sh
$ autoproj update
You should get another error similar to the first. Change to the metaruby directory:
$ cd ~/orocos/build/metaruby
This package didn't come from Orocos, and it still has the dependency issue, so we're going to fix that ourselves.
Edit the 'manifest.xml' and delete the following line:
<depend package="bundler" />
Also edit 'Rakefile' and remove:
require "bundler/gem_tasks"
You will need root privileges to do so (use sudo in front of your editor command).
Return to the build folder and build Orocos:
$ cd ~/orocos/build
$ autoproj update
$ autoproj fast-build
That should do it!
I follow the instruction of thedman9052 but I got an error while executing autoproj update
autoproj: importing and loading selected packages
updated log4cpp
updated ocl
updated orogen
updated rtt
updated rtt_typelib
updated typelib
updated utilmm
updated utilrb
updated tools/metaruby
building initial autoproj import log, this may take a while
looking for RubyGems updates
installing OS packages: cmake, liblua5.1-0-dev, libnetcdf-dev, libomniorb4-dev, libxml-xpath-perl, libxml2-dev, omniidl, omniorb-nameserver, ruby-facets
Command failed
autoproj: failed in osdeps phase
'/bin/bash /tmp/osdeps_sh20160811-8391-11mapeo' returned status 100
see /home/user/dev/orocos-2.8/build/install/log/autoproj-osdeps.log for details
last 10 lines are:
'XDG_SESSION_COOKIE'='3dd641cce40b0b6e45b848d400000001-1470876010.480842-1964473827'
'_'='/home/user/dev/orocos-2.8/build/.gems/bin/autoproj'
2016-08-11 09:56:00 +0900: running
/bin/bash /tmp/osdeps_sh20160811-8391-11mapeo
in directory /home/user/dev/orocos-2.8/build
Reading package lists...
Building dependency tree..
Reading state information...
E: Unable to locate package ruby-facets
I already installed ruby-facets by the following command:
gem install facets
My system information:
Ubuntu 12.04
Is that officially supported for toolchain 2.8 ?
In any case, this is weird. It attempts to install ruby-facets, but the osdeps list the gem for 'facets'. Could you post the complete autoproj output for autoproj osdeps
?
Hi doudou,
Actually, when I moved to Ubuntu 14.04, there was no such kind of error.
Anyway, below is the output for autoproj osdeps
How should I interact with gitorious.org (http, ssh): http,ssh
How should I interact with github.com (git, http, ssh): http,ssh
Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically (all, none or a comma-separate d list of: os gem pip) ? os,gem,pip
operating system: debian - unstable,sid
autoproj: loading ...
run 'autoproj reconfigure' to change configuration options
and use 'autoproj switch-config' to change the remote source for
autoproj's main build configuration
the target operating system for Orocos/RTT (gnulinux or xenomai): gnulinux
which CORBA implementation should the RTT use ? omniorb
autoproj: importing and loading selected packages
looking for RubyGems updates
installing OS packages: cmake, liblua5.1-0-dev, libnetcdf-dev, libomniorb4-dev, libxml-xpath-perl, libxml2-dev, o mniidl, omniorb-nameserver, ruby-facets
Command failed
autoproj: failed in osdeps phase
'/bin/bash /tmp/osdeps_sh20160812-3296-1dei6oo' returned status 100
see /home/user/dev/orocos-2.8/build/install/log/autoproj-osdeps.log for details
last 10 lines are:
'XDG_SESSION_COOKIE'='3dd641cce40b0b6e45b848d400000001-1470962569.393978-1905248659'
'_'='/home/user/dev/orocos-2.8/build/.gems/bin/autoproj'
2016-08-12 09:48:05 +0900: running
/bin/bash /tmp/osdeps_sh20160812-3296-1dei6oo
in directory /home/user/dev/orocos-2.8/build
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package ruby-facets
I have no experience with autoproj, but I could install the toolchain version 2.8 successfully with the above instructions in Ubuntu 12.04.
Maybe the OS detection somehow fails, because in the output you posted it says
How should I interact with gitorious.org (http, ssh): http,ssh
How should I interact with github.com (git, http, ssh): http,ssh
Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically (all, none or a comma-separate d list of: os gem pip) ? os,gem,pip
operating system: debian - unstable,sid
while on my test system (12.04 with Ruby 1.9.1 installed from package ruby1.9.1-dev
) it says
How should I interact with gitorious.org (http, ssh): http,ssh
How should I interact with github.com (git, http, ssh): http,ssh
Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically (all, none or a comma-separated list of: os gem pip) ? os,gem,pip
operating system: ubuntu,debian - 12.04,12.04.5,lts,precise,pangolin
?
That would explain why autoproj tries to install the non-existing system package ruby-facets
instead of the gem package:
facets:
ubuntu: gem
debian:
squeeze: gem
default: ruby-facets
fedora: rubygem-facets
default:
gem: facets
(from https://github.com/orocos-toolchain/autoproj/blob/master/orocos.osdeps#L138)
Is that officially supported for toolchain 2.8 ?
As there is no official list of target platforms that I know of, it is hard to say :-) But I do not see a reason why it should not be supported.
For ROS releases we should at least stay compatible with the ROS target platforms, as detailed in REP 3 - Target Platforms. ROS Hydro was released with Orocos Toolchain 2.7, while ROS Indigo and Jade got 2.8 and the pending ROS Kinetic release is waiting for 2.9. So version 2.8 should be targeted at least for Ubuntu Saucy (13.10) and newer.
On a fresh install of Ubuntu 14.04 with Ruby 1.9, using bootstrap.sh from the toolchain-2.8 branch does not build successfully. Autoproj throws an error:
The Autoproj logfiles indicate that Autoproj is pulling orocos-toolchain packages from the master branch instead of toolchain-2.8.
utilrb-import.log.txt (Renamed so GitHub would let me upload)
Packages in the master branch have a dependency on builder, while packages from the toolchain-2.8 branch do not (they depend on hoe and rake instead).
Adding branch overrides to the Autoproj overrides.yml fixes the orocos-toolchain package dependency issues, but it does not fix a bundler dependency issue with metaruby.