I cant build
Its because its flaged outdated?
Git Clone URL: | https://aur.archlinux.org/lib32-gst-bad-ugly.git (read-only, click to copy) |
---|---|
Package Base: | lib32-gst-bad-ugly |
Description: | Multimedia graph framework (32-bit) - bad plugins |
Upstream URL: | https://gstreamer.freedesktop.org/ |
Licenses: | LGPL |
Replaces: | lib32-gst-plugins-bad-latest |
Submitter: | ahmubashshir |
Maintainer: | ahmubashshir (MarsSeed) |
Last Packager: | ahmubashshir |
Votes: | 50 |
Popularity: | 1.64 |
First Submitted: | 2023-01-07 17:47 (UTC) |
Last Updated: | 2024-12-16 06:56 (UTC) |
I cant build
Its because its flaged outdated?
essentially this package currently doesn't build because something changed in the h265 encoding, it needs the equivalent of the following patch from main arch https://gitlab.archlinux.org/archlinux/packaging/packages/gstreamer/-/blob/main/0002-x265enc-Unbreak-build-with-x265-4.0.patch?ref_type=heads > edit: this patch can simply be applied, so no more incompatible pointer types
Fails to build. It's missing some new patches from the repo package.
I also have to update lib32-ffmpeg to version 7.1
@Ragnor & @sgt-hartman, try building in a chroot using paru...
@sgt-hartman, I have a similar error:
предупреждение: /usr/include/elfutils32: Нет такого файла или каталога [-Wmissing-include-dirs]
But after reading a build log, I realized that firstly
gitlint
is missing and needs to be installed, and secondly, which is related to the error, libelf
package contains /usr/include/elfutils . But by mistake /usr/include/elfutils32 is required, which probably means that the package is 32-bit. But I studied the issue and realized that elfutils operates 64 and 32-bit libraries, so elfutils32 is specified by mistake. It should be /usr/include/elfutils and libelf
package. So I tried to create a symbolic link sudo ln -s /usr/include/elfutils /usr/include/elfutils32 and build the package. This time I received a different error and it is not clear where to go next:
../gstreamer/subprojects/gst-plugins-bad/ext/vulkan/vkh264dec.c: В функции «_fill_ref_slot»:
../gstreamer/subprojects/gst-plugins-bad/ext/vulkan/vkh264dec.c:1113:27: предупреждение: формат «%lx» ожидает аргумент типа «long unsigned int», но аргумент 8 имеет тип «VkImageView» {aka «long long unsigned int»} [-Wformat=]
1113 | GST_TRACE_OBJECT (self, "0x%lx slotIndex: %d", res->imageViewBinding,
| ^~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
| |
| VkImageView {aka long long unsigned int}
/usr/include/gstreamer-1.0/gst/gstinfo.h:727:31: замечание: в определении макроса «GST_CAT_LEVEL_LOG»
727 | (GObject *) (object), __VA_ARGS__); \
| ^~~~~~~~~~~
../gstreamer/subprojects/gst-plugins-bad/ext/vulkan/vkh264dec.c:1113:3: замечание: в расширении макроса «GST_TRACE_OBJECT»
1113 | GST_TRACE_OBJECT (self, "0x%lx slotIndex: %d", res->imageViewBinding,
| ^~~~~~~~~~~~~~~~
../gstreamer/subprojects/gst-plugins-bad/ext/vulkan/vkh264dec.c:1113:32: замечание: форматная цепочка определена здесь
1113 | GST_TRACE_OBJECT (self, "0x%lx slotIndex: %d", res->imageViewBinding,
| ~~^
| |
| long unsigned int
| %llx
...
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /var/tmp/pamac-build-ragnor/lib32-gst-bad-ugly/src/build
==> ОШИБКА: Произошел сбой в build().
Прерывание...
I can't make it to compile (tried by rebuilding all dependencies as well).
FAILED: subprojects/gst-plugins-bad/ext/x265/libgstx265.so.p/gstx265enc.c.o
gcc -m32 -Isubprojects/gst-plugins-bad/ext/x265/libgstx265.so.p -Isubprojects/gst-plugins-bad/ext/x265 -I../gstreamer/subprojects/gst-plugins-bad/ext/x265 -Isubprojects/gst-plugins-bad -I../gstreamer/subprojects/gst-plugins-bad -I/usr/include/gstreamer-1.0 -I/usr/include/elfutils32 -I/usr/include/glib-2.0 -I/usr/lib32/glib-2.0/include -I/usr/include/orc-0.4 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -fvisibility=hidden -fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -Wmissing-prototypes -Wold-style-definition -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto -fPIC -pthread -DHAVE_CONFIG_H -MD -MQ subprojects/gst-plugins-bad/ext/x265/libgstx265.so.p/gstx265enc.c.o -MF subprojects/gst-plugins-bad/ext/x265/libgstx265.so.p/gstx265enc.c.o.d -o subprojects/gst-plugins-bad/ext/x265/libgstx265.so.p/gstx265enc.c.o -c ../gstreamer/subprojects/gst-plugins-bad/ext/x265/gstx265enc.c
cc1: warning: /usr/include/elfutils32: No such file or directory [-Wmissing-include-dirs]
../gstreamer/subprojects/gst-plugins-bad/ext/x265/gstx265enc.c: In function ‘gst_x265_enc_encode_frame’:
../gstreamer/subprojects/gst-plugins-bad/ext/x265/gstx265enc.c:1553:28: error: passing argument 5 of ‘api->encoder_encode’ from incompatible pointer type [-Wincompatible-pointer-types]
1553 | &nal, i_nal, pic_in, &pic_out);
| ^~~~~~~~
| |
| x265_picture *
I managed to make it to compile using the following flag: "-Wno-incompatible-pointer-types":
export CC='gcc -m32 -Wno-incompatible-pointer-types'
export CXX='g++ -m32 -Wno-incompatible-pointer-types'
But i'm not sure about the consequences (i'm not a C/C++ dev)
@TheFeelTrain, regarding the broken link of icuuc.so in gstlaspa.so, it's caused by lib32-raptor.
% find $PWD -name '*.so*' -not -type l | while read -r so; do
> ldd $so 2>/dev/null|grep icuuc |if grep -q 'not found'; then echo $so; fi
> done
/usr/lib32/gstreamer-1.0/libgstladspa.so
/usr/lib32/libraptor2.so.0.0.0
/usr/lib32/liblrdf.so.2.0.0
% ldd /usr/lib32/gstreamer-1.0/libgstladspa.so | grep -E 'icuuc|raptor|lrdf'
liblrdf.so.2 => /usr/lib32/liblrdf.so.2 (0xf2cb7000)
libraptor2.so.0 => /usr/lib32/libraptor2.so.0 (0xf26cb000)
libicuuc.so.74 => not found
libicuuc.so.75 => /usr/lib32/libicuuc.so.75 (0xf1bc8000)
% ldd /usr/lib32/liblrdf.so.2 | grep -E 'icuuc|raptor|lrdf'
libraptor2.so.0 => /usr/lib32/libraptor2.so.0 (0xea7aa000)
libicuuc.so.74 => not found
libicuuc.so.75 => /usr/lib32/libicuuc.so.75 (0xe9996000)
% pactree --reverse lib32-raptor
lib32-raptor
└─lib32-liblrdf
└─lib32-gst-plugins-bad
% pacman -Si lib32-raptor
Repository : chaotic-aur
Name : lib32-raptor
Version : 2.0.16-2
Description : A C library that parses RDF/XML/N-Triples into RDF triples (32 bit)
Architecture : x86_64
URL : https://librdf.org/raptor
Licenses : Apache GPL2 LGPL2.1
Groups : None
Provides : None
Depends On : lib32-glibc lib32-libxml2 lib32-libxslt lib32-xz lib32-zlib raptor
Optional Deps : None
Conflicts With : None
Replaces : None
Download Size : 167.11 KiB
Installed Size : 441.59 KiB
Packager : Garuda Builder <team@garudalinux.org>
Build Date : Fri 01 Mar 2024 12:07:11 PM +06
Validated By : SHA-256 Sum
as you can see, both gstladspa and lrdf correctly links to icuuc.so.75, but because of broken link in raptor, it contains a link to icuuc.so.74 too...
Please, remember to find out the cause of the issue before flagging.
N.B. Rebuild dependencies before reporting a linking error.
I'm unflagging this, if you want the issue fixed, rebuild lib32-raptor yourself.
ArchWiki: AUR#Flagging_packages_out-of-date
Edit: I use chaotic-aur, I know this can cause such silly issues, and when I find them, I report them in chaotic-aur's github...
Just posting this out of curiosity, this isn't an issue or anything. I have a few tests that consistently fail.
Summary of Failures:
42/120 gst-plugins-bad / elements_nvenc FAIL 9.83s killed by signal 11 SIGSEGV
79/120 gst-plugins-bad / elements_avtpcrfbase FAIL 3.91s exit status 1
102/120 gst-plugins-bad / elements_x265enc FAIL 2.90s exit status 1
119/120 gst-plugins-bad / elements_vkcolorconvert FAIL 25.40s exit status 1
This is simply because subprojects/gst-plugins-bad/ext/ladspa/libgstladspa.so
keeps linking to libicuuc.so.74
even though my system has libicuuc.so.75
I was under the impression that this was built during the overall build and can't figure out why it's linking to a different version.
Maybe someone who isn't an idiot like me can help me understand why.
@silverhikari
true, commenting out that line instead of manually adding the patch seemed to have done the trick.
Pinned Comments
ahmubashshir commented on 2023-11-18 14:43 (UTC) (edited on 2023-11-18 14:44 (UTC) by ahmubashshir)
If you have any improvements/suggestions for the pkgbuilds I maintain, please create an issue/pr on github.com/ahmubashshir/pkgbuilds or send the patches to ahmubashshir+pkgbuilds@gmail.com
p.s. sorry for being late, I was busy with my mid and part-time job last three months... it was truly chaotic...