Package Details: stable-diffusion.cpp-hipblas-git r108.48bcce4-1

Git Clone URL: https://aur.archlinux.org/stable-diffusion.cpp-git.git (read-only, click to copy)
Package Base: stable-diffusion.cpp-git
Description: Stable Diffusion in pure C/C++ (with AMD ROCm optimizations)
Upstream URL: https://github.com/leejet/stable-diffusion.cpp
Licenses: MIT
Conflicts: stable-diffusion.cpp-git
Provides: stable-diffusion.cpp-git
Submitter: robertfoster
Maintainer: robertfoster
Last Packager: robertfoster
Votes: 2
Popularity: 0.20
First Submitted: 2023-12-24 16:37 (UTC)
Last Updated: 2024-03-26 10:14 (UTC)

Dependencies (7)

Required by (0)

Sources (2)

Latest Comments

dreieck commented on 2024-04-17 12:02 (UTC)

Please add the non-git packages to the provides and conflicts array.

Currently, e.g. stable-diffusion.cpp-git, has provides=("stable-diffusion.cpp-git=r116.036ba9e").
Providing itself is senseless.

Please use stable-diffusion.cpp in the conflicts and provides array.

Regards and thanks for maintaining!

dreieck commented on 2024-04-17 11:13 (UTC)

Can you please remove ccache from makedepends, so that the user is not forced to install/ use it?

The user can enable ccache builds by setting the ccache-options in e.. /etc/makepkg.conf -- give the user freedom, please.

Regards!

dreieck commented on 2024-03-27 09:40 (UTC)

In your PKGBUILD you have

  if [ ! -d "${srcdir}/${_name}-cublas" ]; then
    cp -r "${srcdir}/${_name}" "${srcdir}/${_name}-cublas"
    cp -r "${srcdir}/${_name}" "${srcdir}/${_name}-openblas"
    cp -r "${srcdir}/${_name}" "${srcdir}/${_name}-hipblas"
  fi

Shouln't there be a specific ! -d-test before each cp statement?

You test for non-existence of ${_name}-cublas, and decide on the cublas-case also what to do with the openblas and hipblas variants.

Regards!

dreieck commented on 2024-03-27 09:33 (UTC)

Since several packages use ggml I made an extra package for it:
libggml-git.

This conflicts with packages that install their own ggml files:


error: failed to commit transaction (conflicting files)
libggml-git: /usr/include/ggml/ggml-alloc.h exists in filesystem (owned by stable-diffusion.cpp-hipblas-git)
libggml-git: /usr/include/ggml/ggml-backend.h exists in filesystem (owned by stable-diffusion.cpp-hipblas-git)
libggml-git: /usr/include/ggml/ggml.h exists in filesystem (owned by stable-diffusion.cpp-hipblas-git)
libggml-git: /usr/share/pkgconfig/ggml.pc exists in filesystem (owned by stable-diffusion.cpp-hipblas-git)

Can you remove all ggml-specific files and if needed add libggml to the depends array?

Regards!

dreieck commented on 2024-03-25 22:00 (UTC) (edited on 2024-03-25 22:03 (UTC) by dreieck)

I now get the error PKGBUILD: line 112: cd: stable-diffusion.cpp-clblas: No such file or directory:

==> Starting package_stable-diffusion.cpp-cublas-git()...
/tmp/makepkg/yay/stable-diffusion.cpp-git/PKGBUILD: line 112: cd: stable-diffusion.cpp-clblas: No such file or directory
==> ERROR: A failure occurred in package_stable-diffusion.cpp-cublas-git().

Did you mean "${_name}-cublas" instead of "${_name}-clblas"?

Then it builds fine for me.

Regards!

dreieck commented on 2024-03-25 13:17 (UTC)

clang needs to be added to makedepends array, and maybe also lld, since clang++ is used for compilation.

dreieck commented on 2024-03-25 13:14 (UTC) (edited on 2024-03-25 13:14 (UTC) by dreieck)

Ahoj,

please follow the Arch Linux guide on git submodules and list all submodules in the source array so that they get cloned when makepkg downloads the sources, and then only reference them in prepare().

Regards and thanks for maintaining!

dreieck commented on 2024-03-24 14:25 (UTC)

A note:

It now fails to build for me with

error: option 'cf-protection=return' cannot be specified on this target
error: option 'cf-protection=branch' cannot be specified on this target
189 warnings and 2 errors generated when compiling for gfx906.
make[2]: *** [ggml/src/CMakeFiles/ggml-rocm.dir/build.make:76: ggml/src/CMakeFiles/ggml-rocm.dir/ggml-cuda.cu.o] Error 1

(On AMD Zen 4, 7840U)

Regards!

dreieck commented on 2024-02-08 15:03 (UTC)

You need to rework your pkgver():

It must generate a higher version number with each upstream commit.

But for this package, this is erratic: master is a constant, and then follows the git commit hash, which has no ordering.

Please make sure that $pkgver increases with each upstream commit; as a last resort use r<commit_count> where <commit_count> can be retrieved programmatically with git rev-list --count HEAD.

ALSO

please follow the Arch Linux guide on git submodules and list all submodules in the source array and then only reference them in prepare().

Regards and thanks for maintaining!