Package Details: gpt4all-chat 3.4.2-2

Git Clone URL: https://aur.archlinux.org/gpt4all-chat.git (read-only, click to copy)
Package Base: gpt4all-chat
Description: run open-source LLMs anywhere
Upstream URL: https://gpt4all.io
Keywords: chatgpt gpt llm
Licenses: MIT
Submitter: ZhangHua
Maintainer: ZhangHua
Last Packager: ZhangHua
Votes: 8
Popularity: 0.26
First Submitted: 2023-11-22 05:47 (UTC)
Last Updated: 2024-10-22 01:50 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 Next › Last »

AndyRTR commented on 2024-06-09 07:44 (UTC)

Build fails in a clean chroot: PKGBUILD: line 19: _modules_name_map: readonly variable

ZhangHua commented on 2024-05-27 01:30 (UTC)

@javalsai No, cuda injects itself into your PATH environment variable. You can check here about that. If you are not hurry to use this package, I will split cuda and rocm support into other packages, just like what @raine says, so all you need to do is waiting for 2.8.0-3 is updated.

raine commented on 2024-05-26 22:43 (UTC)

Indeed, I mean different PKGBUILD. Yes, it is a bit more work, but I would say not too much since all PKGBUILDs are almost identical, and once you set them up, updating them is usually a simple change of the version number.

It is not unusual to have separate packages in such a situation, there are many "-cuda", "-rocm", "-mkl", ... packages, precisely for this reason.

javalsai commented on 2024-05-26 14:59 (UTC)

@ZhangHua what changes to environmental variables are you talking about? it's just a compilation flag right?

ZhangHua commented on 2024-05-26 14:03 (UTC)

@javalsai Maybe it is because that you need to logout and login to make cuda's changes to environment variables work. You can create this package in a clean chroot by running makechrootpkg or extra-x86_64-build, those commands are available in package devtools.

@raine If I use split packages which are still using same PKGBUILD, cuda and rocm still have to be installed. Maybe you mean upload cuda and rocm support in different PKGBUILDs? I think that will make PKGBUILDs hard to be maintained. What's more, package arrayfile is packaged by using cuda in makedepends and optdepends. But if you still think it is needed to split cuda and rocm into different PKGBUILDs, please let me know and I will do splitting job when I am free.

javalsai commented on 2024-05-26 13:33 (UTC)

@raine and even after installing all those ~20GB of packages (including cuda, rocm...), in my case (AMD card) I get:

CMake Warning at /home/javalsai/.cache/paru/clone/gpt4all-chat/src/gpt4all-2.8.0/gpt4all-backend/CMakeLists.txt:71 (message):
  CUDA Toolkit not found.  To build without CUDA, use -DLLMODEL_CUDA=OFF.


CMake Error at /usr/share/cmake/Modules/Internal/CMakeCUDAFindToolkit.cmake:104 (message):
  Failed to find nvcc.

  Compiler requires the CUDA toolkit.  Please set the CUDAToolkit_ROOT
  variable.
Call Stack (most recent call first):
  /usr/share/cmake/Modules/CMakeDetermineCUDACompiler.cmake:85 (cmake_cuda_find_toolkit)
  /home/javalsai/.cache/paru/clone/gpt4all-chat/src/gpt4all-2.8.0/gpt4all-backend/CMakeLists.txt:73 (enable_language)

My guess is that it should be a card check, and then put that flag depending on the model. But that should also detect which packages to install, cuda is not going to do anything on my system and it's just gonna bloat it, whether in a NVIDIA system it's likely already installed.

If that's not possible in the PKGBUILD format, couldn't it be put in the prepare() step (for example)? Just make sure to install it as an optional package, I think I've seen some packages that do it.

raine commented on 2024-05-26 02:50 (UTC) (edited on 2024-05-26 02:50 (UTC) by raine)

Yes, I know that they are a part of makedepends.

However, my point is that, if you do as you suggest, every single compilation/update of gpt4all-chat will unnecessarily burn through a significant amount of SSD/NVM lifetime. Not an issue for HDD, but most people have moved on to SSDs, so it is a problem.

ZhangHua commented on 2024-05-26 01:43 (UTC)

@raine Those extra packages are just for building and will be removed after building is finished successfully. Because I enabled all supported ways to load models, like Kompute, Vulkan, CUDA, ROCm. Final program will not spend too much space, the hugest dependency is cuda and it can be removed safely, because I have made cuda optional.

raine commented on 2024-05-25 18:07 (UTC)

Version 2.8.0 is trying to install an unnecessary ~20GB of new packages (rocm) on my system with no AMD cards.

Maybe it is better to have separate packages for different GPU vendors?

ZhangHua commented on 2024-05-25 13:54 (UTC)

@gugah cuda is in the makedepends so I don't think any build dependency is missing for 2.8.0. Maybe it is because that you need to logout and login to make cuda's changes to environment variables work. You can create this package in a clean chroot by running makechrootpkg or extra-x86_64-build, those commands are available in package devtools.

As for the #include <algorithm> problem, this package is built with gcc14 until 2.8.0 so 002-fix-include-algorithm.diff is introduced. As we using cuda, gcc14 is replaced by gcc13 so there is no need to use this patch until cuda is also using gcc14. But applying this patch and build with gcc13 seems fine, so this patch is not removed.