Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tarpaulin fails linking when ncurses is used #126

Closed
xMAC94x opened this issue Jul 8, 2018 · 7 comments
Closed

tarpaulin fails linking when ncurses is used #126

xMAC94x opened this issue Jul 8, 2018 · 7 comments

Comments

@xMAC94x
Copy link
Contributor

xMAC94x commented Jul 8, 2018

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
@xd009642
Copy link
Owner

xd009642 commented Jul 8, 2018

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
Copy link
Owner

xd009642 commented Jul 12, 2018

@yodaldevoid Another linker issue if you're interested 😉

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
Copy link
Owner

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

@aschampion
Copy link
Contributor

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

@sharksforarms
Copy link

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

@xd009642
Copy link
Owner

xd009642 commented Nov 9, 2020

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 👀

@xd009642
Copy link
Owner

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants