Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 782805 - games-engines/scummvm-2.2.0 fails to build with fluidsynth enabled
Summary: games-engines/scummvm-2.2.0 fails to build with fluidsynth enabled
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Michał Górny
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-14 09:17 UTC by Adam Jones
Modified: 2021-04-15 20:44 UTC (History)
4 users (show)

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


Attachments
build.log (build.log.gz,246.13 KB, application/octet-stream)
2021-04-14 09:19 UTC, Adam Jones
Details
scummvm-2.2.0-fluidsynth-2.2.0-api-treatment.patch (scummvm-2.2.0-fluidsynth-2.2.0-api-treatment.patch,10.23 KB, patch)
2021-04-14 20:13 UTC, Attila Tóth
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Jones 2021-04-14 09:17:47 UTC
With the "fluidsynth" USE flag enabled, the build fails with:

audio/softsynth/fluidsynth.cpp:254:11: error: invalid conversion from ‘int (*)(void*, int, void*)’ to ‘fluid_sfloader_callback_read_t’ {aka ‘int (*)(void*, long long int, void*)’} [-fpermissive]
  254 |           SoundFontMemLoader_read,
      |           ^~~~~~~~~~~~~~~~~~~~~~~
      |           |
      |           int (*)(void*, int, void*)

audio/softsynth/fluidsynth.cpp:255:11: error: invalid conversion from ‘int (*)(void*, long int, int)’ to ‘fluid_sfloader_callback_seek_t’ {aka ‘int (*)(void*, long long int, int)’} [-fpermissive]
  255 |           SoundFontMemLoader_seek,
      |           ^~~~~~~~~~~~~~~~~~~~~~~
      |           |
      |           int (*)(void*, long int, int)


emerge -pqv gives:
ebuild   R   ] games-engines/scummvm-2.2.0  USE="a52 aac alsa flac fluidsynth* gtk jpeg lua mp3 net opengl png theora truetype vorbis zlib -debug -fribidi -mpeg2 -speech -unsupported"

Reproducible: Always

Steps to Reproduce:
1. USE="a52 aac alsa flac fluidsynth* gtk jpeg lua mp3 net opengl png theora truetype vorbis zlib -debug -fribidi -mpeg2 -speech -unsupported" emerge -1 =games-engines/scummvm-2.2.0




emerge --info output:

