Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 871015 - media-libs/libvisual-0.4.0-r3 - /.../lv_libvisual.c: error: call to undeclared function visual_cpu_initialize; ISO C99 and later d
Summary: media-libs/libvisual-0.4.0-r3 - /.../lv_libvisual.c: error: call to undeclare...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Sebastian Pipping
URL: https://github.com/Libvisual/libvisua...
Whiteboard:
Keywords:
: 882305 (view as bug list)
Depends on:
Blocks: c99-porting
  Show dependency tree
 
Reported: 2022-09-17 19:42 UTC by Toralf Förster
Modified: 2022-12-06 00:17 UTC (History)
4 users (show)

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


Attachments
emerge-info.txt (emerge-info.txt,17.56 KB, text/plain)
2022-09-17 19:42 UTC, Toralf Förster
Details
clang.tar.bz2 (clang.tar.bz2,3.21 KB, application/x-bzip)
2022-09-17 19:42 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,54.43 KB, text/plain)
2022-09-17 19:42 UTC, Toralf Förster
Details
environment (environment,90.27 KB, text/plain)
2022-09-17 19:42 UTC, Toralf Förster
Details
etc.portage.tar.bz2 (etc.portage.tar.bz2,31.65 KB, application/x-bzip)
2022-09-17 19:42 UTC, Toralf Förster
Details
logs.tar.bz2 (logs.tar.bz2,10.58 KB, application/x-bzip)
2022-09-17 19:42 UTC, Toralf Förster
Details
media-libs:libvisual-0.4.0-r3:20220917-181749.log (media-libs:libvisual-0.4.0-r3:20220917-181749.log,31.74 KB, text/plain)
2022-09-17 19:42 UTC, Toralf Förster
Details
temp.tar.bz2 (temp.tar.bz2,31.03 KB, application/x-bzip)
2022-09-17 19:42 UTC, Toralf Förster
Details
build.log.gz (build.log.gz,18.65 KB, application/gzip)
2022-11-24 21:59 UTC, Pacho Ramos
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2022-09-17 19:42:00 UTC
too long lines were shrinked:

/bin/sh ../libtool  --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-libs/libvisual-0.4.0-r3/work/libvisual-0.4.0/libvisual -I.. -I/var/tmp/portage/media-libs/libvisual-0.4.0-r3/work/libvisual-0.4.0 -I/var/tmp/portage/media-libs/libvisual-0.4.0-r3/work/libvisual-0.4.0/lib
/var/tmp/portage/media-libs/libvisual-0.4.0-r3/work/libvisual-0.4.0/libvisual/lv_libvisual.c:195:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
/var/tmp/portage/media-libs/libvisual-0.4.0-r3/work/libvisual-0.4.0/libvisual/lv_libvisual.c:315:2: error: call to undeclared function 'visual_cpu_initialize'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
        visual_cpu_initialize ();
        ^

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.1_desktop_plasma_systemd-j4-20220917-010004

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-12.2.0 *
clang/llvm (if any):
clang version 15.0.0
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/15/bin
/usr/lib/llvm/15
15.0.0
Python 3.10.7
Available Ruby profiles:
  (none found)
Available Rust versions:
  [1]   rust-bin-1.63.0 *
The Glorious Glasgow Haskell Compilation System, version 9.0.2
php cli (if any):
GNU Make 4.3.90

  HEAD of ::gentoo
commit 0ea94cb571143075420d6c7a42d6462b66a5f9e3
Author: Repository mirror & CI <repomirrorci@gentoo.org>
Date:   Sat Sep 17 17:16:46 2022 +0000

    2022-09-17 17:16:46 UTC

emerge -qpvO media-libs/libvisual
[ebuild  N    ] media-libs/libvisual-0.4.0-r3  USE="nls -debug -threads" ABI_X86="(64) -32 (-x32)"
Comment 1 Toralf Förster gentoo-dev 2022-09-17 19:42:01 UTC
Created attachment 809227 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2022-09-17 19:42:02 UTC
Created attachment 809230 [details]
clang.tar.bz2
Comment 3 Toralf Förster gentoo-dev 2022-09-17 19:42:03 UTC
Created attachment 809233 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2022-09-17 19:42:04 UTC
Created attachment 809236 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2022-09-17 19:42:06 UTC
Created attachment 809239 [details]
etc.portage.tar.bz2
Comment 6 Toralf Förster gentoo-dev 2022-09-17 19:42:06 UTC
Created attachment 809242 [details]
logs.tar.bz2
Comment 7 Toralf Förster gentoo-dev 2022-09-17 19:42:08 UTC
Created attachment 809245 [details]
media-libs:libvisual-0.4.0-r3:20220917-181749.log
Comment 8 Toralf Förster gentoo-dev 2022-09-17 19:42:09 UTC
Created attachment 809248 [details]
temp.tar.bz2
Comment 9 Sebastian Pipping gentoo-dev 2022-11-20 17:12:00 UTC
The build error is caused by the explicit -Werror=implicit-function-declaration in CFLAGS here:

