If the rust toolchain used to build this is >= nightly-2024-05-18 (I suppose latest stable 1.79 is) then the linker is changed: https://blog.rust-lang.org/2024/05/17/enabling-rust-lld-on-linux.html which has the side effect of fixing the issue of ring with LTO.
Search Criteria
Package Details: aichat 0.19.0-1
Package Actions
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 rust |
Licenses: | MIT, Apache |
Conflicts: | aichat-bin, aichat-git |
Submitter: | murlakatamenka |
Maintainer: | murlakatamenka |
Last Packager: | murlakatamenka |
Votes: | 7 |
Popularity: | 2.60 |
First Submitted: | 2023-03-28 09:07 (UTC) |
Last Updated: | 2024-07-09 00:13 (UTC) |
Dependencies (3)
- gcc-libs (gcc11-libsAUR, gcc-libs-gitAUR, gccrs-libs-gitAUR, gcc-libs-snapshotAUR)
- cargo (rust-nightly-binAUR, cargo-gitAUR, rustup-gitAUR, rust, rustup) (make)
- mold (mold-gitAUR) (make)
Required by (0)
Sources (1)
tuxayo commented on 2024-07-18 17:36 (UTC)
murlakatamenka commented on 2024-04-10 18:37 (UTC)
@FabioLolix, do you mean that only those packages need to specify provides/conflicts, and this one shouldn't?
I don't think your proposal makes the package better.
FabioLolix commented on 2024-04-10 17:12 (UTC)
Hello, please remove conflicts aichat-bin and aichat-git, are the variants that need to specify provides and conflicts with aichat only
giusb3.0 commented on 2024-03-12 03:36 (UTC) (edited on 2024-03-12 03:36 (UTC) by giusb3.0)
Build still fails for me with
error: linking with `clang` failed: exit status 1
murlakatamenka commented on 2024-03-07 19:39 (UTC) (edited on 2024-05-14 01:01 (UTC) by murlakatamenka)
edit (2024-05-14): with mold linker it builds just fine in clean chroot, the package will stick to it for the time being
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.
behonest commented on 2024-03-06 17:29 (UTC)
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
murlakatamenka commented on 2024-03-02 07:21 (UTC)
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.
benoliver999 commented on 2024-03-01 15:51 (UTC)
I'm struggling to compile this, even in a clean chroot
murlakatamenka commented on 2023-11-16 18:50 (UTC)
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
xeruf commented on 2023-11-16 09:24 (UTC)
adding export RUSTUP_TOOLCHAIN=stable
into prepare()
seems to fix it :)
Pinned Comments
murlakatamenka commented on 2024-03-07 19:39 (UTC) (edited on 2024-05-14 01:01 (UTC) by murlakatamenka)
edit (2024-05-14): with mold linker it builds just fine in clean chroot, the package will stick to it for the time being
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.