Build still fails for me with
error: linking with `clang` failed: exit status 1
Git Clone URL: | https://aur.archlinux.org/aichat.git (read-only, click to copy) |
---|---|
Package Base: | aichat |
Description: | OpenAI, ChatGPT, ollama and more in your terminal |
Upstream URL: | https://github.com/sigoden/aichat |
Keywords: | chatgpt localai ollama openai |
Licenses: | MIT, Apache |
Conflicts: | aichat-bin, aichat-git |
Submitter: | murlakatamenka |
Maintainer: | murlakatamenka |
Last Packager: | murlakatamenka |
Votes: | 2 |
Popularity: | 0.002264 |
First Submitted: | 2023-03-28 09:07 (UTC) |
Last Updated: | 2024-03-08 18:05 (UTC) |
Build still fails for me with
error: linking with `clang` failed: exit status 1
Working configs:
1) no LTO options=(!lto)
2) lld (not default for Linux yet, see rust #71515)
export RUSTFLAGS="${RUSTFLAGS} \
-C link-arg=-flto \
-C linker-plugin-lto \
-C link-arg=-fuse-ld=lld"
3) current clang + mold
Not perfect solution, but I hope people have clang and mold installed on their systems or chroot anyway.
Doesn't compile for me:
error: linking with `cc` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/usr/lib64/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" VSLANG="1033" "cc" "-m64" "/tmp/rustcf0SxDd/symbols.o" "/build/aichat/src/aichat-0.13.0/target/release/deps/aichat-c9931b2081afd282.aichat.f874b6aab2f7b7cc-cgu.06.rcgu.o" "-Wl,--as-needed" "-L" "/build/aichat/src/aichat-0.13.0/target/release/deps" "-L" "/build/aichat/src/aichat-0.13.0/target/release/build/ring-bd234b05ea601b78/out" "-L" "/build/aichat/src/aichat-0.13.0/target/release/build/onig_sys-6d690324358c07f9/out" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/tmp/rustcf0SxDd/libonig_sys-5c447d6d921da095.rlib" "/tmp/rustcf0SxDd/libring-ed2f6b1ba0ed30f0.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-dc359f8c64813cd3.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/build/aichat/src/aichat-0.13.0/target/release/deps/aichat-c9931b2081afd282" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,--strip-all" "-nodefaultlibs"
= note: /usr/bin/ld: /build/aichat/src/aichat-0.13.0/target/release/deps/aichat-c9931b2081afd282.aichat.f874b6aab2f7b7cc-cgu.06.rcgu.o: in function `aichat::render::markdown::MarkdownRender::highlight_line':
aichat.f874b6aab2f7b7cc-cgu.06:(.text._ZN6aichat6render8markdown14MarkdownRender14highlight_line17h30e3c3c18649a6aaE+0x1051): undefined reference to `onig_region_resize'
...
/usr/bin/ld: /tmp/rustcf0SxDd/libring-ed2f6b1ba0ed30f0.rlib(5807e8add1f01d03-x86_64-mont5-elf.o):/build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ring-0.17.8/pregenerated/x86_64-mont5-elf.S:24: more undefined references to `ring_core_0_17_8_OPENSSL_ia32cap_P' follow
collect2: error: ld returned 1 exit status
= note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
= note: use the `-l` flag to specify native libraries to link
= note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)
error: could not compile `aichat` (bin "aichat") due to 1 previous error
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Build failed, check /var/lib/aurbuild/x86_64/art/build
Hi, benoliver999
I usually build in "dirty" chroot (:D), need to check it out in makechrootpkg
or in an isolated Arch container.
Stable Rust + clang/clang++ and mold as linker is my current build setup.
I'm struggling to compile this, even in a clean chroot
Hey, thanks, that's a good catch. Actually, I'm missing setting toolchain in prepare
in other Rust packages too, oops.
https://wiki.archlinux.org/title/Rust_package_guidelines#Prepare
adding export RUSTUP_TOOLCHAIN=stable
into prepare()
seems to fix it :)
Thanks for packaging this! Unfortunately I keep getting this error when building it (and also for rsop):
error: rustup could not choose a version of cargo to run, because one wasn't specified explicitly, and no default is configured.
help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.
Pinned Comments
murlakatamenka commented on 2024-03-07 19:39 (UTC) (edited on 2024-03-08 18:17 (UTC) by murlakatamenka)
Working configs:
1) no LTO
options=(!lto)
2) lld (not default for Linux yet, see rust #71515)
3) current clang + mold
Not perfect solution, but I hope people have clang and mold installed on their systems or chroot anyway.