2015-08-06 6 views
6

ho creato con successo un musl configurato rustc seguendo this linkmancata costruzione di ruggine-libc usando cargo quando rustc è MUSL-abilitato

Il mio tentativo di costruire un progetto (che costruisce bene usando non MUSL configurato ruggine) fallito quando ho usato cargo rustc -- --target=x86_64-unknown-linux-musl

'error: could not find crate `libc` with expected target triple x86_64-unknown-linux-musl' 

Poi, ho cercato di creare rust-libc libreria utilizzando il codice cassa. Per essere più precisi, ho usato il comando fornito da cargo per creare rust-libc, ho solo aggiunto --target=x86_64-unknown-linux-musl al comando. Questa volta non è riuscito segnalazione:

'error: could not find native static library `c`, perhaps an -L flag is missing?`' 

ho due domande:

  • E 'obbligatorio per costruire musl configurato cargo per essere in grado di utilizzare cargo build --target=x86_64-unknown-linux-musl?

  • Come posso affrontare questo:

    'error: could not find native static library `c`, perhaps an -L flag is missing?' 
    
+0

Hai scritto di aver digitato "cargo rustc - --target = x86_64-unknown-linux-musl". Esiste un'opzione "arrugginita" del carico o dovrebbe essere "costruita"? "cargo build" funziona senza musl. – Scooter

+0

carico di lavoro funziona, ma la libreria costruita non ha le dipendenze collegate staticamente. –

+0

La tua prima domanda dovrebbe probabilmente essere riformulata. "per utilizzare la costruzione del carico" deve aver bisogno di qualcos'altro, perché stai dicendo che puoi usare "carico di costruzione". Puoi creare un eseguibile completamente collegato staticamente chiamando rugc direttamente come hanno fatto in fondo alla pagina delle istruzioni a cui ti sei collegato? – Scooter

risposta

3

questo ha lavorato per me per costruire libc:

rustc --target = x86_64-unknown-linux-MUSL/indirizzo- di-libc/lib.rs --crate-name libc --crate-type lib -L/address-of-musldist/musldist/lib/--out-dir =/your-chosen-address/target --cfg feature = \ "default \" --cfg feature = \ "cargo-build \" --emit = dep-info, link