Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 944147 - =media-libs/xine-lib-1.2.13-r2 fails with c23/gcc-15.0.0_pre20241117: input_file.c:738:43: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(const xine_mrl_t *, const xine_mrl_t *)’ {aka ‘int (*)(const struct xine_mrl_s *, c
Summary: =media-libs/xine-lib-1.2.13-r2 fails with c23/gcc-15.0.0_pre20241117: input_f...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
: 944400 (view as bug list)
Depends on:
Blocks: c23-porting
  Show dependency tree
 
Reported: 2024-11-20 14:14 UTC by tdr
Modified: 2024-11-24 23:15 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (tdr-emerge--info.txt,6.30 KB, text/plain)
2024-11-20 14:14 UTC, tdr
Details
build failure log (xine-lib-1.2.13-r2.build.log,164.95 KB, text/plain)
2024-11-20 14:15 UTC, tdr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tdr 2024-11-20 14:14:15 UTC
c23 is more strict than previous standards

Reproducible: Always

Steps to Reproduce:
emerge -1 =gcc-15.0.0_pre20241117
USE="X a52 aac aalib alsa bluray css dav1d dts dvb dxr3 fbcon flac gtk imagemagick jpeg libcaca mad mmap mng modplug musepack nfs nls opengl pulseaudio sdl speex theora truetype v4l vcd vdr vorbis vpx wavpack wayland xinerama xv xvmc -jack -oss -samba -sftp -vaapi -vdpau (-vidix) (-vis)" emerge -1 = media-libs/xine-lib-1.2.13-r2:1::gentoo
Actual Results:  
../input/input_file.c: In function ‘file_input_class_get_dir’:
../input/input_file.c:738:43: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(const xine_mrl_t *, const xine_mrl_t *)’ {aka ‘int (*)(const struct xine_mrl_s *, const struct xine_mrl_s *)’} [-Wincompatible-pointer-types]
  738 |   int                 (*func) ()        = file_input_sortfiles_default;
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../input/input_file.c:918:59: error: passing argument 4 of ‘qsort’ from incompatible pointer type [-Wincompatible-pointer-types]
  918 |       qsort(dir_files, num_dir_files, sizeof(xine_mrl_t), func);
      |                                                           ^~~~
      |                                                           |
      |                                                           int (*)(void)
In file included from ../../include/xine/xineutils.h:27,
                 from ../../include/xine/input_plugin.h:28,
                 from ../../include/xine/xine_internal.h:35,
                 from builtins.h:26,
                 from builtins.c:29:
/usr/include/stdlib.h:971:34: note: expected ‘__compar_fn_t’ {aka ‘int (*)(const void *, const void *)’} but argument is of type ‘int (*)(void)’
  971 |                    __compar_fn_t __compar) __nonnull ((1, 4));
      |                    ~~~~~~~~~~~~~~^~~~~~~~
../input/input_file.c:921:61: error: passing argument 4 of ‘qsort’ from incompatible pointer type [-Wincompatible-pointer-types]
  921 |       qsort(hide_files, num_hide_files, sizeof(xine_mrl_t), func);
      |                                                             ^~~~
      |                                                             |
      |                                                             int (*)(void)
/usr/include/stdlib.h:971:34: note: expected ‘__compar_fn_t’ {aka ‘int (*)(const void *, const void *)’} but argument is of type ‘int (*)(void)’
  971 |                    __compar_fn_t __compar) __nonnull ((1, 4));
      |                    ~~~~~~~~~~~~~~^~~~~~~~
../input/input_file.c:924:61: error: passing argument 4 of ‘qsort’ from incompatible pointer type [-Wincompatible-pointer-types]
  924 |       qsort(norm_files, num_norm_files, sizeof(xine_mrl_t), func);
      |                                                             ^~~~
      |                                                             |
      |                                                             int (*)(void)
/usr/include/stdlib.h:971:34: note: expected ‘__compar_fn_t’ {aka ‘int (*)(const void *, const void *)’} but argument is of type ‘int (*)(void)’
  971 |                    __compar_fn_t __compar) __nonnull ((1, 4));
      |                    ~~~~~~~~~~~~~~^~~~~~~~


builds successfully with CFLAGS="${CFLAGS} -std=gnu17"
Comment 1 tdr 2024-11-20 14:14:57 UTC
Created attachment 910507 [details]
emerge --info
Comment 2 tdr 2024-11-20 14:15:26 UTC
Created attachment 910508 [details]
build failure log
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-11-24 23:06:59 UTC
*** Bug 944400 has been marked as a duplicate of this bug. ***
Comment 4 Larry the Git Cow gentoo-dev 2024-11-24 23:15:39 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bde3e9ee2f5346071a8a42aa366c9b615b249f46

commit bde3e9ee2f5346071a8a42aa366c9b615b249f46
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-11-24 23:11:07 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-11-24 23:15:16 +0000

    media-libs/xine-lib: build w/ -std=gnu17
    
    Old codebase.
    
    Closes: https://bugs.gentoo.org/944147
    Signed-off-by: Sam James <sam@gentoo.org>

 media-libs/xine-lib/xine-lib-1.2.13-r2.ebuild | 3 +++
 media-libs/xine-lib/xine-lib-1.2.9999.ebuild  | 3 +++
 2 files changed, 6 insertions(+)