>> declare -x CFLAGS="-pipe -march=native -fno-diagnostics-color -O2 -Werror=implicit-function-declaration -Werror=implicit-int"

Without -Werror=implicit-function-declaration both Clang 15 and GCC 12 (12.2.1_p20221008) seem to be able to build the code without errors.

If we want to patch on this issue downstream, there are four places like this in code that need patching:

>> lv_libvisual.c:315:9: warning: implicit declaration of function 'visual_cpu_initialize'; did you mean 'visual_mem_initialize'? [-Wimplicit-function-declaration]
>> lv_transform.c:154:9: warning: implicit declaration of function 'visual_transform_init'; did you mean 'visual_transform_new'? [-Wimplicit-function-declaration]
>> lv_math.c:66:13: warning: implicit declaration of function 'visual_cpu_get_sse' [-Wimplicit-function-declaration]
>> lv_math.c:112:20: warning: implicit declaration of function 'visual_cpu_get_3dnow' [-Wimplicit-function-declaration]

I could make a patch for that but then why pass -Werror=implicit-function-declaration in an end-user build focused on results rather than QA findings?  What do you think?
Comment 10 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2022-11-20 18:02:34 UTC
(In reply to Sebastian Pipping from comment #9)
> If we want to patch on this issue downstream, there are four places like
> this in code that need patching:

We don't want to pile up more downstream patches.  If upstream can't be alive enough to fix this package, let's get rid of it.

> I could make a patch for that but then why pass
> -Werror=implicit-function-declaration in an end-user build focused on
> results rather than QA findings?  What do you think?

Because this is how clang-16 behaves, so if we find problems today, we reduce the sudden fallout when it's released, and that's going to happen soon (in fact, normal release cycle suggests that it should have happened already but we're seeing some delays this year).
Comment 11 Sebastian Pipping gentoo-dev 2022-11-20 18:13:26 UTC
Thanks for elaborating.  I'll take over maintenance of the package for now.
Comment 12 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-20 20:04:02 UTC
(fwiw I did cover that on the ML but it's also explained on the tracker bug.)
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-20 20:53:29 UTC
*** Bug 882305 has been marked as a duplicate of this bug. ***
Comment 14 Sebastian Pipping gentoo-dev 2022-11-21 02:01:24 UTC
Taken upstream as a pull request now…
Comment 15 Pacho Ramos gentoo-dev 2022-11-24 21:59:12 UTC
Created attachment 836601 [details]
build.log.gz

I suffer the install abort even without passing any extra -Werror flags or using clang :/

# emerge --info libvisual
Portage 3.0.39 (python 3.11.0-final-0, default/linux/amd64/17.1/desktop/gnome/systemd, gcc-11.3.0, glibc-2.36-r5, 5.15.74-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.15.74-gentoo-x86_64-Intel-R-_Core-TM-_i7-7700HQ_CPU_@_2.80GHz-with-glibc2.36
KiB Mem:    16035144 total,    274212 free
KiB Swap:    5240828 total,   2831084 free
Timestamp of repository gentoo: Thu, 24 Nov 2022 07:30:01 +0000
Head commit of repository gentoo: bbd6fb20b5dac1d4b057d4a008fd0c27a6408988
sh bash 5.1_p16-r2
ld GNU ld (Gentoo 2.38 p4) 2.38
ccache version 4.7.3 [enabled]
app-misc/pax-utils:        1.3.5::gentoo
app-shells/bash:           5.1_p16-r2::gentoo
dev-java/java-config:      2.3.1::gentoo
dev-lang/perl:             5.34.1-r4::gentoo
dev-lang/python:           2.7.18_p16::gentoo, 3.10.8_p3::gentoo, 3.11.0_p2::gentoo
dev-lang/rust-bin:         1.65.0::gentoo
dev-util/ccache:           4.7.3::gentoo
dev-util/cmake:            3.24.3::gentoo
dev-util/meson:            0.63.3::gentoo
sys-apps/baselayout:       2.9::gentoo
sys-apps/openrc:           0.45.2-r1::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-apps/systemd:          251.4::gentoo
sys-devel/autoconf:        2.13-r7::gentoo, 2.71-r5::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.38-r2::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/clang:           15.0.3::gentoo
sys-devel/gcc:             11.3.0::gentoo
sys-devel/gcc-config:      2.8::gentoo
sys-devel/libtool:         2.4.7::gentoo
sys-devel/llvm:            14.0.6-r2::gentoo, 15.0.3::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.15-r3::gentoo (virtual/os-headers)
sys-libs/glibc:            2.36-r5::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-metamanifest: no
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24

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

guru
    location: /hdd/portage/local/layman/guru
    masters: gentoo
    priority: 50

science
    location: /hdd/portage/local/layman/science
    masters: gentoo
    priority: 50

torbrowser
    location: /hdd/portage/local/layman/torbrowser
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native -fno-stack-protector"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/cxoffice/etc/cxoffice.conf /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 -pipe -march=native -fno-stack-protector"
DISTDIR="/hdd/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n --autounmask-write --keep-going --autounmask=y --with-test-deps --autounmask-keep-masks"
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 XDG_STATE_HOME"
FCFLAGS="-O2 -pipe -march=native -fno-stack-protector"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live ccache cgroup compress-build-logs compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms sign split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=native -fno-stack-protector"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="es_ES.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
LINGUAS="es es_ES en en_US fr fr_FR"
MAKEOPTS="-j9"
PKGDIR="/hdd/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"
SHELL="/bin/bash"
USE="7z 7zip X a52 aac acl acpi alsa amd64 appindicator applet aptx archive aribsub avahi avx avx256 ayatana bash-completion bluetooth bluray branding btrfs bzip2 cairo ccache cdda cddb cdr chm chrome chromecast chromium cli colord context crypt cuda cups cvs dbus dell djvu dot dri dts dvd dvdr dvi ebook eds emoji enchant encode epspdf epub equalizer ethernet evince evo excel exif fat ffmpeg firefox flac flash fortran fuse games gdbm gdk-pixbuf gdm gedit gif gimp git gnome gnome-keyring gnome-online-accounts gnome-shell gnumeric google googledrive gphoto2 gpm grammar gromacs gstreamer gtk gtk3 gtkstyle gui heif hfs html http hwaccel ico icons iconv icu indicator inkscape inotify introspection ios ipod ipv6 irc iso jabber jpeg jumbo-build kate kpathsea latex lcms libass libdrm libglvnd libindicate libnotify librtmp libsecret libtirpc libv4l libvisual lm_sensors logitech loudness luatex lyx lz4 lzma lzo mad math matroska media mediaplayer metric microdns mms mmx mmxext mng mobi monolithic-build mp3 mp4 mpeg ms mtp multilib music musicbrainz nautilus ncurses network network-cron networkmanager nls nptl ntfs ntp numa nvdec nvenc nvidia nvme oauth offensive ogg opengl openmp openvpn optimized-qmake opus pam pango pdf pdfannotextractor pdfimport pipelight png policykit postscript ppapi ppds pptx projectm proprietary-codecs pstricks publishers pulseaudio qt5 rar raw rdp readline reiserfs rtf rtmp scanner screencast sdl seccomp sendto sftp skins slideshow smp sna snmp sox spell split-usr squashfs sse sse2 sse3 sse4 sse4_1 ssh ssl ssse3 startup-notification subtitles svg synaptics sysprof systemd t1lib tcpd test-rust theora thesaurus threads tiff tkip totem tracker truetype udev udisks uefi unicode update_drivedb upnp upnp-av upower usb user-session v4l vaapi vala vcd vdpau vector-icons vimeo visio vlc vnc vorbis vpx vulkan wayland webp wep wifi wma wmf wpg wxwidgets x264 x265 xattr xcb xephyr xetex xfs xft xml xmp xmpp xpm xps xv xvid xz youtube zeroconf zfs zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2021" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file 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 rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3" 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" INPUT_DEVICES="libinput wacom" KERNEL="linux" L10N="es es-ES en en-US fr fr-FR" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python2_7 python3_10 python3_11" RUBY_TARGETS="ruby27" USERLAND="GNU" VIDEO_CARDS="fbdev vesa intel i965 nouveau nvidia" 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:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 16 Pacho Ramos gentoo-dev 2022-11-24 22:03:43 UTC
The pull request fixes the problem :)
Comment 17 Larry the Git Cow gentoo-dev 2022-12-06 00:17:06 UTC
The bug has been closed via the following commit(s):

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

commit 577e8bde7cef90e98d5fcdca120abd09318fc9da
Author:     Sebastian Pipping <sping@gentoo.org>
AuthorDate: 2022-12-05 23:57:42 +0000
Commit:     Sebastian Pipping <sping@gentoo.org>
CommitDate: 2022-12-06 00:15:44 +0000

    media-libs/libvisual: 0.4.1 + EAPI 8
    
    Closes: https://bugs.gentoo.org/859922
    Closes: https://bugs.gentoo.org/871015
    Closes: https://bugs.gentoo.org/882811
    Signed-off-by: Sebastian Pipping <sping@gentoo.org>

 media-libs/libvisual/Manifest               |  1 +
 media-libs/libvisual/libvisual-0.4.1.ebuild | 50 +++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+)