Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 405083 - media-video/mplayer-1.0_rc4_p20120213 fails to build with >=net-libs/gnutls-2.12.16[nettle]
Summary: media-video/mplayer-1.0_rc4_p20120213 fails to build with >=net-libs/gnutls-...
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:
 
Reported: 2012-02-20 21:00 UTC by Guy
Modified: 2012-04-05 11:59 UTC (History)
1 user (show)

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


Attachments
x86 based mplayer build log (mplayer-1.0_rc4_p20120213.build.log,220.81 KB, text/plain)
2012-02-20 21:09 UTC, Guy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Guy 2012-02-20 21:00:09 UTC
reported error message:

/usr/lib64/libavformat.so: undefined reference to `gcry_control'
collect2: ld returned 1 exit status

This is because the chain is mplayer ==> ffmpeg-0.10[gnutls] ==> gnutls[nettle]


The following will permit compiling and installing to completion:

# echo "=net-libs/gnutls-2.12.16 -nettle" >> /etc/portage/package.use
# emerge gnutls && emerge mplayer

For the things I currently use mplayer for, I believe this won't cause me a problem.

Based on description, I believe this bug is similar in nature to the closed bug #337504 - i.e. I used the same type temporary workaround as indicated there.

Reproducible: Always
Comment 1 Guy 2012-02-20 21:09:43 UTC
Created attachment 302635 [details]
x86 based mplayer build log

This is the failed build log from one of my x86 based PCs. The failed build logs on my amd64 based PCs are the same.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2012-02-21 14:20:51 UTC
Please post your `emerge --info' output in a comment.
Comment 3 Guy 2012-02-22 00:39:23 UTC
emerge --info as requested: amd64 based PCs

Portage 2.2.0_alpha88 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.14.1-r2, 3.2.6 x86_64)
=================================================================
System uname: Linux-3.2.6-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5200+-with-gentoo-2.1
Timestamp of tree: Mon, 20 Feb 2012 17:00:01 +0000
ccache version 3.1.7 [disabled]
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.7-r3
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.4_p6-r1, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.3
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.2 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r2
Repositories: gentoo zugaina x11 sping multimedia local
Installed sets: 
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 PUEL AdobeFlash-10 AdobeFlash-10.1 Oracle-BCLA-JavaSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=opteron -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /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="-march=opteron -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build"
FEATURES="assume-digests binpkg-logs buildpkg distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-O1"
LINGUAS="en ja"
MAKEOPTS="-j3"
PKGDIR="/usr/local/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=30"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/zugaina /var/lib/layman/x11 /var/lib/layman/sping /var/lib/layman/multimedia /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="10bit 3dnow 3dnowext X a52 aac aalib accessibility acl acpi aften aio alsa amd64 amr anthy ao apache2 audiofile automount avahi bash-completion bdf berkdb blender-game bonjour boost bzip2 cairo cdda cddb cdio cdparanoia cdr cgi chm cjk cleartype cli consolekit cracklib crypt css cups curl curlwrappers cxx dbase dbus dga dia directfb djvu dri dts dv dvb dvd dvdr dynamic eds emovix encode exif expat fam fat fbcon ffmpeg fftw filter flac flash fontconfig foomaticdb fortran fpx ftp fuse gcj gd gdbm ggi gif gimp glib glibc-omitfp gmp gnutls gpac gphoto2 gpm graphviz gs gstreamer gtk guile hal hddtemp hdri html iconv icu id3tag idea imagemagick imap imlib immqt-bc inkjar inotify insecure-savers ipfilter ipv6 irc jabber java javascript jbig jpeg jpeg2k kde kerberos kipi lame latex lcms libcaca libnotify libsamplerate libvisual live lm_sensors lzo m17n-lib mad matroska midi mikmod mjpeg mmap mmx mmxext mng modplug modules mono mp3 mp4 mpeg mpi mplayer msn msql mudflap multilib multiuser musepack mysql mysqli nas ncurses network nfs nls nntp nptl nptlonly nsplugin ntfs odbc offensive ogg ogm openal openexr opengl openmp oscar pam pango pcre pda pdf perl php plotutils plugins png policykit posix postscript ppds pppd private-headers ps pulseaudio python q32 qt3support qt4 quicktime rar raster raw rdesktop readline recode reflection regex reiser4 reiserfs restrict-javascript rle rss rtc ruby samba sasl scanner schroedinger scim sdk sdl semantic-desktop sensord session sftp sharedmem sift simplexml sndfile snmp soap sockets sox speex spell spl sql sqlite sse sse2 ssl subversion svg swat sysfs syslog t1lib taglib tcl tcpd tga theora threads tidy tiff timidity tk tokenizer toolbar tools transcode truetype udev unicode usb utils vcd vdr vorbis wav wavpack webkit winbind wmf x264 xanim xcomposite xfs xft xine xinerama xml xmlrpc xorg xosd xpm xscreensaver xv xvid xvmc yaepg yahoo zeroconf zip zlib zoran" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="canon minolta konica" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" INPUT_DEVICES="evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ja" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" 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:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 4 Guy 2012-02-22 00:42:33 UTC
Please note: I have 3 amd64 based PCs and 2 x86 PCs. All 5 PCs failed with the same message in the same way.

Currently, I have set all 5 PCs with the temporary work around indicated.
Comment 5 Alexis Ballier gentoo-dev 2012-02-23 13:45:12 UTC
well, ffmpeg-0.10, libavformat/network.c has the following:
#if THREADS && GNUTLS_VERSION_NUMBER < 0x020b00
    if (gcry_control(GCRYCTL_ANY_INITIALIZATION_P) == 0)
        gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
#endif


so the offending function shouldnt be called with gnutls-2.12.16 since, here, gnutls.h has: #define GNUTLS_VERSION_NUMBER 0x020c10
which is greater.
gnutls-2.10.5, however, has: #define GNUTLS_VERSION_NUMBER 0x020a05

are you sure you dont have an old gnutls.h lying somewhere or a wrong version number in your gnutls.h ?
Comment 6 Steve Kutnar 2012-02-26 04:11:20 UTC
I can confirm the issue.  My GNUTLS updated today, but ffmpeg did not get rebuilt before mplayer.  From what I see in that code snippet, the if-test relies on testing the version number during compile of libavformat/network.c.  So, if GNUTLS is updated, then ffmpeg should be rebuilt.

I'm currently doing this and will reply with my findings.
Comment 7 Steve Kutnar 2012-02-26 04:23:50 UTC
I rebuilt ffmpeg and then mplayer built correctly.  No other changes were required.
Comment 8 Guy 2012-02-28 13:40:37 UTC
(In reply to comment #6)
> I can confirm the issue.  My GNUTLS updated today, but ffmpeg did not get
> rebuilt before mplayer.  From what I see in that code snippet, the if-test
> relies on testing the version number during compile of
> libavformat/network.c.  So, if GNUTLS is updated, then ffmpeg should be
> rebuilt.
> 
> I'm currently doing this and will reply with my findings.

Based on this comment, I removed the block of the USE="-nettle" flag for gnutls from /etc/portage/package.use and executed:

emerge gnutls && emerge ffmpeg && emerge mplayer

mplayer emerged to completion.

I think I agree with Steve, if 'gnutls' is updated, then '>=ffmpeg-0.10' needs to be rebuilt before 'mplayer' is rebuilt or updated.
Comment 9 Alexis Ballier gentoo-dev 2012-04-05 11:59:55 UTC
i've bumped the gnutls deps in ffmpeg to fix this