Skip to content

Build error in rust-unit-tests with rustc 1.82.0 #3445

@robgjansen

Description

@robgjansen

There is an error building during the rust-unit-tests test, as follows:

./setup build -cgtj32
./setup test rust-unit-tests

For some reason libremora.a is not getting linked correctly, causing undefined references to retransmit_tally_*. Output is

Start testing: Nov 23 14:41 EST
----------------------------------------------------------
1/208 Testing: rust-unit-tests
1/208 Test: rust-unit-tests
Command: "/usr/bin/bash" "-c" "              SHADOW_VERSION="" RUSTFLAGS="-C force-frame-pointers=y" CFLAGS=" -std=gnu11 -O0 -ggdb -fno-omit-frame-pointer -Wreturn-type -Wswitch -DDEBUG" CXXFLAGS=" -std=c++11 -O0 -ggdb -fno-omit-frame-pointer -Wreturn-type -Wswitch -DDEBUG" CC="/usr/bin/cc" CXX="/usr/bin/c++"             cargo test                                       --manifest-path "/home/rjansen/dev/shadow/src"/Cargo.toml             --target-dir "/home/rjansen/dev/shadow/build/src/target"             --features ""             "
Directory: /home/rjansen/dev/shadow/build/src
"rust-unit-tests" start time: Nov 23 14:41 EST
Output:

...

= note: /usr/bin/ld: /home/rjansen/dev/shadow/build/src/target/debug/build/shadow-rs-8a085ae6b3bd174c/out/libshadow-c.a(134261f062bcde65-tcp.o): in function `_tcp_flush':
          /home/rjansen/dev/shadow/src/main/host/descriptor/tcp.c:1280: undefined reference to `retransmit_tally_num_lost_ranges'
          /usr/bin/ld: /home/rjansen/dev/shadow/src/main/host/descriptor/tcp.c:1284: undefined reference to `retransmit_tally_populate_lost_ranges'
          /usr/bin/ld: /home/rjansen/dev/shadow/src/main/host/descriptor/tcp.c:1298: undefined reference to `retransmit_tally_mark_retransmitted'
          /usr/bin/ld: /home/rjansen/dev/shadow/build/src/target/debug/build/shadow-rs-8a085ae6b3bd174c/out/libshadow-c.a(134261f062bcde65-tcp.o): in function `_tcp_runRetransmitTimerExpiredTask':
          /home/rjansen/dev/shadow/src/main/host/descriptor/tcp.c:1506: undefined reference to `retransmit_tally_clear_retransmitted'
          /usr/bin/ld: /home/rjansen/dev/shadow/src/main/host/descriptor/tcp.c:1508: undefined reference to `retransmit_tally_mark_lost'
          collect2: error: ld returned 1 exit status
          
  = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-link-lib)

error: could not compile `shadow-rs` (lib test) due to 1 previous error
<end of output>
Test time =  40.02 sec
----------------------------------------------------------
Test Failed.
"rust-unit-tests" end time: Nov 23 14:41 EST
"rust-unit-tests" time elapsed: 00:00:40
----------------------------------------------------------

End testing: Nov 23 14:41 EST

Full log file attached.
LastTest.log

Metadata

Metadata

Assignees

Labels

Component: BuildBuild/install tools and dependenciesType: BugError or flaw producing unexpected results

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions