immunant / c2rust

Migrate C code to Rust
https://c2rust.com/
Other
3.99k stars 238 forks source link

build failed #45

Closed zaoqi closed 5 years ago

zaoqi commented 5 years ago
$ cargo build --release
warning: unused manifest key: package.edition
warning: unused manifest key: package.edition
warning: unused manifest key: package.edition
    Updating registry `https://github.com/rust-lang/crates.io-index`
warning: spurious network error (2 tries remaining): SSL error: unknown error; class=Net (12)
 Downloading regex v1.1.0                                                       
 Downloading env_logger v0.6.0                                                  
 Downloading log v0.4.6                                                         
 Downloading clap v2.32.0                                                       
 Downloading regex-syntax v0.6.4                                                
 Downloading memchr v2.1.2                                                      
 Downloading aho-corasick v0.6.9                                                
 Downloading utf8-ranges v1.0.2                                                 
 Downloading thread_local v0.3.6                                                
 Downloading ucd-util v0.1.3                                                    
 Downloading libc v0.2.46                                                       
 Downloading cfg-if v0.1.6                                                      
 Downloading version_check v0.1.5                                               
 Downloading lazy_static v1.2.0                                                 
 Downloading termcolor v1.0.4                                                   
 Downloading atty v0.2.11                                                       
 Downloading humantime v1.2.0                                                   
 Downloading quick-error v1.2.2                                                 
 Downloading diff v0.1.11                                                       
 Downloading json v0.11.13                                                      
 Downloading ena v0.11.0                                                        
 Downloading cargo v0.32.0                                                      
 Downloading indexmap v1.0.2                                                    
 Downloading unicode-width v0.1.5                                               
 Downloading bitflags v1.0.4                                                    
 Downloading yaml-rust v0.3.5                                                   
 Downloading textwrap v0.10.0                                                   
 Downloading strsim v0.7.0                                                      
 Downloading vec_map v0.8.1                                                     
 Downloading home v0.3.3                                                        
 Downloading serde v1.0.84                                                      
 Downloading ignore v0.4.6                                                      
 Downloading serde_ignored v0.0.4                                               
 Downloading git2-curl v0.8.2                                                   
 Downloading curl v0.4.19                                                       
 Downloading jobserver v0.1.12                                                  
 Downloading bytesize v1.0.0                                                    
 Downloading fs2 v0.4.3                                                         
 Downloading curl-sys v0.4.15                                                   
 Downloading crates-io v0.20.0                                                  
 Downloading hex v0.3.2                                                         
 Downloading semver v0.9.0                                                      
 Downloading failure v0.1.5                                                     
 Downloading git2 v0.7.5                                                        
 Downloading opener v0.3.2                                                      
 Downloading flate2 v1.0.6                                                      
 Downloading tar v0.4.20                                                        
 Downloading crossbeam-utils v0.5.0                                             
 Downloading env_logger v0.5.13                                                 
 Downloading glob v0.2.11                                                       
 Downloading filetime v0.2.4                                                    
 Downloading shell-escape v0.1.4                                                
 Downloading crypto-hash v0.3.3                                                 
 Downloading serde_json v1.0.34                                                 
 Downloading rustc-workspace-hack v1.0.0                                        
 Downloading serde_derive v1.0.84                                               
 Downloading rustfix v0.4.4                                                     
 Downloading libgit2-sys v0.7.11                                                
 Downloading lazycell v1.2.1                                                    
 Downloading url v1.7.2                                                         
 Downloading tempfile v3.0.5                                                    
 Downloading same-file v1.0.4                                                   
 Downloading toml v0.4.10                                                       
 Downloading num_cpus v1.9.0                                                    
 Downloading crossbeam-channel v0.3.6                                           
 Downloading globset v0.4.2                                                     
 Downloading walkdir v2.2.7                                                     
 Downloading parking_lot v0.7.1                                                 
 Downloading rand v0.6.3                                                        
 Downloading crossbeam-utils v0.6.3                                             
 Downloading smallvec v0.6.7                                                    
 Downloading lock_api v0.1.5                                                    
 Downloading parking_lot_core v0.4.0                                            
 Downloading owning_ref v0.4.0                                                  
 Downloading scopeguard v0.3.3                                                  
 Downloading stable_deref_trait v1.1.1                                          
 Downloading rand_hc v0.1.0                                                     
 Downloading rand_core v0.3.0                                                   
 Downloading rand_os v0.1.0                                                     
 Downloading rand_pcg v0.1.1                                                    
 Downloading rand_isaac v0.1.1                                                  
 Downloading rand_chacha v0.1.1                                                 
 Downloading rand_xorshift v0.1.1                                               
 Downloading rustc_version v0.2.3                                               
 Downloading semver-parser v0.7.0                                               
 Downloading autocfg v0.1.1                                                     
 Downloading unreachable v1.0.0                                                 
 Downloading void v1.0.2                                                        
 Downloading fnv v1.0.6                                                         
 Downloading percent-encoding v1.0.1                                            
 Downloading matches v0.1.8                                                     
 Downloading idna v0.1.5                                                        
 Downloading unicode-normalization v0.1.7                                       
 Downloading unicode-bidi v0.3.4                                                
 Downloading socket2 v0.3.8                                                     
 Downloading libnghttp2-sys v0.1.1                                              
 Downloading libz-sys v1.0.25                                                   
 Downloading cc v1.0.28                                                         
 Downloading pkg-config v0.3.14                                                 
 Downloading libssh2-sys v0.2.11                                                
 Downloading syn v0.15.24                                                       
 Downloading quote v0.6.10                                                      
 Downloading proc-macro2 v0.4.24                                                
 Downloading unicode-xid v0.1.0                                                 
 Downloading backtrace v0.3.13                                                  
 Downloading failure_derive v0.1.5                                              
 Downloading rustc-demangle v0.1.13                                             
 Downloading synstructure v0.10.1                                               
 Downloading itoa v0.4.3                                                        
 Downloading ryu v0.2.7                                                         
 Downloading crc32fast v1.1.2                                                   
 Downloading miniz-sys v0.1.11                                                  
 Downloading remove_dir_all v0.5.1                                              
 Downloading fern v0.5.7                                                        
 Downloading dtoa v0.4.3                                                        
 Downloading pathdiff v0.1.0                                                    
 Downloading serde_cbor v0.9.0                                                  
 Downloading strum_macros v0.13.0                                               
 Downloading itertools v0.8.0                                                   
 Downloading strum v0.13.0                                                      
 Downloading handlebars v1.1.0                                                  
 Downloading serde_bytes v0.10.4                                                
 Downloading half v1.3.0                                                        
 Downloading byteorder v1.2.7                                                   
 Downloading clang-sys v0.26.4                                                  
 Downloading bindgen v0.46.0                                                    
 Downloading cmake v0.1.35                                                      
 Downloading libloading v0.5.0                                                  
 Downloading which v2.0.1                                                       
 Downloading hashbrown v0.1.7                                                   
 Downloading peeking_take_while v0.1.2                                          
 Downloading cexpr v0.3.3                                                       
 Downloading nom v4.1.1                                                         
 Downloading colored v1.7.0                                                     
 Downloading heck v0.3.1                                                        
 Downloading unicode-segmentation v1.2.1                                        
 Downloading either v1.5.0                                                      
 Downloading pest_derive v2.1.0                                                 
 Downloading pest v2.1.0                                                        
 Downloading pest_generator v2.1.0                                              
 Downloading pest_meta v2.1.0                                                   
 Downloading maplit v1.0.1                                                      
 Downloading ucd-trie v0.1.1                                                    
 Downloading mdbook v0.2.2                                                      
 Downloading pulldown-cmark v0.2.0                                              
 Downloading pulldown-cmark-to-cmark v1.2.0                                     
 Downloading chrono v0.4.6                                                      
 Downloading iron v0.6.0                                                        
 Downloading ammonia v1.2.0                                                     
 Downloading staticfile v0.5.0                                                  
 Downloading error-chain v0.12.0                                                
 Downloading elasticlunr-rs v2.3.4                                              
 Downloading toml-query v0.7.0                                                  
 Downloading pulldown-cmark v0.1.2                                              
 Downloading ws v0.7.9                                                          
 Downloading itertools v0.7.11                                                  
 Downloading open v1.2.2                                                        
 Downloading notify v4.0.6                                                      
 Downloading shlex v0.1.1                                                       
 Downloading num-integer v0.1.39                                                
 Downloading time v0.1.41                                                       
 Downloading num-traits v0.2.6                                                  
 Downloading plugin v0.2.6                                                      
 Downloading log v0.3.9                                                         
 Downloading hyper v0.10.15                                                     
 Downloading typemap v0.3.3                                                     
 Downloading mime_guess v1.8.6                                                  
 Downloading modifier v0.1.0                                                    
 Downloading unsafe-any v0.4.2                                                  
 Downloading traitobject v0.1.0                                                 
 Downloading base64 v0.9.3                                                      
 Downloading unicase v1.4.2                                                     
 Downloading mime v0.2.6                                                        
 Downloading httparse v1.3.3                                                    
 Downloading language-tags v0.2.2                                               
 Downloading typeable v0.1.2                                                    
 Downloading safemem v0.3.0                                                     
 Downloading phf v0.7.24                                                        
 Downloading phf_shared v0.7.24                                                 
 Downloading siphasher v0.2.3                                                   
 Downloading phf_codegen v0.7.24                                                
 Downloading phf_generator v0.7.24                                              
 Downloading tendril v0.4.1                                                     
 Downloading html5ever v0.22.5                                                  
 Downloading utf-8 v0.7.5                                                       
 Downloading mac v0.1.1                                                         
 Downloading futf v0.1.4                                                        
 Downloading new_debug_unreachable v1.0.1                                       
 Downloading markup5ever v0.7.5                                                 
 Downloading string_cache v0.7.3                                                
 Downloading precomputed-hash v0.1.1                                            
 Downloading string_cache_shared v0.3.0                                         
 Downloading string_cache_codegen v0.4.2                                        
 Downloading mount v0.4.0                                                       
 Downloading sequence_trie v0.3.6                                               
 Downloading strum v0.11.0                                                      
 Downloading strum_macros v0.11.0                                               
 Downloading is-match v0.1.0                                                    
 Downloading getopts v0.2.18                                                    
 Downloading bitflags v0.9.1                                                    
 Downloading sha1 v0.6.0                                                        
 Downloading mio-extras v2.0.5                                                  
 Downloading rand v0.4.3                                                        
 Downloading mio v0.6.16                                                        
 Downloading slab v0.4.1                                                        
 Downloading bytes v0.4.11                                                      
 Downloading iovec v0.1.2                                                       
 Downloading net2 v0.2.33                                                       
 Downloading ansi_term v0.11.0                                                  
 Downloading openssl-sys v0.9.40                                                
 Downloading openssl-probe v0.1.2                                               
 Downloading backtrace-sys v0.1.28                                              
 Downloading openssl v0.10.16                                                   
 Downloading foreign-types v0.3.2                                               
 Downloading foreign-types-shared v0.1.1                                        
 Downloading inotify v0.6.1                                                     
 Downloading tokio-reactor v0.1.8                                               
 Downloading tokio-io v0.1.11                                                   
 Downloading inotify-sys v0.1.3                                                 
 Downloading futures v0.1.25                                                    
 Downloading tokio-executor v0.1.6                                              
   Compiling open v1.2.2                                                        
   Compiling foreign-types-shared v0.1.1
   Compiling mac v0.1.1
   Compiling utf8-ranges v1.0.2
   Compiling hex v0.3.2
   Compiling stable_deref_trait v1.1.1
   Compiling pkg-config v0.3.14
   Compiling vec_map v0.8.1
   Compiling c2rust v0.9.0 (file:///home/1828_sandbox/src/c2rust/c2rust)
   Compiling failure_derive v0.1.5
   Compiling crc32fast v1.1.2
   Compiling ucd-util v0.1.3
   Compiling bytesize v1.0.0
   Compiling openssl v0.10.16
   Compiling unicode-width v0.1.5
   Compiling num-traits v0.2.6
   Compiling glob v0.2.11
   Compiling sequence_trie v0.3.6
   Compiling remove_dir_all v0.5.1
   Compiling percent-encoding v1.0.1
   Compiling serde v1.0.84
   Compiling lazycell v1.2.1
   Compiling shell-escape v0.1.4
   Compiling semver-parser v0.7.0
   Compiling pulldown-cmark v0.2.0
   Compiling quick-error v1.2.2
   Compiling maplit v1.0.1
   Compiling version_check v0.1.5
   Compiling shlex v0.1.1
   Compiling fnv v1.0.6
   Compiling cc v1.0.28
   Compiling bindgen v0.46.0
   Compiling safemem v0.3.0
   Compiling pathdiff v0.1.0
   Compiling libc v0.2.46
   Compiling termcolor v1.0.4
   Compiling slab v0.4.1
   Compiling futures v0.1.25
   Compiling ucd-trie v0.1.1
   Compiling unicode-xid v0.1.0
   Compiling precomputed-hash v0.1.1
   Compiling itoa v0.4.3
   Compiling either v1.5.0
   Compiling json v0.11.13
   Compiling rustc-workspace-hack v1.0.0
   Compiling crossbeam-utils v0.5.0
error: the struct `#[repr(align(u16))]` attribute is experimental (see issue #33626)
  --> /home/1828_sandbox/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-utils-0.5.0/src/cache_padded.rs:19:1
   |
19 | #[repr(align(64))]
   | ^^^^^^^^^^^^^^^^^^

error: non-string literals in attributes, or string literals in top-level positions, are experimental (see issue #34981)
  --> /home/1828_sandbox/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-utils-0.5.0/src/cache_padded.rs:19:1
   |
19 | #[repr(align(64))]
   | ^^^^^^^^^^^^^^^^^^

error: aborting due to 2 previous errors

   Compiling utf-8 v0.7.5
error: Could not compile `crossbeam-utils`.
warning: build failed, waiting for other jobs to finish...
error: invalid format string: expected `'}'`, found `'?'`
  --> /home/1828_sandbox/.cargo/registry/src/github.com-1ecc6299db9ec823/utf-8-0.7.5/src/read.rs:40:27
   |
40 |                 write!(f, "invalid byte sequence: {:02x?}", bytes)
   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: invalid format string: expected `'}'`, found `'?'`
  --> /home/1828_sandbox/.cargo/registry/src/github.com-1ecc6299db9ec823/utf-8-0.7.5/src/lib.rs:42:17
   |
42 | /                 "found invalid byte sequence {invalid_sequence:02x?} after \
43 | |                  {valid_byte_count} valid bytes, followed by {unprocessed_byte_count} more \
44 | |                  unprocessed bytes",
   | |___________________________________^

error: invalid format string: expected `'}'`, found `'?'`
  --> /home/1828_sandbox/.cargo/registry/src/github.com-1ecc6299db9ec823/utf-8-0.7.5/src/lib.rs:54:17
   |
54 | /                 "found incomplete byte sequence {incomplete_suffix:02x?} after \
55 | |                  {valid_byte_count} bytes",
   | |__________________________________________^

error: aborting due to 3 previous errors

error: Could not compile `utf-8`.
warning: build failed, waiting for other jobs to finish...
error: build failed
TheDan64 commented 5 years ago

How old is your rustc version? repr(align) has been stable for over a year: https://github.com/rust-lang/rust/issues/33626

I'd suggest updating to a newer rust and then trying again

thedataking commented 5 years ago

@zaoqi were you able to resolve your issue?