rock-core / buildconf Goto Github PK
View Code? Open in Web Editor NEWBootstrapping repository, used to setup a Rock working environment
Bootstrapping repository, used to setup a Rock working environment
Every project writes
The problem there is that this installs also class_loader and a lot of gui stuff.
Even i'm not sure (often) which is needed to build only non-gui orogen librarys.
It would be great to have a easy way (without manually excluding several packages) to separate between orogen-rock-transport-required packages and gui and maybe-optional-core packages like the class-loader.
I don't know howto solve this maybe we can add in a overrides.rb something like ROCK_MINIMAL which makes the disabling easier.
I'd like to make a new ROCK installation using the bootstrap file from the installation tutorial, but I keep getting the following error, is there a known solution for that:
ubuntu@ubuntu:~/dev$ ./bootstrap.sh ruby2.0
Which protocol do you want to use to access rock-core/buildconf.git on github.com? [git|ssh|http] (default: http)
Detected 'gem' to be /usr/bin/gem2.0
Detected bundler at /home/ubuntu/.autoproj/gems/ruby/2.0.0/bin/bundler
Installing autoproj in /home/ubuntu/.autoproj/gems/ruby/2.0.0
[!] There was an error parsing `Gemfile`: no implicit conversion of nil into String. Bundler cannot continue.
# from /home/ubuntu/dev/.autoproj/Gemfile:4
# -------------------------------------------
# gem "utilrb", ">= 3.0.1"
> config_path = File.join(__dir__, 'config.yml')
# if File.file?(config_path)
# -------------------------------------------
FATAL: failed to install autoproj in /home/ubuntu/dev/.autoproj
This is on a brand new Ubuntu 14.04 with newly installed ruby2.0
Ubuntu container creation
docker create ubuntu:18.04
docker run -it ubuntu:18.04 /bin/bash
Rock Installation on Docker container ubuntu 18.04
mkdir rock_dev
cd rock_dev
apt-get update
apt-get install wget ruby ruby-dev
wget http://rock-robotics.org/autoproj_bootstrap
ruby autoproj_bootstrap git [email protected]:rock-core/buildconf.git
Results in
root@42e9ea888239:/rock_dev# ruby autoproj_bootstrap git [email protected]:rock-core/buildconf.git
Detected 'gem' to be /usr/bin/gem2.5
Detected bundler at /root/.local/share/autoproj/gems/ruby/2.5.0/bin/bundle
Installing autoproj in /root/.local/share/autoproj/gems/ruby/2.5.0
[DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local path '/root/.local/share/autoproj/gems'`, and stop using this flag
[DEPRECATED] The `--shebang` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local shebang '/usr/bin/ruby2.5'`, and stop using this flag
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this
application for all non-root users on this machine.
[DEPRECATED] The --binstubs option will be removed in favor of `bundle binstubs --all`
Fetching gem metadata from https://rubygems.org/......
Resolving dependencies...
Using rake 13.0.6
Using concurrent-ruby 1.1.9
Using equatable 0.7.0
Using tty-color 0.5.2
Using bundler 2.2.29
Using necromancer 0.5.1
Using thor 1.1.0
Using tty-screen 0.8.1
Using pastel 0.7.4
Using backports 3.21.0
Using tty-cursor 0.7.1
Fetching ffi 1.15.4
Using wisper 2.0.1
Using xdg 2.2.5
Using facets 3.1.0
Using tty-spinner 0.9.3
Using utilrb 3.0.1
Using tty-reader 0.7.0
Using tty-prompt 0.21.0
Using autobuild 1.22.1
Installing ffi 1.15.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /root/.local/share/autoproj/gems/ruby/2.5.0/gems/ffi-1.15.4/ext/ffi_c
/usr/bin/ruby2.5 -r ./siteconf20211025-3203-1jxhkj4.rb extconf.rb
checking for ffi.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/$(RUBY_BASE_NAME)2.5
--with-ffi_c-dir
--without-ffi_c-dir
--with-ffi_c-include
--without-ffi_c-include=${ffi_c-dir}/include
--with-ffi_c-lib
--without-ffi_c-lib=${ffi_c-dir}/lib
--enable-system-libffi
--disable-system-libffi
--with-libffi-config
--without-libffi-config
--with-pkg-config
--without-pkg-config
/usr/lib/ruby/2.5.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /usr/lib/ruby/2.5.0/mkmf.rb:590:in `try_cpp'
from /usr/lib/ruby/2.5.0/mkmf.rb:1097:in `block in have_header'
from /usr/lib/ruby/2.5.0/mkmf.rb:947:in `block in checking_for'
from /usr/lib/ruby/2.5.0/mkmf.rb:350:in `block (2 levels) in postpone'
from /usr/lib/ruby/2.5.0/mkmf.rb:320:in `open'
from /usr/lib/ruby/2.5.0/mkmf.rb:350:in `block in postpone'
from /usr/lib/ruby/2.5.0/mkmf.rb:320:in `open'
from /usr/lib/ruby/2.5.0/mkmf.rb:346:in `postpone'
from /usr/lib/ruby/2.5.0/mkmf.rb:946:in `checking_for'
from /usr/lib/ruby/2.5.0/mkmf.rb:1096:in `have_header'
from extconf.rb:10:in `system_libffi_usable?'
from extconf.rb:42:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/root/.local/share/autoproj/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0/ffi-1.15.4/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /root/.local/share/autoproj/gems/ruby/2.5.0/gems/ffi-1.15.4 for inspection.
Results logged to /root/.local/share/autoproj/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0/ffi-1.15.4/gem_make.out
/usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:92:in `run'
/usr/lib/ruby/2.5.0/rubygems/ext/ext_conf_builder.rb:46:in `block in build'
/usr/lib/ruby/2.5.0/tempfile.rb:295:in `open'
/usr/lib/ruby/2.5.0/rubygems/ext/ext_conf_builder.rb:30:in `build'
/usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:164:in `block (2 levels) in build_extension'
/usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:163:in `chdir'
/usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:163:in `block in build_extension'
/usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
/usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:162:in `build_extension'
/usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:201:in `block in build_extensions'
/usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:198:in `each'
/usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:198:in `build_extensions'
/usr/lib/ruby/2.5.0/rubygems/installer.rb:791:in `build_extensions'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/rubygems_gem_installer.rb:66:in
`build_extensions'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/rubygems_gem_installer.rb:26:in `install'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/source/rubygems.rb:199:in `install'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/installer/gem_installer.rb:54:in `install'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/installer/parallel_installer.rb:186:in
`do_install'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/installer/parallel_installer.rb:177:in
`block in worker_pool'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/worker.rb:62:in `apply_func'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/worker.rb:57:in `block in process_queue'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/worker.rb:54:in `loop'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/worker.rb:54:in `process_queue'
/root/.local/share/autoproj/gems/ruby/2.5.0/gems/bundler-2.2.29/lib/bundler/worker.rb:91:in `block (2 levels) in
create_threads'
An error occurred while installing ffi (1.15.4), and Bundler cannot continue.
In Gemfile:
autoproj was resolved to 2.15.0, which depends on
rb-inotify was resolved to 0.10.1, which depends on
ffi
FATAL: failed to install autoproj in /rock_dev/.autoproj
Any ideas why this is happening or how it can be solved? Am I missing some system dependencies maybe? Is there a dockerfile for this installation somewhere?
ruby autoproj_bootstrap git [email protected]:rock-core/buildconf.git
source env.sh
aup # default for everything
amake -k
Results in
(0) tools/orocos.rb(/home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orocos.rb): failed in post-install phase
'/usr/bin/ruby2.3 -S rake default' returned status 1
see /home/dfki.uni-bremen.de/afabisch/tmp/rock/install/log/tools/orocos.rb-post-install.log for details
last 10 lines are:
make[1]: *** [CMakeFiles/rorocos.dir/all] Fehler 2
Makefile:127: die Regel für Ziel „all“ scheiterte
make: *** [all] Fehler 2
rake aborted!
Command failed with status (2): [make...]
/home/dfki.uni-bremen.de/afabisch/.autoproj/gems/ruby/2.3.0/gems/rake-compiler-0.8.3/lib/rake/extensiontask.rb:112:in `block (2 levels) in define_compile_tasks'
/home/dfki.uni-bremen.de/afabisch/.autoproj/gems/ruby/2.3.0/gems/rake-compiler-0.8.3/lib/rake/extensiontask.rb:111:in `block in define_compile_tasks'
/home/dfki.uni-bremen.de/afabisch/.autoproj/gems/ruby/2.3.0/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
Tasks: TOP => default => compile => compile:x86_64-linux-gnu => compile:rorocos:x86_64-linux-gnu => copy:rorocos:x86_64-linux-gnu:2.3.1 => tmp/x86_64-linux-gnu/rorocos/2.3.1/rorocos.so
(See full trace by running task with --trace)
(1) tools/logger(/home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/logger): failed in orogen phase
'/usr/bin/ruby2.3 -S /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen --corba --import=std --no-rtt-scripting --parallel-build=8 --transports=corba,mqueue,typelib --type-export-policy=used logger.orogen' returned status 1
see /home/dfki.uni-bremen.de/afabisch/tmp/rock/install/log/tools/logger-orogen.log for details
last 10 lines are:
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/gen/typekit.rb:1330:in `block in resolve_toplevel_include_mapping'
from /usr/lib/ruby/2.3.0/tempfile.rb:295:in `open'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/gen/typekit.rb:1325:in `resolve_toplevel_include_mapping'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/gen/typekit.rb:1409:in `perform_pending_loads'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/gen/project.rb:991:in `task_context'
from logger.orogen:10
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/gen/project.rb:1345:in `load'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen:168:in `block in <main>'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/base.rb:67:in `beautify_loading_errors'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen:158:in `<main>'
(2) base/orogen/types(/home/dfki.uni-bremen.de/afabisch/tmp/rock/base/orogen/types): failed in orogen phase
'/usr/bin/ruby2.3 -S /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen --corba --import=std --no-rtt-scripting --parallel-build=8 --transports=corba,mqueue,typelib --type-export-policy=used base.orogen' returned status 1
see /home/dfki.uni-bremen.de/afabisch/tmp/rock/install/log/base/orogen/types-orogen.log for details
last 10 lines are:
'XDG_SESSION_TYPE'='x11'
'XDG_VTNR'='7'
'XMODIFIERS'='@im'
'_'='/home/dfki.uni-bremen.de/afabisch/tmp/rock/.autoproj/bin/amake'
2017-07-19 17:55:43 +0200: running
/usr/bin/ruby2.3 -S /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen --corba --import=std --no-rtt-scripting --parallel-build=8 --transports=corba,mqueue,typelib --type-export-policy=used base.orogen
in directory /home/dfki.uni-bremen.de/afabisch/tmp/rock/base/orogen/types
/home/dfki.uni-bremen.de/afabisch/tmp/rock/install/lib/ruby/2.3.0/typelib/path.rb:54: warning: circular argument reference - elements
base.orogen:4: a dependency of library 'base-types' is not available: library 'eigen3' could not be found (OroGen::ConfigError)
(3) tools/roby(/home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/roby): failed in post-install phase
'/usr/bin/ruby2.3 -S rake default' returned status 1
see /home/dfki.uni-bremen.de/afabisch/tmp/rock/install/log/tools/roby-post-install.log for details
last 10 lines are:
^
Makefile:207: die Regel für Ziel „dump.o“ scheiterte
make: *** [dump.o] Fehler 1
rake aborted!
Command failed with status (2): [make...]
/home/dfki.uni-bremen.de/afabisch/.autoproj/gems/ruby/2.3.0/gems/rake-compiler-0.8.3/lib/rake/extensiontask.rb:112:in `block (2 levels) in define_compile_tasks'
/home/dfki.uni-bremen.de/afabisch/.autoproj/gems/ruby/2.3.0/gems/rake-compiler-0.8.3/lib/rake/extensiontask.rb:111:in `block in define_compile_tasks'
/home/dfki.uni-bremen.de/afabisch/.autoproj/gems/ruby/2.3.0/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
Tasks: TOP => default => compile => compile:x86_64-linux-gnu => compile:roby_marshalling:x86_64-linux-gnu => copy:roby_marshalling:x86_64-linux-gnu:2.3.1 => tmp/x86_64-linux-gnu/roby_marshalling/2.3.1/roby_marshalling.so
(See full trace by running task with --trace)
(4) drivers/orogen/aggregator(/home/dfki.uni-bremen.de/afabisch/tmp/rock/drivers/orogen/aggregator): failed in orogen phase
'/usr/bin/ruby2.3 -S /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen --corba --import=std --no-rtt-scripting --parallel-build=8 --transports=corba,mqueue,typelib --type-export-policy=used aggregator.orogen' returned status 1
see /home/dfki.uni-bremen.de/afabisch/tmp/rock/install/log/drivers/orogen/aggregator-orogen.log for details
last 10 lines are:
'XDG_SESSION_TYPE'='x11'
'XDG_VTNR'='7'
'XMODIFIERS'='@im'
'_'='/home/dfki.uni-bremen.de/afabisch/tmp/rock/.autoproj/bin/amake'
2017-07-19 17:55:44 +0200: running
/usr/bin/ruby2.3 -S /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen --corba --import=std --no-rtt-scripting --parallel-build=8 --transports=corba,mqueue,typelib --type-export-policy=used aggregator.orogen
in directory /home/dfki.uni-bremen.de/afabisch/tmp/rock/drivers/orogen/aggregator
/home/dfki.uni-bremen.de/afabisch/tmp/rock/install/lib/ruby/2.3.0/typelib/path.rb:54: warning: circular argument reference - elements
aggregator.orogen:4: a dependency of library 'aggregator' is not available: library 'eigen3' could not be found (OroGen::ConfigError)
(5) drivers/orogen/transformer(/home/dfki.uni-bremen.de/afabisch/tmp/rock/drivers/orogen/transformer): failed in orogen phase
'/usr/bin/ruby2.3 -S /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen --corba --import=std --no-rtt-scripting --parallel-build=8 --transports=corba,mqueue,typelib --type-export-policy=used transformer.orogen' returned status 1
see /home/dfki.uni-bremen.de/afabisch/tmp/rock/install/log/drivers/orogen/transformer-orogen.log for details
last 10 lines are:
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/gen/typekit.rb:597:in `map'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/gen/typekit.rb:597:in `export_types'
from transformer.orogen:9
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/gen/project.rb:922:in `instance_eval'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/gen/project.rb:922:in `typekit'
from transformer.orogen:6
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/gen/project.rb:1345:in `load'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen:168:in `block in <main>'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/lib/orogen/base.rb:67:in `beautify_loading_errors'
from /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen:158:in `<main>'
(6) drivers/orogen/iodrivers_base(/home/dfki.uni-bremen.de/afabisch/tmp/rock/drivers/orogen/iodrivers_base): failed in orogen phase
'/usr/bin/ruby2.3 -S /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen --corba --import=std --no-rtt-scripting --parallel-build=8 --transports=corba,mqueue,typelib --type-export-policy=used iodrivers_base.orogen' returned status 1
see /home/dfki.uni-bremen.de/afabisch/tmp/rock/install/log/drivers/orogen/iodrivers_base-orogen.log for details
last 10 lines are:
'XDG_SESSION_TYPE'='x11'
'XDG_VTNR'='7'
'XMODIFIERS'='@im'
'_'='/home/dfki.uni-bremen.de/afabisch/tmp/rock/.autoproj/bin/amake'
2017-07-19 17:55:44 +0200: running
/usr/bin/ruby2.3 -S /home/dfki.uni-bremen.de/afabisch/tmp/rock/tools/orogen/bin/orogen --corba --import=std --no-rtt-scripting --parallel-build=8 --transports=corba,mqueue,typelib --type-export-policy=used iodrivers_base.orogen
in directory /home/dfki.uni-bremen.de/afabisch/tmp/rock/drivers/orogen/iodrivers_base
/home/dfki.uni-bremen.de/afabisch/tmp/rock/install/lib/ruby/2.3.0/typelib/path.rb:54: warning: circular argument reference - elements
iodrivers_base.orogen:5: a dependency of library 'iodrivers_base' is not available: library 'eigen3' could not be found (OroGen::ConfigError)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.