Package Details: lib32-libheif 1.19.5-1

Git Clone URL: https://aur.archlinux.org/lib32-libheif.git (read-only, click to copy)
Package Base: lib32-libheif
Description: HEIF file format decoder and encoder (32-bit)
Upstream URL: https://github.com/strukturag/libheif
Licenses: GPL3
Provides: libheif.so
Submitter: rodrigo21
Maintainer: sl1pkn07
Last Packager: sl1pkn07
Votes: 5
Popularity: 0.000001
First Submitted: 2018-09-03 23:49 (UTC)
Last Updated: 2025-01-18 12:57 (UTC)

Latest Comments

1 2 3 Next › Last »

vitaliikuzhdin commented on 2025-01-21 19:59 (UTC) (edited on 2025-01-21 20:00 (UTC) by vitaliikuzhdin)

is a minor change only affected to you, so not need bump the pkgrel

:: Deleting (1/9): /home/vitalii/.cache/yay/lib32-libheif
HEAD is now at c2abc03 bump
Removing libheif-1.19.5.tar.gz

Even clean-building using yay doesn't solve the error. This is not an issue specific to me. Even if it were only for me, I am still a user, and it is not that hard to bump the pkgrel. There is absolutely no reason to treat all warnings as errors unless during development. Neither is there a reason to keep it this way until the next release, since not bumping the pkgrel means no update.

the install includes only affect to packages include own specific architecture headers, like lib32-libtiff. i think this package is not the case. the binaries is already converted in the package() step

You are correct; I was only giving an example regarding the headers. However, the binaries still need to be removed, not renamed. There is no reason to keep them. No package will ever depend on them, as only the libraries are required.

On a side note, I wonder if there's a need to deviate so much from the original libheif in terms of included features

This point still stands. Please enable the same features as the 'official' libheif package. It does make a difference:

lib32-libheif/usr/lib32/                    libheif/usr/lib/
├── cmake                                   ├── cmake
│   └── libheif                             │   └── libheif
│       ├── libheif-config.cmake            │       ├── libheif-config.cmake
│       ├── libheif-config-noconfig.cmake   │       ├── libheif-config-noconfig.cmake
│       └── libheif-config-version.cmake    │       └── libheif-config-version.cmake
├── gdk-pixbuf-2.0                          ├── gdk-pixbuf-2.0
│   └── 2.10.0                              │   └── 2.10.0
│       └── loaders                         │       └── loaders
│           └── libpixbufloader-heif.so     │           └── libpixbufloader-heif.so
├── libheif                                 ├── libheif
│   ├── libheif-aomdec.so                   │   ├── libheif-dav1d.so     <-- entirely different backends
│   ├── libheif-aomenc.so                   │   ├── libheif-ffmpegdec.so <--
│   ├── libheif-libde265.so                 │   ├── libheif-rav1e.so     <--
│   └── libheif-x265.so                     │   └── libheif-svtenc.so    <--
├── libheif.so -> libheif.so.1              ├── libheif.so -> libheif.so.1
├── libheif.so.1 -> libheif.so.1.19.5       ├── libheif.so.1 -> libheif.so.1.19.5
├── libheif.so.1.19.5                       ├── libheif.so.1.19.5
└── pkgconfig                               └── pkgconfig
    └── libheif.pc                              └── libheif.pc

sl1pkn07 commented on 2025-01-18 14:03 (UTC) (edited on 2025-01-18 14:18 (UTC) by sl1pkn07)

is a minor change only affected to you, so not need bump the pkgrel

the install includes only affect to packages include own specific architecture headers, like lib32-libtiff. i think this package is not the case

the binaries is already converted in the package() step

greetings

vitaliikuzhdin commented on 2025-01-18 13:58 (UTC)

@sl1pkn07, you need to also increase the pkgrel and regenerate the .SRCINFO for users to notice the changes.

On a side note, I wonder if there's a need to deviate so much from the original libheif in terms of included features, and to install the binaries with the -32 postfix at all. Usually, only the 32-bit libraries are installed to /usr/lib32, and in very rare cases, architecture-specific headers would also be installed.

sl1pkn07 commented on 2025-01-18 12:57 (UTC)

done (?)

vitaliikuzhdin commented on 2025-01-13 11:41 (UTC) (edited on 2025-01-13 11:41 (UTC) by vitaliikuzhdin)

@sl1pkn07, after rebuilding all dependencies and retrying the build in a clean chroot, I was able to compile the package successfully. It doesn't seem like the chroot makepkg.conf flags are the reason for the issue:

--- /etc/makepkg.conf   2024-09-22 10:07:15.000000000 +0200
+++ /home/vitalii/chroot/root/etc/makepkg.conf  2024-11-27 19:26:18.000000000 +0100
@@ -95,7 +95,7 @@
 #-- lto:        Add compile flags for building with link time optimization
 #-- autodeps:   Automatically add depends/provides
 #
-OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto !autodeps)
+OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge debug lto)

 #-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
 INTEGRITY_CHECK=(sha256)

I'm guessing some package installed on my host system triggers cmake to set CMAKE_COMPILE_WARNING_AS_ERROR=ON, which is why I'm getting the error. Adding -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF to the build() function resolved the issue for me.

vitaliikuzhdin commented on 2025-01-13 07:49 (UTC) (edited on 2025-01-13 11:29 (UTC) by vitaliikuzhdin)

@sl1pkn07, the error I posted below occurred after I manually updated the pkgver, and it still persists for me. Here is some additional information you might find helpful:

$ pacman -Q | grep lib32-
lib32-aom 3.9.0-1
lib32-brotli 1.1.0-1
lib32-bzip2 1.0.8-4
lib32-expat 2.6.4-1
lib32-fontconfig 2:2.15.0-1
lib32-freetype2 2.13.3-2
lib32-fribidi 1.0.16-1
lib32-gcc-libs 14.2.1+r134+gab884fffe3fc-2
lib32-gdk-pixbuf2 2.42.12-2
lib32-glib2 2.82.4-1
lib32-glibc 2.40+r16+gaa533d58ff-2
lib32-harfbuzz 10.1.0-1
lib32-libdav1d 1.5.0-1
lib32-libde265 1.0.11-1
lib32-libffi 3.4.6-1
lib32-libice 1.1.1-2
lib32-libjpeg-turbo 3.1.0-1
lib32-libnuma 2.0.19-1
lib32-libpng 1.6.45-1
lib32-libsm 1.2.4-2
lib32-libtiff 4.7.0-1
lib32-libwebp 1.5.0-1
lib32-libx11 1.8.10-1
lib32-libxau 1.0.11-2
lib32-libxcb 1.17.0-1
lib32-libxdmcp 1.1.5-1
lib32-libxext 1.3.6-1
lib32-libxpm 3.5.13-5
lib32-libxt 1.3.1-1
lib32-pcre2 10.44-1
lib32-rav1e 0.7.1-2
lib32-rust-libs 1:1.84.0-1
lib32-svt-av1 2.3.0-1
lib32-util-linux 2.40.3-1
lib32-x265 4.0-1
lib32-xz 5.6.3-1
lib32-zlib 1.3.1-2
lib32-zstd 1.5.6-1

sl1pkn07 commented on 2025-01-13 07:09 (UTC) (edited on 2025-01-18 12:55 (UTC) by sl1pkn07)

==> Creative package "lib32-libheif-debug"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: lib32-libheif 1.19.5-1 (Mon Jan 13 08:08:41 2025)

nothing to do(?)

vitaliikuzhdin commented on 2025-01-10 19:06 (UTC)

[  4%] Building CXX object libheif/CMakeFiles/heif.dir/file.cc.o
In file included from /usr/include/c++/14.2.1/string:51,
                 from /home/vitalii/.cache/yay/lib32-libheif/src/libheif-1.19.5/libheif/common_utils.h:26,
                 from /home/vitalii/.cache/yay/lib32-libheif/src/libheif-1.19.5/libheif/box.h:25,
                 from /home/vitalii/.cache/yay/lib32-libheif/src/libheif-1.19.5/libheif/file.h:24,
                 from /home/vitalii/.cache/yay/lib32-libheif/src/libheif-1.19.5/libheif/file.cc:21:
In function ‘constexpr typename __gnu_cxx::__enable_if<std::__is_byte<_Tp>::__value, void>::__type std::__fill_a1(_Tp*, _Tp*, const _Tp&) [with _Tp = unsigned char]’,
    inlined from ‘constexpr void std::__fill_a(_FIte, _FIte, const _Tp&) [with _FIte = unsigned char*; _Tp = unsigned char]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:998:21,
    inlined from ‘constexpr _OutputIterator std::__fill_n_a(_OutputIterator, _Size, const _Tp&, random_access_iterator_tag) [with _OutputIterator = unsigned char*; _Size = unsigned int; _Tp = unsigned char]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:1151:20,
    inlined from ‘constexpr _OI std::fill_n(_OI, _Size, const _Tp&) [with _OI = unsigned char*; _Size = unsigned int; _Tp = unsigned char]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:1180:29,
    inlined from ‘static constexpr _ForwardIterator std::__uninitialized_default_n_1<true>::__uninit_default_n(_ForwardIterator, _Size) [with _ForwardIterator = unsigned char*; _Size = unsigned int]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:668:29,
    inlined from ‘static constexpr _ForwardIterator std::__uninitialized_default_n_1<true>::__uninit_default_n(_ForwardIterator, _Size) [with _ForwardIterator = unsigned char*; _Size = unsigned int]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:660:9,
    inlined from ‘constexpr _ForwardIterator std::__uninitialized_default_n(_ForwardIterator, _Size) [with _ForwardIterator = unsigned char*; _Size = unsigned int]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:712:20,
    inlined from ‘constexpr _ForwardIterator std::__uninitialized_default_n_a(_ForwardIterator, _Size, allocator<_Tp>&) [with _ForwardIterator = unsigned char*; _Size = unsigned int; _Tp = unsigned char]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:779:44,
    inlined from ‘constexpr void std::vector<_Tp, _Alloc>::_M_default_append(size_type) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]’ at /usr/include/c++/14.2.1/bits/vector.tcc:821:35,
    inlined from ‘constexpr void std::vector<_Tp, _Alloc>::resize(size_type) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]’ at /usr/include/c++/14.2.1/bits/stl_vector.h:1016:21,
    inlined from ‘Error HeifFile::set_item_data(const std::shared_ptr<Box_infe>&, const uint8_t*, size_t, heif_metadata_compression)’ at /home/vitalii/.cache/yay/lib32-libheif/src/libheif-1.19.5/libheif/file.cc:1026:22:
/usr/include/c++/14.2.1/bits/stl_algobase.h:972:25: error: ‘void* __builtin_memset(void*, int, unsigned int)’ offset 0 is out of the bounds [0, 0] [-Werror=array-bounds=]
  972 |         __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len);
      |         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [libheif/CMakeFiles/heif.dir/build.make:135: libheif/CMakeFiles/heif.dir/file.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1595: libheif/CMakeFiles/heif.dir/all] Error 2
make: *** [Makefile:166: all] Error 2