Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 739320 - media-video/vlc-3.0.11.1 fails to build with net-libs/libupnp-1.14.0
Summary: media-video/vlc-3.0.11.1 fails to build with net-libs/libupnp-1.14.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: CVE-2020-13848
  Show dependency tree
 
Reported: 2020-08-27 20:17 UTC by Xavier Miller (RETIRED)
Modified: 2020-08-30 18:35 UTC (History)
4 users (show)

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


Attachments
build.log (build.log.bz2,61.39 KB, application/x-bzip2)
2020-08-27 20:21 UTC, Xavier Miller (RETIRED)
Details
libupnp-1.14.0-compatibility.patch (libupnp-1.14.0-compatibility.patch,988 bytes, patch)
2020-08-30 00:25 UTC, Thomas Deutschmann (RETIRED)
Details | Diff
version 2 of the patch from comment 3 (libupnp-1.14.0-compatibility.patch,4.66 KB, patch)
2020-08-30 08:22 UTC, Benjamin Réveillé
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Xavier Miller (RETIRED) gentoo-dev 2020-08-27 20:17:00 UTC
after emerging net-libs/libupnp-1.14.0, media-video/vlc needs to be rebuilt, but it fails:

../doltlibtool  --tag=CXX   --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I..  -DMODULE_STRING=\"$(p="services_discovery/libupnp_plugin_la-upnp.lo"; p="${p##*/}"; p="${p#lib}"; p="${p%_plugin*}"; p=$(echo "$p"|sed 's/-/_/g
'); p="${p%.lo}"; echo "$p")\" -D__PLUGIN__  -I./access -I./codec -I../include -I../include   -pthread -I/usr/include/upnp -O2 -pipe -fomit-frame-pointer -march=native -mtune=native -std=c++11 -Wall -Wextra -Wsign-compare -Wundef -Wpoin
ter-arith -Wvolatile-register-var -Wformat -Wformat-security -fvisibility=hidden -c -o services_discovery/libupnp_plugin_la-upnp.lo `test -f 'services_discovery/upnp.cpp' || echo './'`services_discovery/upnp.cpp                         
services_discovery/upnp.cpp: In static member function ‘static UpnpInstanceWrapper* UpnpInstanceWrapper::get(vlc_object_t*, services_discovery_t*)’:                                                                                        
services_discovery/upnp.cpp:1713:21: error: ‘UpnpInit’ was not declared in this scope; did you mean ‘UpnpInit2’?                                                                                                                            
 1713 |         int i_res = UpnpInit( psz_hostip, 0 );
      |                     ^~~~~~~~
      |                     UpnpInit2
services_discovery/upnp.cpp: In member function ‘bool Access::MediaServer::addItem(IXML_Element*)’:
services_discovery/upnp.cpp:1087:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1087 |                 if (!p_item) {
      |                 ^~
services_discovery/upnp.cpp:1091:13: note: here
 1091 |             case ItemDescriptionHolder::VIDEO:
      |             ^~~~
make[4]: *** [Makefile:26746: services_discovery/libupnp_plugin_la-upnp.lo] Error 1
make[4]: Leaving directory '/var/tmp/portage/media-video/vlc-3.0.11.1/work/vlc-3.0.11.1/modules'
make[3]: *** [Makefile:27659: all-recursive] Error 1
make[3]: Leaving directory '/var/tmp/portage/media-video/vlc-3.0.11.1/work/vlc-3.0.11.1/modules'
make[2]: *** [Makefile:12607: all] Error 2
make[2]: Leaving directory '/var/tmp/portage/media-video/vlc-3.0.11.1/work/vlc-3.0.11.1/modules'
make[1]: *** [Makefile:1565: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/media-video/vlc-3.0.11.1/work/vlc-3.0.11.1'
make: *** [Makefile:1450: all] Error 2
 * ERROR: media-video/vlc-3.0.11.1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=media-video/vlc-3.0.11.1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-video/vlc-3.0.11.1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/media-video/vlc-3.0.11.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-video/vlc-3.0.11.1/temp/environment'.
 * Working directory: '/var/tmp/portage/media-video/vlc-3.0.11.1/work/vlc-3.0.11.1'
 * S: '/var/tmp/portage/media-video/vlc-3.0.11.1/work/vlc-3.0.11.1'

>>> Failed to emerge media-video/vlc-3.0.11.1, Log file:


emerge --info '=media-video/vlc-3.0.11.1::gentoo'
Portage 3.0.4 (python 3.7.9-final-0, default/linux/amd64/17.1/no-multilib, gcc-10.2.0, glibc-2.32, 5.8.4-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.8.4-gentoo-x86_64-Intel-R-_Core-TM-_i7-8850H_CPU_@_2.60GHz-with-gentoo-2.7
KiB Mem:    16214624 total,   2222076 free
KiB Swap:   33554428 total,  33554428 free
Head commit of repository gentoo: ac460d01c81d305d1cacd42d5c5041785be448a3

Head commit of repository audio-overlay: 8de904174dd638feb3fc6f0cdc3272680a65bb32

Head commit of repository local: f9b2880e2c70a02f4a4528184e21aff6bbd777a3

sh bash 5.0_p18
ld GNU ld (Gentoo 2.34 p6) 2.34.0
app-shells/bash:          5.0_p18::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.30.3-r1::gentoo
dev-lang/python:          2.7.18-r1::gentoo, 3.7.9::gentoo, 3.8.5::gentoo, 3.9.0_rc1::gentoo
dev-util/cmake:           3.18.1::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.20::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.13.4-r2::gentoo, 1.16.2::gentoo
sys-devel/binutils:       2.34-r2::gentoo
sys-devel/gcc:            10.2.0-r1::gentoo
sys-devel/gcc-config:     2.3.1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.8::gentoo (virtual/os-headers)
sys-libs/glibc:           2.32::gentoo
Repositories:

gentoo
    location: /var/portage/repos/gentoo
    sync-type: git
    sync-uri: git://anongit.gentoo.org/repo/gentoo.git
    priority: -1000

audio-overlay
    location: /var/portage/repos/audio-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-audio/audio-overlay.git
    masters: gentoo

local
    location: /usr/local/portage
    sync-type: git
    sync-uri: /data/nas/xavier/git_repos/local_overlay.git/
    masters: gentoo

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE as-is freedist"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer -march=native -mtune=native"
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 -pipe -fomit-frame-pointer -march=native -mtune=native"
DISTDIR="/var/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y --quiet-build=n --buildpkg"
ENV_UNSET="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 buildpkg candy 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 strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="fr_BE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--hash-style=gnu -Wl,--as-needed"
LINGUAS="fr nl fr_FR fr_BE nl_NL nl_BE"
MAKEOPTS="-j14 -l13"
PKGDIR="/var/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="3dnow 3dnowext X a52 aac acpi aes alsa amd64 apng avx avx2 branding bzip2 cairo cdda cddb cdio cli crossdev crypt cryptsetup css cups dbus dlna dri dssi dts dvb dvd exif f16c fftw flac fluidsynth fma3 gif glamor gnome-keyring gpm gtk gudev iconv jack joystick jpeg ladspa lash lcms libcanberra libglvnd libinput libnotify libsamplerate libtirpc mad matroska midi mmx mmxext mng mp3 mpeg mtp natspec ncurses network nls nptl ocr ogg openal opengl openmp opus osc pam pango pclmul pcre pdf png popcnt printsupport qt5 readline rubberband sane scanner sdl seccomp sna sndfile snmp spell split-usr sqlite sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 startup-notification svg threads tiff timidity truetype udev unicode upnp usb uxa vaapi vorbis wmf x264 xattr xcb xinerama xml xosd xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="hda-intel usb-audio virmidi" 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 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="keyboard mouse libinput joystick" KERNEL="linux" L10N="fr nl" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LIRC_DEVICES="ftdi" LLVM_TARGETS="X86" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2 php7-3" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_7" QEMU_USER_TARGETS="arm" RUBY_TARGETS="ruby25" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="intel i965" XFCE_PLUGINS="brightness trash" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

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

media-video/vlc-3.0.11.1::gentoo was built with the following:
USE="X a52 alsa cddb dbus dts dvbpsi dvd encode ffmpeg flac fluidsynth gcrypt gnome-keyring jack jpeg libnotify libsamplerate lua mad matroska mp3 mpeg mtp ncurses ogg opus png qt5 ssl svg truetype udev upnp v4l vaapi vorbis x264 xml -aom -archive -aribsub -bidi -bluray -chromaprint -chromecast -dav1d -dc1394 -debug (-directx) -faad -fdk -fontconfig -gme -gstreamer -ieee1394 -kate -libass -libcaca -libtar -libtiger -linsys -lirc -live -macosx-notifications -modplug -musepack -nfs -omxil -optimisememory -projectm -pulseaudio -rdp -run-as-root -samba -sdl-image -sftp -shout -sid -skins -soxr -speex -srt -taglib -test -theora -tremor -twolame -vdpau -vnc -vpx -wayland -x265 -zeroconf -zvbi" CPU_FLAGS_X86="mmx sse"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer -march=native -mtune=native -std=c++11"
FEATURES="distlocks usersync strict candy unknown-features-warn userpriv fixlafiles userfetch merge-sync news protect-owned assume-digests buildpkg unmerge-orphans binpkg-docompress sandbox sfperms parallel-fetch multilib-strict unmerge-logs pid-sandbox ebuild-locks binpkg-dostrip network-sandbox binpkg-logs config-protect-if-modified preserve-libs ipc-sandbox usersandbox qa-unresolved-soname-deps"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--hash-style=gnu -Wl,--as-needed -L/usr/lib64/sidplay/builders/"


Reproducible: Always
Comment 1 Xavier Miller (RETIRED) gentoo-dev 2020-08-27 20:18:57 UTC
[ebuild   R    ] net-libs/libupnp-1.14.0::gentoo  USE="reuseaddr -blocking-tcp -debug -doc -ipv6 -samples -static-libs" 0 KiB
[ebuild   R    ] media-video/vlc-3.0.11.1:0/5-9::gentoo  USE="X a52 alsa cddb dbus dts dvbpsi dvd encode ffmpeg flac fluidsynth gcrypt gnome-keyring jack jpeg libnotify libsamplerate lua mad matroska mp3 mpeg mtp ncurses ogg opus png qt5 ssl svg truetype udev upnp v4l vaapi vorbis x264 xml -aom -archive -aribsub -bidi -bluray -chromaprint -chromecast -dav1d -dc1394 -debug (-directx) -faad -fdk -fontconfig -gme -gstreamer -ieee1394 -kate -libass -libcaca -libtar -libtiger -linsys -lirc -live -macosx-notifications -modplug -musepack -nfs -omxil -optimisememory -projectm -pulseaudio -rdp -run-as-root -samba -sdl-image -sftp -shout -sid -skins -soxr -speex -srt -taglib -test -theora -tremor -twolame -vdpau -vnc -vpx -wayland -x265 -zeroconf -zvbi" CPU_FLAGS_X86="mmx sse" 0 KiB
Comment 2 Xavier Miller (RETIRED) gentoo-dev 2020-08-27 20:21:19 UTC
Created attachment 657182 [details]
build.log
Comment 3 Thomas Deutschmann (RETIRED) gentoo-dev 2020-08-30 00:25:21 UTC
Created attachment 657452 [details, diff]
libupnp-1.14.0-compatibility.patch

Caused by https://github.com/pupnp/pupnp/commit/7b3f0f5f497f9f493c82307af495b87fa9ebdacb

Are you actually using UPnP? Can you test the attached patch?
Comment 4 Benjamin Réveillé 2020-08-30 07:49:53 UTC
Proposed patch from Comment 3 fails:
"
services_discovery/upnp.cpp: Dans la fonction membre statique ��static UpnpInstanceWrapper* UpnpInstanceWrapper::get(vlc_object_t*, services_discovery_t*)��:
services_discovery/upnp.cpp:1705:26: erreur: ��getPreferedAdapter�� n'a pas �t� d�clar� dans cette port�e
 1705 |             psz_miface = getPreferedAdapter();
      |                          ^~~~~~~~~~~~~~~~~~
"

I'm guessing getPreferedAdapter is declared behind another #ifdef UPNP_ENABLE_IPV6
Comment 5 Benjamin Réveillé 2020-08-30 08:22:22 UTC
Created attachment 657456 [details, diff]
version 2 of the patch from comment 3

With this new patch It compiles and plyaing my upnpn shares from vlc works (although in IPV4)...

Maybe a simpler solution would be to "-D UPNP_ENABLE_IP6" on configure...
Comment 6 Xavier Miller (RETIRED) gentoo-dev 2020-08-30 13:57:09 UTC
(In reply to Benjamin Réveillé from comment #5)
> Created attachment 657456 [details, diff] [details, diff]
> version 2 of the patch from comment 3
> 
> With this new patch It compiles and plyaing my upnpn shares from vlc works
> (although in IPV4)...
> 
> Maybe a simpler solution would be to "-D UPNP_ENABLE_IP6" on configure...

This patch works for me, thanks!
Comment 7 Larry the Git Cow gentoo-dev 2020-08-30 15:22:22 UTC
The bug has been closed via the following commit(s):

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

commit 878c4f43fd879486e23ebfa1d071441124f109f3
Author:     Thomas Deutschmann <whissi@gentoo.org>
AuthorDate: 2020-08-30 15:21:07 +0000
Commit:     Thomas Deutschmann <whissi@gentoo.org>
CommitDate: 2020-08-30 15:21:07 +0000

    media-video/vlc: force net-libs/libupnp[ipv6] for USE=upnp
    
    Closes: https://bugs.gentoo.org/739320
    Package-Manager: Portage-3.0.4, Repoman-3.0.1
    Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>

 media-video/vlc/vlc-3.0.11.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 8 Xavier Miller (RETIRED) gentoo-dev 2020-08-30 18:19:51 UTC
I have a -ipv6 system. Am I forced to enable ipv6 in order to have upnp working?
Comment 9 Thomas Deutschmann (RETIRED) gentoo-dev 2020-08-30 18:26:31 UTC
For this package, yes -- shouldn't be a big deal, is it?

*I* am not going to patch VLC.

At some point I hope upstream will fix but I am also not going to report upstream due to their registration requirement.
Comment 10 Xavier Miller (RETIRED) gentoo-dev 2020-08-30 18:35:14 UTC
OK I accept this workaround ;)