Portage 3.0.18 (python 3.8.9-final-0, default/linux/amd64/17.1/systemd, gcc-10.3.0, glibc-2.33, 5.11.12 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.11.12-x86_64-AMD_Ryzen_7_3700X_8-Core_Processor-with-glibc2.2.5
KiB Mem:    32872620 total,   8593172 free
KiB Swap:    4194300 total,   4172824 free
Timestamp of repository gentoo: Wed, 14 Apr 2021 06:35:17 +0000
Head commit of repository gentoo: 29baed3d2660d031f9a46e1a9fb2b6070c8ee390

sh bash 5.1_p4
ld GNU ld (Gentoo 2.35.2 p1) 2.35.2
ccache version 4.2.1 [enabled]
app-shells/bash:          5.1_p4::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.32.1::gentoo
dev-lang/python:          2.7.18_p8::gentoo, 3.8.9::gentoo, 3.9.4::gentoo
dev-lang/rust-bin:        1.51.0::gentoo
dev-util/ccache:          4.2.1::gentoo
dev-util/cmake:           3.20.1::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.7-r1::gentoo
sys-apps/sandbox:         2.23::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.13.4-r2::gentoo, 1.16.3-r1::gentoo
sys-devel/binutils:       2.35.2::gentoo
sys-devel/gcc:            10.3.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.11::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo
    priority: -1000

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

binaryden
    location: /var/lib/layman/binaryden
    sync-type: laymansync
    sync-uri: https://github.com/tkemmer/binaryden.git
    masters: gentoo
    priority: 50

dotnet
    location: /var/lib/layman/dotnet
    sync-type: laymansync
    sync-uri: https://github.com/gentoo/dotnet.git
    masters: gentoo
    priority: 50

jorgicio
    location: /var/lib/layman/jorgicio
    sync-type: laymansync
    sync-uri: https://github.com/jorgicio/jorgicio-gentoo.git
    masters: gentoo
    priority: 50

niftyrepo
    location: /var/lib/layman/niftyrepo
    sync-type: laymansync
    sync-uri: git://github.com/simoncadman/niftyrepo-layman.git
    masters: gentoo
    priority: 50

steam-overlay
    location: /var/lib/layman/steam-overlay
    sync-type: laymansync
    sync-uri: git://github.com/anyc/steam-overlay.git
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n --changed-deps-report=n"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance ccache compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://www.mirrorservice.org/sites/distfiles.gentoo.org/ http://mirror.bytemark.co.uk/gentoo/"
LANG="en_GB.utf8"
LC_ALL="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_GB fr de ja"
MAKEOPTS="-j16"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac aacplus aacs accessibility acl acpi aiglx aio alsa amd64 amr ao asf async audiofile avahi avi avx avx2 bash-completion bdplus berkdb bitmap-fonts bluetooth bluray bonjour bzip2 cairo caps cdda cddb cdparanoia cdr cgi chromecast cjk cleartype cli cloudprint colord cron crypt cryptsetup cups curl cvs d3d9 dbus dcc device-mapper dga dirac directfb discard-path disk-partition dmi dmx dns-over-tls dri dri3 dvb dvd dvdnav dvdr dvdread egl enca encode epoll evdev exif exim exiscan exiscan-acl expat faac faad fam fbcon ffmpeg flac flash fluidsynth fma3 fma4 font-server fontconfig foomaticdb force-cgi-redirect fortran ftp fuse gallium gdbm gif git glamor glib glx gnome-keyring gnome-online-accounts gpg gphoto2 gpm graphviz gstreamer gtk gtk3 hdri http http2 hwaccel iconv icq icu id3tag idea idn imagemagick imap imlib indicate inotify introspection ipv6 irc jabber java javacomm javascript jbig jit jpeg jpeg2k json kpathsea kpoll kvm lame latex lcms ldb lensfun libass libglvnd libmpd libnotify librtmp libsamplerate libtirpc libv4l2 lm-sensors lm_sensors logrotate lto lua lz4 lzma lzo mad maildir matroska mbox mbx mdnsresponder-compat mercurial midi mikmod mime mms mmx mmxext mng mod modemmanager modpack modplug mono moonlight mp2 mp3 mp4 mpeg mpg123 mplayer msn mtp multilib ncurses net nethack netlink networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp nvenc nvme objc offensive ogg oggvorbis openal opencl openexr opengl openmp opus pam pango paranoia pcre pcre16 pdf perl php pkcs7 pm-utils png policykit pop portaudio posix postproc postscript ppds printsupport pulseaudio python python2 python3 pyzor pyzord qt qt3support qt4 qt5 quicktime radio rar raw razor rdp readline real rpc rtc rtmp rtsp s3tc samba scanner sdl seccomp semantic-desktop server session sftp sip smp smtp sndfile speex spell spice split-usr sql sqlite sqlite3 srt ssa sse sse2 sse3 sse4 sse4_1 sse4_2 ssl ssse3 startup-notification subtitles subversion svg symlink syslog systemd taglib tcpd tetex theora threads threadsafe thunar tiff timidity tls tpm transcode truetype truetype-fonts twolame type1-fonts type3 udev udisks uk_rt unicode upnp upnp-av usb user-session v4l v4l2 vaapi vdpau vkd3d vnc vorbis vpx vulkan wavpack wayland webdav webgl webkit webp wifi wma wmf x264 x265 xattr xcb xcomposite xext xface xft xinerama xkb xml xml2 xorg xrandr xscreensaver xulrunner xv xvid xz yahoo zeroconf zlib zstd" ABI_X86="32 64" ADA_TARGET="gnat_2018" ALSA_CARDS="intel-hda usb-audio" APACHE2_MODULES="access_compat actions alias auth_basic auth_digest authn_alias authn_anon authn_core authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_http proxy_connect rewrite setenvif socache_shmcb speling status unique_id unixd userdir usertrack version vhost_alias" CALLIGRA_FEATURES="karbon sheets words" CAMERAS="directory ptp2 sierra" COLLECTD_PLUGINS="capabilities chrony cpu cpufreq cpusleep df disk entropy interface iptables irq load memory network rrdtool perl processes sensors swap syslog turbostat" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="openssl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 multiboot pc qemu" INPUT_DEVICES="keyboard mouse evdev libinput" KERNEL="linux" L10N="en en_GB fr de ja" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="X86 BPF" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python3_8 python3_9" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby27 ruby30" SANE_BACKENDS="epson genesys net" USERLAND="GNU" VIDEO_CARDS="v4l nvidia nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS

=================================================================
                        Package Settings
=================================================================

games-engines/scummvm-2.2.0::gentoo was built with the following:
USE="a52 aac alsa flac gtk jpeg lua mp3 net opengl png theora truetype vorbis zlib -debug -fluidsynth -fribidi -mpeg2 -speech -unsupported" ABI_X86="(64)"
Comment 1 Adam Jones 2021-04-14 09:19:26 UTC
Created attachment 699807 [details]
build.log
Comment 2 jospezial 2021-04-14 16:37:59 UTC
Version of fluidsynth?
see also https://bugs.gentoo.org/show_bug.cgi?id=782868
Comment 3 Adam Jones 2021-04-14 16:41:29 UTC
This is building against media-sound/fluidsynth-2.2.0:0/2::gentoo

Downgrading to 2.1.5 seems to fix things.
Comment 4 jospezial 2021-04-14 16:48:33 UTC
confirming
=================================================================
                        Package Settings
=================================================================

media-sound/fluidsynth-2.2.0::gentoo was built with the following:
USE="alsa dbus ipv6 jack ladspa network pulseaudio readline sdl sndfile threads -debug -examples -lash -oss -portaudio -systemd" ABI_X86="(64) -32 (-x32)"
Comment 5 Adam Jones 2021-04-14 16:55:21 UTC
That seems to match: emerge -pv fluidsynth gives:

[ebuild     U  ] media-sound/fluidsynth-2.2.0:0/2::gentoo [2.1.5:0/2::gentoo] USE="alsa dbus ipv6 portaudio pulseaudio readline sdl sndfile systemd threads -debug -examples -jack -ladspa -lash -network -oss" ABI_X86="32 (64) (-x32)" 0 KiB
Comment 6 Attila Tóth 2021-04-14 20:13:11 UTC
Created attachment 699891 [details, diff]
scummvm-2.2.0-fluidsynth-2.2.0-api-treatment.patch

Takes care of the API change. I know, maybe a bit too much.
It's not backwards compatible in its current form.
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-04-15 19:43:12 UTC
I guess upstream fixed it already:
https://github.com/scummvm/scummvm/commit/d0d38b0199dae9a1dbfecc53db54dd0a070694b4

I'm going to try to reproduce, then backport the patch.
Comment 8 Larry the Git Cow gentoo-dev 2021-04-15 20:44:44 UTC
The bug has been closed via the following commit(s):

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

commit 08f671f9dce9ac08533038bca37c4a8563560710
Author:     Michał Górny <mgorny@gentoo.org>
AuthorDate: 2021-04-15 19:57:47 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2021-04-15 20:44:18 +0000

    games-engines/scummvm: Backport fluidsynth-2.2 fix
    
    Closes: https://bugs.gentoo.org/782805
    Signed-off-by: Michał Górny <mgorny@gentoo.org>

 .../files/scummvm-2.2.0-fluidsynth-2.2.patch       | 150 +++++++++++++++++++++
 ...cummvm-2.2.0.ebuild => scummvm-2.2.0-r1.ebuild} |   5 +-
 2 files changed, 153 insertions(+), 2 deletions(-)