tarpaulin
tarpaulin copied to clipboard
tarpaulin fails linking when ncurses is used
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
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
@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.
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
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
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
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:
Tested on some projects that used ncurses and it worked so going to close this issue