无法覆盖Rustup工具链以自定义构建iOS工具链

时间:2016-07-19 18:59:59

标签: ios rust rust-cargo

我正在使用Rust的构建创建自己的工具链。我需要这个与iOS架构交叉编译。在尝试设置默认工具链或覆盖当前目录的工具链时,我收到有关工具链名称的错误。这些是我创建这个新工具链的步骤:

  1. 创建Rustup工具链

    rustup toolchain link ios $HOME/rustc-ios
    
  2. 覆盖当前目录工具链

    rustup override set ios
    
  3. $ rustup show
    Default host: x86_64-apple-darwin
    error: toolchain 'ios' does not support components
    info: caused by: invalid toolchain name: 'ios'
    

    我尝试过其他符合工具链命名约定的名称,但无济于事:

    $ rustup toolchain link stable-2016-07-19-x86_64-apple-ios $HOME/rustc-ios
    error: invalid custom toolchain name: 'stable-2016-07-19-x86_64-apple-ios'
    
    $ rustup toolchain link stable-x86_64-apple-ios $HOME/rustc-ios
    error: invalid custom toolchain name: 'stable-x86_64-apple-ios'
    
    $ rustup toolchain link x86_64-apple-ios $HOME/rustc-ios
    

    [更新]

    对于方法#2,当我进行货物构建时,我仍然看到编译器链接来自我为防锈工具链安装的目标的Arm库(即,我在/ Users / test-中为#1安装的目标)用户/ SRC /测试防锈-LIB /目标/):

    rustc src/lib.rs 
    --crate-name test-rust-crate
    --crate-type staticlib 
    -g 
    --cfg 
    feature=\"no_network\" 
    --out-dir /Users/test-user/src/test-rust-lib/target/armv7-apple-ios/debug 
    --emit=dep-info,link 
    --target armv7-apple-ios 
    -L dependency=/Users/test-user/src/test-rust-lib/target/armv7-apple-ios/debug 
    -L dependency=/Users/test-user/src/test-rust-lib/target/armv7-apple-ios/debug/deps 
    --extern serde_json=/Users/test-user/src/test-rust-lib/target/armv7-apple-ios/debug/deps/libserde_json-55921106e25a0359.rlib 
    --extern serde=/Users/test-user/src/test-rust-lib/target/armv7-apple-ios/debug/deps/libserde-e281201342afb4d4.rlib 
    --extern time=/Users/test-user/src/test-rust-lib/target/armv7-apple-ios/debug/deps/libtime-750bfdd52feafcb7.rlib 
    --extern libc=/Users/test-user/src/test-rust-lib/target/armv7-apple-ios/debug/deps/liblibc-1f3392fe1afd1313.rlib 
    --extern murmur3=/Users/test-user/src/test-rust-lib/target/armv7-apple-ios/debug/deps/libmurmur3-ab9a44fb20fb9fad.rlib 
    --extern quick_error=/Users/test-user/src/test-rust-lib/target/armv7-apple-ios/debug/deps/libquick_error-729eced693f2612d.rlib 
    --extern url=/Users/test-user/src/test-rust-lib/target/armv7-apple-ios/debug/deps/liburl-4690728b1e11fab3.rlib
    

    不应该将Arm库从我建立的rustc中拉出来吗?

1 个答案:

答案 0 :(得分:2)

我怀疑你在rustup show中看到的行为是与特定命令相关的生锈错误。我filed an issue要调查一下。

使用rustup linkrustup override配置后,尝试使用自定义工具链进行构建时会发生什么?