[tor-bugs] #25977 [Core Tor/Tor]: Cross-compiling tor rust for macOS is broken

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Apr 30 14:46:03 UTC 2018


#25977: Cross-compiling tor rust for macOS is broken
------------------------------+--------------------
     Reporter:  gk            |      Owner:  (none)
         Type:  defect        |     Status:  new
     Priority:  Medium        |  Milestone:
    Component:  Core Tor/Tor  |    Version:
     Severity:  Normal        |   Keywords:  rust
Actual Points:                |  Parent ID:  #25779
       Points:                |   Reviewer:
      Sponsor:                |
------------------------------+--------------------
 Using our cross-compile setup for compiling tor with Rust support for
 macOS results in a build failure. It seems the macOS cross-compile Rust
 support is missing:
 {{{
   CCLD     src/tools/tor-resolve
 /var/tmp/dist/macosx-toolchain/cctools/bin/x86_64-apple-darwin10-ranlib:
 file: src/or/libtor.a(protover.o) has no symbols
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
 /var/tmp/dist/macosx-toolchain/cctools/bin/x86_64-apple-darwin10-ranlib:
 file: src/or/libtor-testing.a(src_or_libtor_testing_a-protover.o) has no
 symbols
 x86_64-apple-darwin10-ranlib: file: src/or/libtor.a(protover.o) has no
 symbols
   CCLD     src/test/test-child
   CCLD     src/test/test-switch-id
 x86_64-apple-darwin10-ranlib: file: src/or/libtor-testing.a
 (src_or_libtor_testing_a-protover.o) has no symbols
   CCLD     src/test/test-timers
   CCLD     src/test/test-ntor-cl
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
   CCLD     src/test/test-hs-ntor-cl
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
   CCLD     src/test/test-bt-cl
   CCLD     src/test/fuzz/fuzz-consensus
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
   CCLD     src/test/fuzz/fuzz-descriptor
   CCLD     src/test/fuzz/fuzz-diff
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
   CCLD     src/test/fuzz/fuzz-diff-apply
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
   CCLD     src/test/fuzz/fuzz-extrainfo
   CCLD     src/test/fuzz/fuzz-hsdescv2
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
   CCLD     src/test/fuzz/fuzz-hsdescv3
   CCLD     src/test/fuzz/fuzz-http
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
   CCLD     src/test/fuzz/fuzz-http-connect
   CCLD     src/test/fuzz/fuzz-iptsv2
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
 ld: warning: ignoring file ./src/rust/target/release/libtor_rust.a, file
 was built for archive which is not the architecture being linked (x86_64)
 Undefined symbols for architecture x86_64:
   "_protocol_list_supports_protocol_or_later", referenced from:
       _summarize_protover_flags in libtor-testing.a
 (src_or_libtor_testing_a-routerparse.o)
   "_protocol_list_supports_protocol", referenced from:
       _summarize_protover_flags in libtor-testing.a
 (src_or_libtor_testing_a-routerparse.o)
 ld: symbol(s) not found for architecture x86_64
 clang-3.8: error: linker command failed with exit code 1 (use -v to see
 invocation)
 Makefile:4715: recipe for target 'src/test/fuzz/fuzz-descriptor' failed
 make[1]: *** [src/test/fuzz/fuzz-descriptor] Error 1
 make[1]: *** Waiting for unfinished jobs....
 Undefined symbols for architecture x86_64:
   "_protocol_list_supports_protocol_or_later", referenced from:
       _summarize_protover_flags in libtor-testing.a
 (src_or_libtor_testing_a-routerparse.o)
   "_protocol_list_supports_protocol", referenced from:
       _summarize_protover_flags in libtor-testing.a
 (src_or_libtor_testing_a-routerparse.o)
 ld: symbol(s) not found for architecture x86_64
 clang-3.8: error: linker command failed with exit code 1 (use -v to see
 invocation)
 Makefile:4705: recipe for target 'src/test/fuzz/fuzz-consensus' failed
 make[1]: *** [src/test/fuzz/fuzz-consensus] Error 1
 Undefined symbols for architecture x86_64:
   "_protover_get_supported_protocols", referenced from:
       _router_build_fresh_descriptor in libtor-testing.a
 (src_or_libtor_testing_a-router.o)
   "_protocol_list_supports_protocol_or_later", referenced from:
 Undefined symbols for architecture x86_64:
   "_protover_get_supported_protocols", referenced from:
       _router_build_fresh_descriptor in libtor-testing.a
 (src_or_libtor_testing_a-router.o)
       _summarize_protover_flags in libtor-testing.a
 (src_or_libtor_testing_a-routerparse.o)
   "_protover_all_supported", referenced from:
       _handle_missing_protocol_warning_impl in libtor-testing.a
 (src_or_libtor_testing_a-networkstatus.o)
   "_protocol_list_supports_protocol_or_later", referenced from:
       _summarize_protover_flags in libtor-testing.a
 (src_or_libtor_testing_a-routerparse.o)
   "_protocol_list_supports_protocol", referenced from:
   "_protover_all_supported", referenced from:
       _summarize_protover_flags in libtor-testing.a
 (src_or_libtor_testing_a-routerparse.o)
       _handle_missing_protocol_warning_impl in libtor-testing.a
 (src_or_libtor_testing_a-networkstatus.o)
   "_protocol_list_supports_protocol", referenced from:
 ld: symbol(s) not found for architecture x86_64
       _summarize_protover_flags in libtor-testing.a
 (src_or_libtor_testing_a-routerparse.o)
 clang-3.8: error: linker command failed with exit code 1 (use -v to see
 invocation)
 Makefile:4785: recipe for target 'src/test/fuzz/fuzz-http-connect' failed
 make[1]: *** [src/test/fuzz/fuzz-http-connect] Error 1
 ld: symbol(s) not found for architecture x86_64
 clang-3.8: error: linker command failed with exit code 1 (use -v to see
 invocation)
 make[1]: *** [src/test/fuzz/fuzz-http] Error 1
 Makefile:4775: recipe for target 'src/test/fuzz/fuzz-http' failed
 make[1]: Leaving directory '/var/tmp/build/tor-master'
 make: *** [all] Error 2
 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/25977>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list