#1151191 mplayer: FTBFS on alpha port with gcc-14

Package:
mplayer
Source:
mplayer
Description:
movie player for Unix-like systems
Submitter:
Lorenzo Puliti
Date:
2026-10-17 22:59:02 UTC
Severity:
normal
Tags:
#1151191#5
Date:
2026-10-17 22:56:08 UTC
From:
To:
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