An attempt to install golem in the VM ends with an error caused by rustc being too old. The configure.yml playbook apparently installs rustc 1.24 from the main repositories while testing has 1.31. That's weird because we have recently modified the playbook to install it from testing: #307.
Reproducing the problem
I install golem in a fresh VM this way:
cd concent-vm/
vagrant up
ansible-playbook install-golem.yml \
--extra-vars golem_version=develop \
--private-key .vagrant/machines/default/virtualbox/private_key \
--user vagrant \
--inventory inventory
The output from install-golem.yml ends with:
TASK [Run setup.py develop] **********************************************************************************************************************************************
fatal: [concent-vm]: FAILED! => {
"changed": true,
"cmd": "~/golem_virtualenv/bin/python setup.py develop",
"delta": "0:00:01.517685",
"end": "2019-01-28 12:44:31.120656",
"rc": 1,
"start": "2019-01-28 12:44:29.602971"
}
STDOUT:
Task Collector already built
running develop
running egg_info
writing golem.egg-info/PKG-INFO
writing dependency_links to golem.egg-info/dependency_links.txt
writing entry points to golem.egg-info/entry_points.txt
writing requirements to golem.egg-info/requires.txt
writing top-level names to golem.egg-info/top_level.txt
reading manifest file 'golem.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'golem.egg-info/SOURCES.txt'
running build_ext
running build_rust
STDERR:
Dynamically determined version: 0.18.3+dev842.g90930bb
warning: no files found matching 'golem/ethereum/genesis_golem.json'
warning: no files found matching 'golem/ethereum/mine_pending_transactions.js'
warning: no files found matching '*.jpg' under directory 'apps'
warning: no files found matching '*.lxs' under directory 'apps'
warning: no files found matching '*.ply' under directory 'apps'
warning: no files found matching '*.lxo' under directory 'apps'
warning: no files found matching '*.lxm' under directory 'apps'
warning: no files found matching '*.lxv' under directory 'apps'
Fresh ucd-util v0.1.3
Fresh cfg-if v0.1.6
Fresh utf8-ranges v1.0.2
Fresh version_check v0.1.5
Fresh lazy_static v1.2.0
Fresh regex-syntax v0.6.4
Fresh thread_local v0.3.6
Fresh num-traits v0.2.6
Fresh libc v0.2.44
Fresh memchr v2.1.1
Fresh aho-corasick v0.6.9
Fresh regex v1.1.0
Fresh python3-sys v0.2.1
Fresh cpython v0.2.1
Compiling pyext-golem v0.1.0 (file:///home/vagrant/golem/rust/golem)
Running `rustc --crate-name golem src/lib.rs --crate-type dylib --emit=dep-info,link -C opt-level=3 --crate-type cdylib --cfg 'feature="cpython"' -C metadata=1bc28f5d1a0f6018 --out-dir /home/vagrant/golem/rust/golem/target/release/deps -L dependency=/home/vagrant/golem/rust/golem/target/release/deps --extern cpython=/home/vagrant/golem/rust/golem/target/release/deps/libcpython-1269f582d7da01fd.rlib`
error[E0046]: not all trait items implemented, missing: `description`
--> src/os/error.rs:17:1
|
17 | impl Error for OSError {}
| ^^^^^^^^^^^^^^^^^^^^^^ missing `description` in implementation
|
= note: `description` from trait: `fn(&Self) -> &str`
error: aborting due to previous error
error: Could not compile `pyext-golem`.
Caused by:
process didn't exit successfully: `rustc --crate-name golem src/lib.rs --crate-type dylib --emit=dep-info,link -C opt-level=3 --crate-type cdylib --cfg feature="cpython" -C metadata=1bc28f5d1a0f6018 --out-dir /home/vagrant/golem/rust/golem/target/release/deps -L dependency=/home/vagrant/golem/rust/golem/target/release/deps --extern cpython=/home/vagrant/golem/rust/golem/target/release/deps/libcpython-1269f582d7da01fd.rlib` (exit code: 101)
cargo rustc --lib --manifest-path rust/golem/Cargo.toml --features cpython/extension-module cpython/python3-sys --release --verbose -- --crate-type cdylib
error: cargo failed with code: 101
When you log into the machine you can see that rustc is installed but is in version 1.24
dpkg -s rustc | grep Version
Version: 1.24.1+dfsg1-1~deb9u4
And it's possible to install 1.31 from testing manually:
apt-get install rustc -t testing
The following additional packages will be installed:
libllvm7 libstd-rust-1.31 libstd-rust-dev
An attempt to install golem in the VM ends with an error caused by
rustc
being too old. Theconfigure.yml
playbook apparently installsrustc
1.24 from the main repositories whiletesting
has 1.31. That's weird because we have recently modified the playbook to install it fromtesting
: #307.Reproducing the problem
I install golem in a fresh VM this way:
The output from
install-golem.yml
ends with:When you log into the machine you can see that
rustc
is installed but is in version 1.24And it's possible to install 1.31 from
testing
manually: