immunant / c2rust

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

Cannot build on Arch Linux #1046

Open DaanA32 opened 7 months ago

DaanA32 commented 7 months ago

Hi all,

I cannot build on arch linux, presumably due to only having libclang.so and not the other files.

   Compiling proc-macro2 v1.0.57
   Compiling quote v1.0.27
   Compiling unicode-ident v1.0.8
   Compiling libc v0.2.147
   Compiling syn v1.0.109
   Compiling cfg-if v1.0.0
   Compiling memchr v2.5.0
   Compiling log v0.4.17
   Compiling serde v1.0.163
   Compiling bitflags v1.3.2
   Compiling glob v0.3.1
   Compiling cc v1.0.79
   Compiling io-lifetimes v1.0.10
   Compiling thiserror v1.0.40
   Compiling lazy_static v1.4.0
   Compiling version_check v0.9.4
   Compiling rustix v0.37.25
   Compiling prettyplease v0.2.5
   Compiling linux-raw-sys v0.3.7
   Compiling either v1.8.1
   Compiling regex-syntax v0.7.1
   Compiling once_cell v1.17.1
   Compiling minimal-lexical v0.2.1
   Compiling termcolor v1.2.0
   Compiling ucd-trie v0.1.5
   Compiling bindgen v0.65.1
   Compiling itoa v1.0.6
   Compiling autocfg v1.1.0
   Compiling humantime v2.1.0
   Compiling rustc-hash v1.1.0
   Compiling shlex v1.1.0
   Compiling peeking_take_while v0.1.2
   Compiling lazycell v1.3.0
   Compiling print_bytes v1.2.0
   Compiling rustversion v1.0.12
   Compiling heck v0.4.1
   Compiling time-core v0.1.0
   Compiling unicode-xid v0.2.4
   Compiling failure_derive v0.1.8
   Compiling serde_json v1.0.96
   Compiling adler v1.0.2
   Compiling gimli v0.27.2
   Compiling prettyplease v0.1.25
   Compiling rustc-demangle v0.1.23
   Compiling hashbrown v0.12.3
   Compiling ryu v1.0.13
   Compiling half v1.8.2
   Compiling anyhow v1.0.75
   Compiling linked-hash-map v0.5.6
   Compiling arc-swap v1.6.0
   Compiling os_str_bytes v6.5.0
   Compiling strsim v0.10.0
   Compiling strum v0.24.1
   Compiling textwrap v0.16.0
   Compiling smallvec v1.10.0
   Compiling dtoa v1.0.6
   Compiling no-std-compat v0.4.1
   Compiling pathdiff v0.2.1
   Compiling is_executable v1.0.1
   Compiling libloading v0.7.4
   Compiling cmake v0.1.50
   Compiling itertools v0.10.5
   Compiling c2rust-build-paths v0.18.0 (/home/daan/git/c2rust/c2rust-build-paths)
   Compiling time-macros v0.2.6
   Compiling clang-sys v1.6.1
   Compiling proc-macro-error-attr v1.0.4
   Compiling proc-macro-error v1.0.4
   Compiling miniz_oxide v0.6.2
   Compiling yaml-rust v0.4.5
   Compiling indexmap v1.9.3
   Compiling clap_lex v0.2.4
   Compiling addr2line v0.19.0
   Compiling log-reroute v0.1.8
   Compiling aho-corasick v1.0.1
   Compiling nom v7.1.3
   Compiling object v0.30.3
   Compiling atty v0.2.14
   Compiling which v4.4.0
   Compiling regex v1.8.1
   Compiling backtrace v0.3.67
   Compiling syn v2.0.16
   Compiling serde_bytes v0.11.9
   Compiling serde_cbor v0.11.2
   Compiling colored v1.9.3
   Compiling colored v2.0.0
   Compiling time v0.3.18
   Compiling cexpr v0.6.0
   Compiling serde_bencode v0.2.3
   Compiling is-terminal v0.4.7
   Compiling fern v0.6.2
   Compiling env_logger v0.10.0
   Compiling synstructure v0.12.6
   Compiling c2rust-ast-builder v0.18.0 (/home/daan/git/c2rust/c2rust-ast-builder)
   Compiling c2rust-ast-printer v0.18.0 (/home/daan/git/c2rust/c2rust-ast-printer)
   Compiling c2rust-bitfields-derive v0.18.0 (/home/daan/git/c2rust/c2rust-bitfields-derive)
   Compiling git-testament-derive v0.1.14
   Compiling clap_derive v3.2.25
   Compiling strum_macros v0.24.3
   Compiling thiserror-impl v1.0.40
   Compiling serde_derive v1.0.163
   Compiling c2rust-bitfields v0.18.0 (/home/daan/git/c2rust/c2rust-bitfields)
   Compiling git-testament v0.2.4
   Compiling failure v0.1.8
   Compiling pest v2.6.0
   Compiling c2rust-ast-exporter v0.18.0 (/home/daan/git/c2rust/c2rust-ast-exporter)
   Compiling pest_meta v2.6.0
   Compiling pest_generator v2.6.0
   Compiling clap v3.2.25
   Compiling pest_derive v2.6.0
   Compiling handlebars v4.3.7
   Compiling c2rust-transpile v0.18.0 (/home/daan/git/c2rust/c2rust-transpile)
   Compiling c2rust v0.18.0 (/home/daan/git/c2rust/c2rust)
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/tmp/rustcNZdp2V/symbols.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.10n784mqz1wp9k19.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.15wfmk9xy9ovhc81.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.1qp3g5bke7asgvqj.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.1r1adk3wblik4o6.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.1solhw0cqs0v5qug.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.1szak3ktszqfyb5b.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.1t1uzaxgvrbsp7n6.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.1t9gw8h23bzj23d2.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.1u20ndnb3q2ly3xa.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.1vr5gal5eiu0xl5k.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.21gt8awbumj94vjy.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.21swx4im2bx6vj3o.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.24skgi4ovfrxzcip.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.25xvjep7x0tsm7zv.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.26dd7hx5l633d6b.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.27dgjvjhffk7kr3t.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.28gswmmk22b1hfde.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.28v709n3sm08q88e.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.29e5rsju3jmixgix.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2b1buluyf69kdjrm.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2c4eqna3p9zmw1j7.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2gnx4fohtesmsvr1.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2jscryekhcz4j8ik.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2kcf5bk6yq8ynjua.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2kxv6n1vck93wdm9.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2nqs16u6hqkzzq88.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2nsiigvxzxhmhbs8.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2p7f55ptt7fskkfz.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2pv29ty1b9rjeipz.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2qhe7zc0vtsj58o3.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2qub70e5jsaa8gxj.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2wgzr8nzy7rb4yio.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.2x9x9ier6n3a5cj9.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.30mjkduc5t2ipzu1.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.34kis2kwjpmq8rk4.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.36raw3aag93trrxj.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.37jutncoahr98g69.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.38714nsq1yxqelfh.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3bb6fa6bwhnqvcgj.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3dk2e4sxa83lnz7f.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3e06xhraeawnqo4h.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3h6rl9xabgfodmoy.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3jkcjtmkwd7423w6.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3l3f3c6kbj0gbgoq.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3l51olmrdm7gyyyh.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3olgbf01e7xw318r.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3s4mhft10yrl8zt8.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3vyglmvuw9l64eiv.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3xi3d6hznevecyz8.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3xorojkbf9i977b6.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.3zzqj7lbnzsmqns0.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.43ffu4esz6mksc2g.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.44og1b3lapldn3wn.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.44uv8kj8wfwpmrpu.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.45176ypzbxelg9o3.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.453egjm5fkvge30q.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.47e5aotkw4g5vcmj.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4betytfs8f3ec0dp.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4bq8o06jrvp37ywk.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4ca8dovhxq3dfo5c.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4ev4njoqbwq2mari.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4f0bxegu6rfyngck.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4o1x5ionhhgd9wl.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4ogsjzqrdijjz1ey.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4qvtlei8ehkrdlkn.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4qzqpadcfl51soao.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4t75k7murdf9m80m.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4uivhrndzpqj6ted.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4ukq8ly83h5npf2d.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4xecxnt2h72ge8ex.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.4ykh9xiimrk7abnh.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.50qpem6qpnczgbe4.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.586a9eex7vt401n7.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.58z5fie8lkgvqmk6.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.5b86zh9sm74teus7.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.7wn0ba7k924kklm.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.a566w7r6y9m2sck.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.bfzf2robrd8cqn3.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.dqsg2676spvz2fa.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.fb6j1u5mmqbwzlr.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.ifdehiq0o7al4hu.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.ig0ksvfp0wxsjli.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.o0hy05y6xct3hkx.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.ol41nfjoxmlnkpa.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.tilhw16i48ku3fb.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.xd570tfk3an1r3d.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.y9a3vr9f454tg2f.rcgu.o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84.501y7o7s9pzqm24c.rcgu.o" "-Wl,--as-needed" "-L" "/home/daan/git/c2rust/target/debug/deps" "-L" "/home/daan/git/c2rust/target/debug/build/c2rust-ast-exporter-3bd9875174e57ee8/out/build/lib" "-L" "/home/daan/git/c2rust/target/debug/build/c2rust-ast-exporter-3bd9875174e57ee8/out/build" "-L" "/usr/lib/llvm14/lib" "-L" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/daan/git/c2rust/target/debug/deps/libc2rust_transpile-e78b7d2ca20ad17b.rlib" "/home/daan/git/c2rust/target/debug/deps/libserde_bencode-ac7102c11a29bec3.rlib" "/home/daan/git/c2rust/target/debug/deps/liblog_reroute-0a5f941de946b951.rlib" "/home/daan/git/c2rust/target/debug/deps/libarc_swap-06c50af548806ade.rlib" "/home/daan/git/c2rust/target/debug/deps/libstrum-3d83e40bcde5c92e.rlib" "/home/daan/git/c2rust/target/debug/deps/libdtoa-294e91d3848df018.rlib" "/home/daan/git/c2rust/target/debug/deps/libsmallvec-8c43e7a0aa8acf79.rlib" "/home/daan/git/c2rust/target/debug/deps/libitertools-ea66106e4ff81d65.rlib" "/home/daan/git/c2rust/target/debug/deps/libeither-1970fac27c5754f6.rlib" "/home/daan/git/c2rust/target/debug/deps/libc2rust_ast_builder-68d7123dc3b8abd5.rlib" "/home/daan/git/c2rust/target/debug/deps/libc2rust_ast_printer-14eb4c5b2f3eafa8.rlib" "/home/daan/git/c2rust/target/debug/deps/libprettyplease-3900ba3ffc58dc74.rlib" "/home/daan/git/c2rust/target/debug/deps/libsyn-787025ae4c815c8d.rlib" "/home/daan/git/c2rust/target/debug/deps/libquote-b2616a0944acb6b3.rlib" "/home/daan/git/c2rust/target/debug/deps/libproc_macro2-80c6c8db7ca0c3fe.rlib" "/home/daan/git/c2rust/target/debug/deps/libunicode_ident-d1697babd4675fbd.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libproc_macro-3663ec4dc88d191e.rlib" "/home/daan/git/c2rust/target/debug/deps/libpathdiff-e245e71e38ca77d2.rlib" "/home/daan/git/c2rust/target/debug/deps/libhandlebars-39cad9c461b226b9.rlib" "/home/daan/git/c2rust/target/debug/deps/libpest-994ab0b3d80487af.rlib" "/home/daan/git/c2rust/target/debug/deps/libucd_trie-ee3e9cdeb90d07c6.rlib" "/home/daan/git/c2rust/target/debug/deps/libthiserror-72ebf747ea97c90a.rlib" "/home/daan/git/c2rust/target/debug/deps/libserde_json-1e32b3e47ba38265.rlib" "/home/daan/git/c2rust/target/debug/deps/libryu-9a2aa5b9b60f6642.rlib" "/home/daan/git/c2rust/target/debug/deps/libitoa-2cb8f7058318c1d6.rlib" "/home/daan/git/c2rust/target/debug/deps/libc2rust_ast_exporter-859b76a94ac51bb8.rlib" "/home/daan/git/c2rust/target/debug/deps/libserde_bytes-17bd47d562c8f1f3.rlib" "/home/daan/git/c2rust/target/debug/deps/libserde_cbor-88f24e2c6f4f2ac7.rlib" "/home/daan/git/c2rust/target/debug/deps/libhalf-a043902a3e1add3d.rlib" "/home/daan/git/c2rust/target/debug/deps/libfern-c4596374de2170b3.rlib" "/home/daan/git/c2rust/target/debug/deps/libcolored-4de323d1c5fb14cf.rlib" "/home/daan/git/c2rust/target/debug/deps/libfailure-847911cbd365aace.rlib" "/home/daan/git/c2rust/target/debug/deps/libbacktrace-9ba16b01d3846544.rlib" "/home/daan/git/c2rust/target/debug/deps/libminiz_oxide-e44b81ece042da67.rlib" "/home/daan/git/c2rust/target/debug/deps/libadler-d7a72e9661f515be.rlib" "/home/daan/git/c2rust/target/debug/deps/libobject-02a3b990033e74b3.rlib" "/home/daan/git/c2rust/target/debug/deps/libaddr2line-0cdcdee2d202cfd0.rlib" "/home/daan/git/c2rust/target/debug/deps/libgimli-ff61225a7504a156.rlib" "/home/daan/git/c2rust/target/debug/deps/librustc_demangle-dceb77825af180db.rlib" "/home/daan/git/c2rust/target/debug/deps/libcolored-7b5782a102219140.rlib" "/home/daan/git/c2rust/target/debug/deps/liblazy_static-0e84cdf340770da0.rlib" "/home/daan/git/c2rust/target/debug/deps/libregex-2664871ec822d88b.rlib" "/home/daan/git/c2rust/target/debug/deps/libaho_corasick-d6aaee1b59a0588a.rlib" "/home/daan/git/c2rust/target/debug/deps/libmemchr-86e7508c9fe5cef2.rlib" "/home/daan/git/c2rust/target/debug/deps/libregex_syntax-ad0d1ec7798234eb.rlib" "/home/daan/git/c2rust/target/debug/deps/liblog-127f8a98ca437b34.rlib" "/home/daan/git/c2rust/target/debug/deps/libcfg_if-f900f7222e39dc3e.rlib" "/home/daan/git/c2rust/target/debug/deps/libclap-1f2f73c537a7ec1e.rlib" "/home/daan/git/c2rust/target/debug/deps/libatty-6e2fcd90e2b0f361.rlib" "/home/daan/git/c2rust/target/debug/deps/liblibc-ac735ce5ed8ea577.rlib" "/home/daan/git/c2rust/target/debug/deps/libstrsim-c5df83461ee67548.rlib" "/home/daan/git/c2rust/target/debug/deps/libtermcolor-68b45e0a14156fe4.rlib" "/home/daan/git/c2rust/target/debug/deps/libtextwrap-df341be4b6fc4ba6.rlib" "/home/daan/git/c2rust/target/debug/deps/libindexmap-d20bbbc47ea38c95.rlib" "/home/daan/git/c2rust/target/debug/deps/libhashbrown-286f3bd2e14238b9.rlib" "/home/daan/git/c2rust/target/debug/deps/libserde-ae4c6b6cc0fa6f00.rlib" "/home/daan/git/c2rust/target/debug/deps/libclap_lex-7b4e4098964e34c4.rlib" "/home/daan/git/c2rust/target/debug/deps/libos_str_bytes-6248a91c3969f10f.rlib" "/home/daan/git/c2rust/target/debug/deps/libbitflags-b680d906aab8a186.rlib" "/home/daan/git/c2rust/target/debug/deps/libonce_cell-7c374c27b1c78c37.rlib" "/home/daan/git/c2rust/target/debug/deps/libyaml_rust-4ee80a892772ab0f.rlib" "/home/daan/git/c2rust/target/debug/deps/liblinked_hash_map-91fbecd968dfd064.rlib" "-Wl,--start-group" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-1d51e5d3b7e10e45.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-6089560e93d34184.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-43d20762d0bb7e09.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-6edd452aefe0a041.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-3815ac605faab09f.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-6e3605e972ebb43d.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-f118607e61af33f8.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-8e61bdcba3672756.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-95839217d3b9249e.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-749d449e05f93229.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-7edc02a093eb63c8.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-e7be36355fcf1fc5.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-65da4ccaaaee1509.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-337a10389ca122a0.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-9dba3f083c9eb142.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-bad49ba9d811b615.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-522518611024dce5.rlib" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-05898138a596088a.rlib" "-Wl,--end-group" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-714f8e833892dd98.rlib" "-Wl,-Bdynamic" "-lclangTooling" "-lclangFrontend" "-lclangASTMatchers" "-lclangParse" "-lclangSerialization" "-lclangSema" "-lclangEdit" "-lclangAnalysis" "-lclangDriver" "-lclangFormat" "-lclangToolingCore" "-lclangAST" "-lclangRewrite" "-lclangLex" "-lclangBasic" "-lLLVM-14" "-lstdc++" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/daan/.rustup/toolchains/nightly-2022-08-08-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/daan/git/c2rust/target/debug/deps/c2rust_transpile-2b37364343b84c84" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /usr/bin/ld: cannot find -lclangTooling: No such file or directory
          /usr/bin/ld: cannot find -lclangFrontend: No such file or directory
          /usr/bin/ld: cannot find -lclangASTMatchers: No such file or directory
          /usr/bin/ld: cannot find -lclangParse: No such file or directory
          /usr/bin/ld: cannot find -lclangSerialization: No such file or directory
          /usr/bin/ld: cannot find -lclangSema: No such file or directory
          /usr/bin/ld: cannot find -lclangEdit: No such file or directory
          /usr/bin/ld: cannot find -lclangAnalysis: No such file or directory
          /usr/bin/ld: cannot find -lclangDriver: No such file or directory
          /usr/bin/ld: cannot find -lclangFormat: No such file or directory
          /usr/bin/ld: cannot find -lclangToolingCore: No such file or directory
          /usr/bin/ld: cannot find -lclangAST: No such file or directory
          /usr/bin/ld: cannot find -lclangRewrite: No such file or directory
          /usr/bin/ld: cannot find -lclangLex: No such file or directory
          /usr/bin/ld: cannot find -lclangBasic: No such file or directory
          collect2: error: ld returned 1 exit status

error: could not compile `c2rust` due to previous error

sudo fd 'clang*.so' /
/usr/lib32/libclang.so.16
/usr/lib32/libclang.so.16.0.6
/usr/lib32/libclang.so
/usr/lib/libclang.so
/usr/lib/libclang.so.16.0.6
/usr/lib/libclang.so.16```
kkysen commented 7 months ago

Have you installed llvm, too? pacman -S llvm.

DaanA32 commented 7 months ago

I have it installed... I'm not sure why it would try to link to missing libs. I've tried setting the clang-sys and bindgen to feature runtime, but that doesn't seem to work either.

sudo pacman -S llvm
[sudo] password for daan:
warning: llvm-16.0.6-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Package (1)  Old Version  New Version  Net Change

extra/llvm   16.0.6-1     16.0.6-1       0.00 MiB

Total Installed Size:  102.03 MiB
Net Upgrade Size:        0.00 MiB

:: Proceed with installation? [Y/n]
kkysen commented 7 months ago

I found https://bugs.archlinux.org/task/66283, so it seems we need to link to only libclang-cpp.so instead of all of the individual libclang*.sos. I think this happend in https://gitlab.archlinux.org/archlinux/packaging/packages/clang/-/commit/aaab40456297f626dfd60ad6632559c65d86bf6b. I'm not sure how package versions work on Arch; can you install an older version of the clang package, or how can we detect which clang package version it is so we can link to libclang-cpp.so instead?

DaanA32 commented 7 months ago

Hi kkysen,

I'll try finding / installing a version which does include the shared libs.

The list of all clang.*.so files from the default clang version installed on arch (x86_64) is: https://archlinux.org/packages/extra/x86_64/clang/files/

$ pacman -Ql clang | grep '\.so'
clang /usr/lib/libclang-cpp.so
clang /usr/lib/libclang-cpp.so.16
clang /usr/lib/libclang.so
clang /usr/lib/libclang.so.16
clang /usr/lib/libclang.so.16.0.6

I tried installing clang10, but that also is compiled with the same options. I've not found an quick to install version with the BUILD_SHARED_LIBS=ON yet.

I think providing a ENV or feature flag to know what to compile against should be sufficient.

DaanA32 commented 7 months ago

Hi kkysen,

I've managed to fix building by doing the following:

export LLVM_LIB_DIR=/usr/lib

It looks like arch linux installs it to /usr/lib instead of /usr/lib/llvmXX I think build.rs from c2rust-ast-export does not search /usr/lib.

kkysen commented 7 months ago

I've managed to fix building by doing the following:

export LLVM_LIB_DIR=/usr/lib

It looks like arch linux installs it to /usr/lib instead of /usr/lib/llvmXX I think build.rs from c2rust-ast-export does not search /usr/lib.

If we just need to add /usr/lib/ to build.rs's search path on top of /usr/lib/llvm*, we should be able to do that. I can open a PR for that. Thanks for figuring that out!