Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Tor Tor
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 831
    • Issues 831
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 31
    • Merge requests 31
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Core
  • TorTor
  • Issues
  • #25977

Closed
Open
Created Apr 30, 2018 by Georg Koppen@gkReporter

Cross-compiling tor rust for macOS is broken

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking