when mplayer code was updated for gcc-14, sections of the code that are specific
to alpha were not patched, so it currently fails to build on alpha.
the build fails with:
Checking for ffmpeg/libavformat/protocols.c ... not found
Checking for ffmpeg/libavfilter/allfilters.c ... not found
Checking for cc version ... 16
Checking for working compiler ... yes
Detected operating system: Linux
Detected host architecture: alpha-ev5
Checking for cross compilation ... no
Checking for host cc ... cc
Checking for CPU type ... /tmp/mplayer-configure--1693274/tmp.c: In function 'main':
/tmp/mplayer-configure--1693274/tmp.c:5:5: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
5 | printf("%ld-%x\n", ver, ~mask);
| ^~~~~~
/tmp/mplayer-configure--1693274/tmp.c:1:1: note: include '<stdio.h>' or provide a declaration of 'printf'
+++ |+#include <stdio.h>
1 | int main(void) {
/tmp/mplayer-configure--1693274/tmp.c:5:5: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
5 | printf("%ld-%x\n", ver, ~mask);
| ^~~~~~
/tmp/mplayer-configure--1693274/tmp.c:5:5: note: include '<stdio.h>' or provide a declaration of 'printf'
Checking for GCC & CPU optimization abilities ...
Checking for byte order ... little-endian
Checking for extern symbol prefix ...
Checking for assembler support of -pipe option ... yes
Checking for relocatable binary ... no (unavailable or untested architecture)
I tried to patch the configure script
--- a/configure
+++ b/configure
@@ -2765,6 +2765,7 @@
echocheck "CPU type"
cat > $TMPC << EOF
+#include <stdio.h>
int main(void) {
unsigned long ver, mask;
__asm__ ("implver %0" : "=r" (ver));
now the build fails with:
cc -MMD -MP -Wundef -W -Wall -Wall -Wno-switch -Wno-parentheses -Wpointer-arith -Wredundant-decls -Werror=format-security -Wstrict-prototypes -Wmissing-prototypes -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=c11 -Werror-implicit-function-declaration -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ISOC99_SOURCE -I. -Iffmpeg -O2 -mcpu=ev67 -pipe -g -fno-tree-vectorize -fno-asynchronous-unwind-tables -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/mplayer-1.5+svn38681=. -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -D_REENTRANT -I/usr/include/p11-kit-1 -I/usr/include/samba-4.0 -I/usr/include/ -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/libpng16 -DZLIB_CONST -I/usr/include/bs2b -I/usr/include/alpha-linux-gnu -I/usr/include/gtk-2.0 -I/usr/lib/alpha-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/alpha-linux-gnu -I/usr/include/webp -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/alpha-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -c -o vidix/pci_names.o vidix/pci_names.c
In file included from vidix/pci.c:477:
vidix/sysdep/pci_alpha.c: In function 'pci_get_vendor':
vidix/sysdep/pci_alpha.c:15:48: error: passing argument 5 of 'pciconfig_read' from incompatible pointer type [-Wincompatible-pointer-types]
15 | pciconfig_read(bus, dev<<3, PCI_ID_REG, 4, &retval);
| ^~~~~~~
| |
| long unsigned int *
In file included from vidix/sysdep/AsmMacros_alpha.h:66,
from vidix/AsmMacros.h:70,
from vidix/pci.c:64:
/usr/include/alpha-linux-gnu/sys/io.h:76:43: note: expected 'unsigned char *' but argument is of type 'long unsigned int *'
76 | unsigned char *__buf) __THROW;
| ~~~~~~~~~~~~~~~^~~~~
vidix/sysdep/pci_alpha.c:12:15: warning: unused parameter 'func' [-Wunused-parameter]
12 | int func)
| ~~~~^~~~
vidix/sysdep/pci_alpha.c: In function 'pci_config_read_long':
vidix/sysdep/pci_alpha.c:26:41: error: passing argument 5 of 'pciconfig_read' from incompatible pointer type [-Wincompatible-pointer-types]
26 | pciconfig_read(bus, dev<<3, cmd, 4, &retval);
| ^~~~~~~
| |
| unsigned int *
/usr/include/alpha-linux-gnu/sys/io.h:76:43: note: expected 'unsigned char *' but argument is of type 'unsigned int *'
76 | unsigned char *__buf) __THROW;
| ~~~~~~~~~~~~~~~^~~~~
vidix/sysdep/pci_alpha.c:22:15: warning: unused parameter 'func' [-Wunused-parameter]
22 | int func,
| ~~~~^~~~
make[2]: *** [Makefile:729: vidix/pci.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/build/reproducible-path/mplayer-1.5+svn38681'
dh_auto_build: error: make -j3 mplayer returned exit code 2
make[1]: *** [debian/rules:97: override_dh_auto_build-arch] Error 25
make[1]: Leaving directory '/build/reproducible-path/mplayer-1.5+svn38681'
make: *** [debian/rules:94: binary-arch] Error 2
dpkg-buildpackage: error: debian/rules binary-arch subprocess failed with exit status 2
I still have to test if
--- a/vidix/sysdep/pci_alpha.c
+++ b/vidix/sysdep/pci_alpha.c
@@ -22,7 +22,7 @@
int func,
unsigned cmd)
{
- unsigned retval;
+ unsigned long retval;
pciconfig_read(bus, dev<<3, cmd, 4, &retval);
return retval;
}
fixes the error, and I'm not sure it's the right way to address this
so I intend to report this upstream