2015-09-09 48 views
1

試圖編譯在32位Windows 10機器上https://github.com/gifnksm/twitter-api-rs上給出的示例,我得到以下錯誤 - 有關如何操作的任何想法?Cargo Build Error - 文件丟失

(我有一個以前的問題與捲曲-SYS的編譯,其中所需的環境變量CFLAGS設置爲「-mmmx -msse」)

D:\Proj\Rust\projects\twittest>cargo build --verbose 
     Fresh rustc-serialize v0.3.16 
     Fresh pkg-config v0.3.5 
     Fresh libc v0.1.10 
     Fresh winapi v0.2.2 
     Fresh winapi-build v0.1.1 
     Fresh matches v0.1.2 
     Fresh log v0.3.2 
     Fresh url v0.2.37 
     Fresh advapi32-sys v0.1.2 
     Fresh kernel32-sys v0.1.4 
     Fresh rand v0.3.11 
     Fresh gcc v0.3.13 
     Fresh time v0.1.32 
    Compiling curl-sys v0.1.25 
    Running `D:\Proj\Rust\projects\twittest\target\debug\build\curl-sys-865cd014190c57f1\build-script-build` 
     Fresh libz-sys v0.1.8 
     Fresh rust-crypto v0.2.31 
failed to run custom build command for `curl-sys v0.1.25` 
Process didn't exit successfully: `D:\Proj\Rust\projects\twittest\target\debug\build\curl-sys-865cd014190c57f1\build-script-build` (exit code: 101) 
--- stdout 
cargo:rustc-link-search=D:\Proj\Rust\projects\twittest\target\debug\build\curl-sys-865cd014190c57f1\out/lib 
cargo:rustc-link-lib=static=curl 
cargo:root=D:\Proj\Rust\projects\twittest\target\debug\build\curl-sys-865cd014190c57f1\out 
cargo:include=D:\Proj\Rust\projects\twittest\target\debug\build\curl-sys-865cd014190c57f1\out/include 
cargo:rustc-flags=-l ws2_32 
curlsys running: "sh" "-c" "/c/Users/Me/.cargo/registry/src/github.com-121aea75f9ef2ce2/curl-sys-0.1.25/curl/configure --with-winssl --enable-static=yes --enable-shared=no --enable-optimize --prefix=D:/Proj/Rust/projects/twittest/target/debug/build/curl-sys-865cd014190c57f1/out --without-librtmp --without-libidn --without-libssh2 --without-nghttp2 --disable-ldap --disable-ldaps --disable-ftp --disable-rtsp --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smtp --disable-gopher --disable-manual" 

--- stderr 
thread '<main>' panicked at 'cmd.status() return the error The system cannot find the file specified. 
(os error 2)', C:\Users\Me\.cargo\registry\src\github.com-121aea75f9ef2ce2\curl-sys-0.1.25\build.rs:134 

我使用http://mingw-w64.org但我懷疑問題出在庫配置sh文件32位構建參數(可能!)

+1

同樣的問題在這裏我認爲:https://github.com/carllerche/curl-rust/issues/71 – Zebedee68

+0

請不要在SO上包括問候/離別詞,也不要擔心,聽起來很奇怪, Rust社區似乎被人類填充。 –

+0

感謝Matthieu,注意! – Zebedee68

回答

0

我的猜測是--prefix=D:/Proj/...部分是錯誤的,應該是--prefix=/d/Proj/...

https://github.com/carllerche/curl-rust/blob/master/curl-sys/build.rs#L110,有一個硬編碼的replace("C:\\", "/c/"),但沒有處理其他單位標籤。

換句話說,當你的項目根目錄不在C:上時,似乎curl-rust目前不支持構建。是否有可能移動你的項目目錄,或者至少是這個項目的代碼?

+0

我將項目移到了C:中,但是出現同樣的問題 - 但是我的Rust安裝位於D :,我將不得不移除並重新安裝到C: - 如果時間允許,我會試一試。 – Zebedee68

+0

當然,如果這是問題的根源,它應該被認爲是一個捲曲鏽病的bug,並在那裏修復。 –

+0

確實..我沒有將MSYS2,mingw或Rust安裝到默認位置,因此絕對路徑的任何內容都會失敗。我將在設置符號鏈接(或重新安裝到默認的loc)時發揮作用,看看在我有機會時是否修復了它。 – Zebedee68