tarpaulin icon indicating copy to clipboard operation
tarpaulin copied to clipboard

tarpaulin fails linking when ncurses is used

Open xMAC94x opened this issue 6 years ago • 6 comments

Hi, we use tarpaulin in our automated build pipeline to validate our code. But we can only run it with cargo tarpaulin --exclude headless

because when we run it with headless: cargo tarpaulin we get the following error.

You can view the error in nice here: https://gitlab.com/veloren/game/-/jobs/80155604 When we execute it on the following commit it is reproduceable every time: https://gitlab.com/veloren/game/commit/d7b36786c2da9db0be8074303b9a45428d09525e

a normal cargo build runs just fine.

the output translates: In Funktion => in function Nicht definierter Verweis auf => Undefined reference to

Do you know what causes the problem ? Do i miss a dependencie requiered by tarpaulin not listed in the install instructions ?

Best regards, marcel

Running with gitlab-runner 11.0.0 (5396d320)
  on veloren 8a95aed8
Using Shell executor...
Running on veloren...
Skipping Git repository setup
Skipping Git checkout
Skipping Git submodules setup
$ if [ -d .git ]; then echo "is git dir"; else git clone $CI_REPOSITORY_URL . ; fi;
is git dir
$ rm -f .git/index.lock
$ rm -f .git/shallow.lock
$ rm -f .git/HEAD.lock
$ rm -f .git/hocks/post-checkout
$ git remote set-url origin $CI_REPOSITORY_URL
$ git fetch origin --prune +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/*
$ git checkout -f -q $CI_COMMIT_SHA
$ git status
HEAD losgelöst bei ab65015
Unversionierte Dateien:
  (benutzen Sie "git add <Datei>...", um die Änderungen zum Commit vorzumerken)

	nightly-debug.tar.bz2
	nightly-release.tar.gz
	nightly-windows-debug.zip
	nightly/
	package-debug.tar.bz2
	package-release.tar.gz
	package-windows-debug.zip
	package-windows-release.zip
	package/
	voxygen/tmp/

nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien (benutzen Sie "git add" zum Versionieren)
$ if [ -d target ]; then ls -la target; fi;
insgesamt 12
drwxrwxr-x  3 gitlab-runner gitlab-runner 4096 Jul  8 03:15 .
drwxrwxr-x 16 gitlab-runner gitlab-runner 4096 Jul  8 03:15 ..
drwxrwxr-x  8 gitlab-runner gitlab-runner 4096 Jul  8 03:17 debug
$ if cargo install --list | grep -q "cargo-tarpaulin"; then echo "tarpaulin already installed"; else RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install cargo-tarpaulin; fi
tarpaulin already installed
$ (cargo tarpaulin)
Building project
warning: unused `#[macro_use]` import
  --> common/src/lib.rs:14:1
   |
14 | #[macro_use]
   | ^^^^^^^^^^^^
   |
   = note: #[warn(unused_imports)] on by default

warning: unused `#[macro_use]` import
  --> common/src/lib.rs:16:1
   |
16 | #[macro_use]
   | ^^^^^^^^^^^^

warning: unused `#[macro_use]` import
  --> common/src/lib.rs:14:1
   |
14 | #[macro_use]
   | ^^^^^^^^^^^^
   |
   = note: #[warn(unused_imports)] on by default

warning: field is never used: `udpmgr`
  --> common/src/net/connection.rs:48:5
   |
48 |     udpmgr: Arc<UdpMgr>,
   |     ^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(dead_code)] on by default

warning: method is never used: `bind_udp`
   --> common/src/net/connection.rs:307:5
    |
307 |     fn bind_udp<T: ToSocketAddrs>(bind_addr: &T) -> Result<UdpSocket, Error> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: field is never used: `recv_thread`
  --> common/src/net/udpmgr.rs:19:5
   |
19 |     recv_thread: JoinHandle<()>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: field is never used: `udpmgr`
  --> common/src/net/connection.rs:48:5
   |
48 |     udpmgr: Arc<UdpMgr>,
   |     ^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(dead_code)] on by default

warning: method is never used: `bind_udp`
   --> common/src/net/connection.rs:307:5
    |
307 |     fn bind_udp<T: ToSocketAddrs>(bind_addr: &T) -> Result<UdpSocket, Error> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: field is never used: `recv_thread`
  --> common/src/net/udpmgr.rs:19:5
   |
19 |     recv_thread: JoinHandle<()>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: function is never used: `tcp_doublerecv`
   --> common/src/net/tests.rs:280:1
    |
280 | fn tcp_doublerecv() {
    | ^^^^^^^^^^^^^^^^^^^

warning: function is never used: `udp_pingpong_2clients_negative`
   --> common/src/net/tests.rs:465:1
    |
465 | fn udp_pingpong_2clients_negative() {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: variant is never constructed: `Touch`
  --> region/src/collision.rs:11:5
   |
11 |     Touch { point: Vec3<f64> },
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(dead_code)] on by default

warning: variant is never constructed: `Overlap`
  --> region/src/collision.rs:12:5
   |
12 |     Overlap { point: Vec3<f64>, correction: Vec3<f64>}, //correction = movement of the second parameter to touch the first parameter
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: variant is never constructed: `Cuboid`
  --> region/src/collision.rs:17:5
   |
17 |     Cuboid { cuboid: Cuboid },
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: function is never used: `resolve_collision`
  --> region/src/collision.rs:21:1
   |
21 | pub fn resolve_collision(a: &Collidable, b: &Collidable) -> Option<CollisionResolution> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `new`
  --> region/src/collision.rs:34:5
   |
34 |     pub fn new(middle: Vec3<f64>, radius: Vec3<f64>) -> Self {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: function is never used: `cuboid_cuboid_col`
  --> region/src/collision.rs:55:1
   |
55 | fn cuboid_cuboid_col(a: &Cuboid, b: &Cuboid) -> Option<CollisionResolution> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `region::Chunk`
  --> world/src/lib.rs:11:5
   |
11 | use region::Chunk;
   |     ^^^^^^^^^^^^^
   |
   = note: #[warn(unused_imports)] on by default

warning: constant item is never used: `CHUNKS_PER_TRACT`
 --> world/src/map.rs:6:1
  |
6 | const CHUNKS_PER_TRACT: i32 = 16;
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: #[warn(dead_code)] on by default

warning: field is never used: `seed`
  --> world/src/map.rs:35:5
   |
35 |     seed: u32,
   |     ^^^^^^^^^

warning: unused import: `region::Chunk`
  --> world/src/lib.rs:11:5
   |
11 | use region::Chunk;
   |     ^^^^^^^^^^^^^
   |
   = note: #[warn(unused_imports)] on by default

warning: constant item is never used: `CHUNKS_PER_TRACT`
 --> world/src/map.rs:6:1
  |
6 | const CHUNKS_PER_TRACT: i32 = 16;
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: #[warn(dead_code)] on by default

warning: field is never used: `seed`
  --> world/src/map.rs:35:5
   |
35 |     seed: u32,
   |     ^^^^^^^^^

warning: unused `#[macro_use]` import
  --> server/src/lib.rs:10:1
   |
10 | #[macro_use] extern crate pretty_env_logger;
   | ^^^^^^^^^^^^
   |
   = note: #[warn(unused_imports)] on by default

warning: field is never used: `config`
  --> server/src/server_context.rs:22:5
   |
22 |     config: Option<PartialConfig>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(dead_code)] on by default

warning: field is never used: `listener_thread_handle`
  --> server/src/server_context.rs:25:5
   |
25 |     listener_thread_handle: Option<JoinHandle<()>>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: field is never used: `listen_thread_handle`
  --> server/src/session.rs:26:5
   |
26 |     listen_thread_handle: Option<JoinHandle<()>>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused `#[macro_use]` import
  --> server/src/lib.rs:10:1
   |
10 | #[macro_use] extern crate pretty_env_logger;
   | ^^^^^^^^^^^^
   |
   = note: #[warn(unused_imports)] on by default

warning: unused `#[macro_use]` import
 --> voxygen/src/main.rs:4:1
  |
4 | #[macro_use]
  | ^^^^^^^^^^^^
  |
  = note: #[warn(unused_imports)] on by default

warning: unused `#[macro_use]` import
  --> voxygen/src/main.rs:17:1
   |
17 | #[macro_use] extern crate toml;
   | ^^^^^^^^^^^^

warning: unused import: `std::collections::HashMap`
 --> voxygen/src/game.rs:9:5
  |
9 | use std::collections::HashMap;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `convert`, `dot`
  --> voxygen/src/game.rs:16:59
   |
16 | use nalgebra::{Vector2, Vector3, Translation3, Rotation3, convert, dot};
   |                                                           ^^^^^^^  ^^^

warning: unused import: `VirtualKeyCode`
  --> voxygen/src/game.rs:18:28
   |
18 | use glutin::{ElementState, VirtualKeyCode};
   |                            ^^^^^^^^^^^^^^

warning: unused import: `Value`
 --> voxygen/src/keybinds.rs:1:18
  |
1 | use toml::{self, Value};
  |                  ^^^^^

warning: unused import: `serde_derive`
 --> voxygen/src/keybinds.rs:3:5
  |
3 | use serde_derive;
  |     ^^^^^^^^^^^^

warning: unused import: `self`
 --> voxygen/src/keybinds.rs:5:15
  |
5 | use std::fs::{self, File};
  |               ^^^^

warning: unused imports: `SeekFrom`, `Seek`
 --> voxygen/src/keybinds.rs:6:34
  |
6 | use std::io::{self, Read, Write, Seek, SeekFrom};
  |                                  ^^^^  ^^^^^^^^

warning: unused imports: `Constants`, `ModelObject`
  --> voxygen/src/vox.rs:11:20
   |
11 | use model_object::{ModelObject, Constants};
   |                    ^^^^^^^^^^^  ^^^^^^^^^

warning: unused imports: `Model`, `Voxel`
  --> voxygen/src/vox.rs:12:27
   |
12 | use dot_vox::{DotVoxData, Model, Voxel};
   |                           ^^^^^  ^^^^^

warning: unused imports: `Borderable`, `Scalar`, `Sizeable`, `UiCell`, `render::Primitives`, `triangles::Triangle`, `widget::Id as wid`
  --> voxygen/src/ui.rs:8:9
   |
8  |         triangles::Triangle,
   |         ^^^^^^^^^^^^^^^^^^^
...
11 |     render::Primitives,
   |     ^^^^^^^^^^^^^^^^^^
12 |     Colorable,
13 |     Sizeable,
   |     ^^^^^^^^
14 |     Positionable,
15 |     Borderable,
   |     ^^^^^^^^^^
16 |     Scalar,
   |     ^^^^^^
17 |     UiCell,
   |     ^^^^^^
18 |     widget::Id as wid,
   |     ^^^^^^^^^^^^^^^^^

warning: field is never used: `config`
  --> server/src/server_context.rs:22:5
   |
22 |     config: Option<PartialConfig>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(dead_code)] on by default

warning: field is never used: `listener_thread_handle`
  --> server/src/server_context.rs:25:5
   |
25 |     listener_thread_handle: Option<JoinHandle<()>>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: field is never used: `listen_thread_handle`
  --> server/src/session.rs:26:5
   |
26 |     listen_thread_handle: Option<JoinHandle<()>>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused variable: `data`
   --> voxygen/src/game.rs:112:25
    |
112 |                     let data = self.data.lock().unwrap();
    |                         ^^^^ help: consider using `_data` instead
    |
    = note: #[warn(unused_variables)] on by default

warning: unused variable: `mount`
   --> voxygen/src/game.rs:130:25
    |
130 |                     let mount = &self.keys.mount;
    |                         ^^^^^ help: consider using `_mount` instead

warning: unused variable: `pos`
   --> voxygen/src/game.rs:210:14
    |
210 |         for (pos, vol) in self.client.chunk_mgr().volumes().iter() {
    |              ^^^ help: consider using `_pos` instead

warning: unused variable: `chunk`
   --> voxygen/src/game.rs:211:41
    |
211 |             if let VolState::Exists(ref chunk, ref mut payload) = *vol.write().unwrap() {
    |                                         ^^^^^ help: consider using `_chunk` instead

warning: unused variable: `camera_ori`
   --> voxygen/src/game.rs:233:13
    |
233 |         let camera_ori = self.camera.lock().unwrap().ori();
    |             ^^^^^^^^^^ help: consider using `_camera_ori` instead

warning: unused variable: `chunk`
   --> voxygen/src/game.rs:236:41
    |
236 |             if let VolState::Exists(ref chunk, ref payload) = *vol.read().unwrap() {
    |                                         ^^^^^ help: consider using `_chunk` instead

warning: field is never used: `verts`
  --> voxygen/src/mesh.rs:15:5
   |
15 |     verts: [Vertex; 3],
   |     ^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(dead_code)] on by default

warning: method is never used: `new`
  --> voxygen/src/mesh.rs:19:5
   |
19 |     pub fn new(v0: Vertex, v1: Vertex, v2: Vertex) -> Poly {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `new`
  --> voxygen/src/mesh.rs:32:5
   |
32 |     pub fn new(v0: Vertex, v1: Vertex, v2: Vertex, v3: Vertex) -> Quad {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `add_polys`
   --> voxygen/src/mesh.rs:183:5
    |
183 |     pub fn add_polys(&mut self, polys: &[Poly]) {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: field is never used: `program`
 --> voxygen/src/pipeline.rs:6:5
  |
6 |     program: Program<gfx_device_gl::Resources>,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused attribute
 --> voxygen/src/keybinds.rs:2:1
  |
2 | #[macro_use]
  | ^^^^^^^^^^^^
  |
  = note: #[warn(unused_attributes)] on by default

warning: unused `std::result::Result` which must be used
  --> voxygen/src/keybinds.rs:54:9
   |
54 |         Keybinds::write_to(&keys);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(unused_must_use)] on by default
   = note: this `Result` may be an `Err` variant, which should be handled

warning: structure field `conrodRenderer` should have a snake case name such as `conrod_renderer`
  --> voxygen/src/ui.rs:35:5
   |
35 |     conrodRenderer: ConrodRenderer<'static, ui_resources>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(non_snake_case)] on by default

warning: variable `conrodRenderer` should have a snake case name such as `conrod_renderer`
  --> voxygen/src/ui.rs:52:13
   |
52 |         let conrodRenderer = ConrodRenderer::new(&mut factory, &color_view , 1.0).unwrap();
   |             ^^^^^^^^^^^^^^

warning: unused `#[macro_use]` import
 --> voxygen/src/main.rs:4:1
  |
4 | #[macro_use]
  | ^^^^^^^^^^^^
  |
  = note: #[warn(unused_imports)] on by default

warning: unused `#[macro_use]` import
  --> voxygen/src/main.rs:17:1
   |
17 | #[macro_use] extern crate toml;
   | ^^^^^^^^^^^^

warning: unused import: `std::collections::HashMap`
 --> voxygen/src/game.rs:9:5
  |
9 | use std::collections::HashMap;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `convert`, `dot`
  --> voxygen/src/game.rs:16:59
   |
16 | use nalgebra::{Vector2, Vector3, Translation3, Rotation3, convert, dot};
   |                                                           ^^^^^^^  ^^^

warning: unused import: `VirtualKeyCode`
  --> voxygen/src/game.rs:18:28
   |
18 | use glutin::{ElementState, VirtualKeyCode};
   |                            ^^^^^^^^^^^^^^

warning: unused import: `Value`
 --> voxygen/src/keybinds.rs:1:18
  |
1 | use toml::{self, Value};
  |                  ^^^^^

warning: unused import: `serde_derive`
 --> voxygen/src/keybinds.rs:3:5
  |
3 | use serde_derive;
  |     ^^^^^^^^^^^^

warning: unused import: `self`
 --> voxygen/src/keybinds.rs:5:15
  |
5 | use std::fs::{self, File};
  |               ^^^^

warning: unused imports: `SeekFrom`, `Seek`
 --> voxygen/src/keybinds.rs:6:34
  |
6 | use std::io::{self, Read, Write, Seek, SeekFrom};
  |                                  ^^^^  ^^^^^^^^

warning: unused imports: `Constants`, `ModelObject`
  --> voxygen/src/vox.rs:11:20
   |
11 | use model_object::{ModelObject, Constants};
   |                    ^^^^^^^^^^^  ^^^^^^^^^

warning: unused imports: `Model`, `Voxel`
  --> voxygen/src/vox.rs:12:27
   |
12 | use dot_vox::{DotVoxData, Model, Voxel};
   |                           ^^^^^  ^^^^^

warning: unused imports: `Borderable`, `Scalar`, `Sizeable`, `UiCell`, `render::Primitives`, `triangles::Triangle`, `widget::Id as wid`
  --> voxygen/src/ui.rs:8:9
   |
8  |         triangles::Triangle,
   |         ^^^^^^^^^^^^^^^^^^^
...
11 |     render::Primitives,
   |     ^^^^^^^^^^^^^^^^^^
12 |     Colorable,
13 |     Sizeable,
   |     ^^^^^^^^
14 |     Positionable,
15 |     Borderable,
   |     ^^^^^^^^^^
16 |     Scalar,
   |     ^^^^^^
17 |     UiCell,
   |     ^^^^^^
18 |     widget::Id as wid,
   |     ^^^^^^^^^^^^^^^^^

warning: unused variable: `data`
   --> voxygen/src/game.rs:112:25
    |
112 |                     let data = self.data.lock().unwrap();
    |                         ^^^^ help: consider using `_data` instead
    |
    = note: #[warn(unused_variables)] on by default

warning: unused variable: `mount`
   --> voxygen/src/game.rs:130:25
    |
130 |                     let mount = &self.keys.mount;
    |                         ^^^^^ help: consider using `_mount` instead

warning: unused variable: `pos`
   --> voxygen/src/game.rs:210:14
    |
210 |         for (pos, vol) in self.client.chunk_mgr().volumes().iter() {
    |              ^^^ help: consider using `_pos` instead

warning: unused variable: `chunk`
   --> voxygen/src/game.rs:211:41
    |
211 |             if let VolState::Exists(ref chunk, ref mut payload) = *vol.write().unwrap() {
    |                                         ^^^^^ help: consider using `_chunk` instead

warning: unused variable: `camera_ori`
   --> voxygen/src/game.rs:233:13
    |
233 |         let camera_ori = self.camera.lock().unwrap().ori();
    |             ^^^^^^^^^^ help: consider using `_camera_ori` instead

warning: unused variable: `chunk`
   --> voxygen/src/game.rs:236:41
    |
236 |             if let VolState::Exists(ref chunk, ref payload) = *vol.read().unwrap() {
    |                                         ^^^^^ help: consider using `_chunk` instead

warning: field is never used: `verts`
  --> voxygen/src/mesh.rs:15:5
   |
15 |     verts: [Vertex; 3],
   |     ^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(dead_code)] on by default

warning: method is never used: `new`
  --> voxygen/src/mesh.rs:19:5
   |
19 |     pub fn new(v0: Vertex, v1: Vertex, v2: Vertex) -> Poly {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `new`
  --> voxygen/src/mesh.rs:32:5
   |
32 |     pub fn new(v0: Vertex, v1: Vertex, v2: Vertex, v3: Vertex) -> Quad {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `add_polys`
   --> voxygen/src/mesh.rs:183:5
    |
183 |     pub fn add_polys(&mut self, polys: &[Poly]) {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: field is never used: `program`
 --> voxygen/src/pipeline.rs:6:5
  |
6 |     program: Program<gfx_device_gl::Resources>,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused attribute
 --> voxygen/src/keybinds.rs:2:1
  |
2 | #[macro_use]
  | ^^^^^^^^^^^^
  |
  = note: #[warn(unused_attributes)] on by default

warning: unused `std::result::Result` which must be used
  --> voxygen/src/keybinds.rs:54:9
   |
54 |         Keybinds::write_to(&keys);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(unused_must_use)] on by default
   = note: this `Result` may be an `Err` variant, which should be handled

warning: structure field `conrodRenderer` should have a snake case name such as `conrod_renderer`
  --> voxygen/src/ui.rs:35:5
   |
35 |     conrodRenderer: ConrodRenderer<'static, ui_resources>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(non_snake_case)] on by default

warning: variable `conrodRenderer` should have a snake case name such as `conrod_renderer`
  --> voxygen/src/ui.rs:52:13
   |
52 |         let conrodRenderer = ConrodRenderer::new(&mut factory, &color_view , 1.0).unwrap();
   |             ^^^^^^^^^^^^^^

error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless0.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless1.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless10.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless11.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless12.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless13.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless14.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless15.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless2.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless3.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless4.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless5.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless6.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless7.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless8.rcgu.o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.headless9.rcgu.o" "-o" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/headless-c79fa16c0ef4f6c9.crate.allocator.rcgu.o" "-no-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "-L" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-044121a3ee9ec9c8.rlib" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-a530b4df1f6b087a.rlib" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-ebaa9330e19ad094.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libpretty_env_logger-26836c58a4208f21.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libenv_logger-6f4c46e020fb2e57.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libregex-3a84fdf65f46b255.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libutf8_ranges-21890292169ed5fe.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libregex_syntax-b80f0abb247d1ef8.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libucd_util-86bb1f85c02780c6.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libthread_local-d7f33db35c1a054b.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libunreachable-9d4dbd78ab60f906.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libvoid-74409c25fe21f0ed.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libaho_corasick-c87becb31cbb0a82.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libmemchr-d7b3e51d78c8967c.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libatty-f95f823bd0ebba51.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libhumantime-8bb8997f1aafd5f3.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libquick_error-b630b4a53128fff3.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libtermcolor-916b711b446b7412.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libansi_term-f81aac66bf43b73e.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libsyrup-c0cafcbbc9864ab6.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libpancurses-0a07b31af4690248.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libncurses-61967255f9d7d996.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/liblog-ce4978c4357f45e9.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libclient-9b4298d51aa4cb4f.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libregion-aca44caa2e605f12.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libthreadpool-b83a278f46303f43.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnoise-e8fc16853f8edaaa.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/librand-27ebefe65ec00d20.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libimage-ec12b590801241fa.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libscoped_threadpool-95a8eef920db3b51.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libgif-d218fc35fb739c29.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libcolor_quant-dc7ff192cf550d31.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/liblzw-c59309891dbdcc8b.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libjpeg_decoder-6bb03ab679da5508.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/librayon-e458627bd4a2c0b6.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libeither-98e161dd8996b6e4.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/librayon_core-5f6261076ab12a6a.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnum_cpus-5f60faeedbf76267.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libcrossbeam_deque-fd1b936f7174c361.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libcrossbeam_epoch-f84eaab232c0797d.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libscopeguard-4154d8cde4d8da5d.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libmemoffset-1d8862c3171e7b65.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libcrossbeam_utils-9b49c2ec5cbfcc06.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libarrayvec-b481e1acd4de5dd9.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnodrop-2c0d0c19e1fb2355.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libpng-e0f7671f8ed4bb5a.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libdeflate-d7049d94ef08aa41.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libinflate-73f35a3f798ec01a.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libadler32-c7a6c62c124a04f3.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libbitflags-fecd27bd0490a3ac.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libenum_primitive-1a9bf05544d55069.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnum_traits-24294db0fba6a9b0.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libenum_map-e8f15b39ad920c55.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libreexport_proc_macro-f34548cb770c94e9.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libarray_macro-b6253816a1dd9cfb.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libcommon-c36232ef9ef09be0.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/liblazy_static-0ce3d644fc65e3c3.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libtime-d49c13301c18158d.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnalgebra-d7bf028e633ce572.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libalga-2f54919a9eb591d4.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/librand-c2ec51103b22d2b2.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/librand_core-bf38e97136d86210.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnum_complex-f29bd66d3c7b1e6c.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libmatrixmultiply-a0d6e3aecd2066ee.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/librawpointer-91553579dfdebadf.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libgeneric_array-7da82799ec15ba56.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libtypenum-eeb8cf357f77752a.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libapprox-87e5bf4449ea14b4.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libget_if_addrs-6cbdf44c041fac73.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libc_linked_list-5c33edc860f45bda.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libbincode-abd4e1a6b17cde48.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libbyteorder-59265678c27085d7.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libcoord-423c8149f2cc18c8.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libserde-7833e005f26c8bb1.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnum-05123f271b93edd0.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnum_rational-063c0543f7b5001b.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnum_bigint-6bcdf12ac499a322.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/librand-48ffaac416d7eda9.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/liblibc-01895752e712e71f.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnum_complex-42582272770e63eb.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/librustc_serialize-0124414100773f77.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnum_iter-4f7da150ffca4671.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnum_integer-2d3400d7e7b82f6a.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libnum_traits-2936b2a3e6487540.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/liblog-f28e66f90ffca45f.rlib" "/home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libcfg_if-3fcdcec39c5b9115.rlib" "-Wl,--start-group" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f9776412ae7aa499.rlib" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-54f5e90b6163277a.rlib" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc_jemalloc-d38cd88231d191e3.rlib" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-d632067cea94a522.rlib" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc_system-942a13ea54bd0c51.rlib" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-971850e38acc5f31.rlib" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-e8760697e58c0b14.rlib" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-fb37a4ea1db1e473.rlib" "-Wl,--end-group" "/home/gitlab-runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-3d06b32e587d2669.rlib" "-Wl,-Bdynamic" "-l" "ncurses" "-l" "tinfo" "-l" "util" "-l" "util" "-l" "dl" "-l" "rt" "-l" "pthread" "-l" "pthread" "-l" "gcc_s" "-l" "c" "-l" "m" "-l" "rt" "-l" "pthread" "-l" "util" "-l" "util"
  = note: /home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libncurses-61967255f9d7d996.rlib(ncurses-61967255f9d7d996.ncurses0.rcgu.o): In Funktion `ncurses::get_wch::hf9ff9aa00408c14f':
          /home/gitlab-runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ncurses-5.93.0/src/lib.rs:323: Nicht definierter Verweis auf `get_wch'
          /home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libncurses-61967255f9d7d996.rlib(ncurses-61967255f9d7d996.ncurses0.rcgu.o): In Funktion `ncurses::mvget_wch::h149e6bc381a58487':
          /home/gitlab-runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ncurses-5.93.0/src/lib.rs:340: Nicht definierter Verweis auf `mvget_wch'
          /home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libncurses-61967255f9d7d996.rlib(ncurses-61967255f9d7d996.ncurses0.rcgu.o): In Funktion `ncurses::wget_wch::hcdd07ece205f29f8':
          /home/gitlab-runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ncurses-5.93.0/src/lib.rs:357: Nicht definierter Verweis auf `wget_wch'
          /home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libncurses-61967255f9d7d996.rlib(ncurses-61967255f9d7d996.ncurses0.rcgu.o): In Funktion `ncurses::mvwget_wch::h3638ccdcb1f15be0':
          /home/gitlab-runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ncurses-5.93.0/src/lib.rs:374: Nicht definierter Verweis auf `mvwget_wch'
          /home/gitlab-runner/builds/8a95aed8/0/veloren/game/target/debug/deps/libncurses-61967255f9d7d996.rlib(ncurses-61967255f9d7d996.ncurses0.rcgu.o): In Funktion `ncurses::unget_wch::h6dcde343a47b99b5':
          /home/gitlab-runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ncurses-5.93.0/src/lib.rs:390: Nicht definierter Verweis auf `unget_wch'
          collect2: error: ld returned 1 exit status
          

error: aborting due to previous error

Error during run
ERROR: Job failed: exit status 1

xMAC94x avatar Jul 08 '18 09:07 xMAC94x

I'll have to look into it but this is a linking problems when attempting to build your project. Might be a path issue or something in how tarpaulin triggers a build. I'll look into it and let you know

xd009642 avatar Jul 08 '18 17:07 xd009642

@yodaldevoid Another linker issue if you're interested :wink:

EDIT: Seems that there's issue with projects that use the [lib] tag in the Cargo.toml to link to a C library where those externally defined functions can't be found.

xd009642 avatar Jul 12 '18 18:07 xd009642

Okay so I've traced the issue the linker arg -wL as-needed conflicts with -C link-dead-code that tarpaulin uses to ensure functions that are never called are included in the coverage results.

I've gone down to ncurses-rs and the flag isn't mentioned anywhere so I'm currently thinking it may be something in how cargo handles things under the [lib] heading. Going to dig down further into it but figured I'd keep you updated

xd009642 avatar Jul 17 '18 19:07 xd009642

In case it's of any use in debugging this, it happens as you said with other C binding rust libraries like xz2:

https://travis-ci.org/aschampion/rust-n5/jobs/438090581#L1296-L1303

aschampion avatar Oct 06 '18 20:10 aschampion

Also experiencing this issue, this is preventing me from using tarpaulin at the moment :( using https://crates.io/crates/gcrypt I'll try and come up with a barebone example

sharksforarms avatar Sep 06 '19 00:09 sharksforarms

I've changed some stuff in the develop branch which might impact this issue. I'm just looking to test it so if anyone remembers seeing it on a recent project if you can shoot me a link otherwise I'll try and just recreate it again. I did try on rust-n5 with xz2 feature enabled and it worked though :eyes:

xd009642 avatar Nov 09 '20 23:11 xd009642

Tested on some projects that used ncurses and it worked so going to close this issue

xd009642 avatar Nov 20 '22 14:11 xd009642