Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 506000 - media-sound/mumble-1.2.5 with =dev-libs/protobuf-2.5.0 - Mumble.pb.cc:(.text+0x1b5f3): undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit()'
Summary: media-sound/mumble-1.2.5 with =dev-libs/protobuf-2.5.0 - Mumble.pb.cc:(.text+...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Timo Gurr (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-27 20:56 UTC by Julien Papasian
Modified: 2015-10-02 16:42 UTC (History)
1 user (show)

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


Attachments
build.log.gz (build.log.gz,247.60 KB, application/gzip)
2014-03-28 14:22 UTC, Julien Papasian
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Julien Papasian 2014-03-27 20:56:08 UTC
I have no problem compiling Mumble with Protobuf 2.4.1 but when I use Protobuf 2.5.0 it fails to build. As Protobuf 2.5.0 is marked stable, it would affect every new installations.

Here’s the log (in cas you need it):
Mumble.pb.o: In function `MumbleProto::Authenticate::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)':
Mumble.pb.cc:(.text+0x1b5f3): undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit()'
Mumble.pb.o: In function `MumbleProto::UserStats::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)':
Mumble.pb.cc:(.text+0x1c3fc): undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit()'
Mumble.pb.o: In function `MumbleProto::VoiceTarget_Target::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)':
Mumble.pb.cc:(.text+0x1e95e): undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit()'
Mumble.pb.o: In function `MumbleProto::QueryUsers::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)':
Mumble.pb.cc:(.text+0x1f10e): undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit()'
Mumble.pb.o: In function `MumbleProto::RequestBlob::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)':
Mumble.pb.cc:(.text+0x1f82e): undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit()'
Mumble.pb.o:Mumble.pb.cc:(.text+0x1f8de): more undefined references to `google::protobuf::io::CodedInputStream::BytesUntilLimit()' follow
collect2: error: ld returned 1 exit status
Makefile:372: recipe for target '../../release/mumble' failed
make[1]: *** [../../release/mumble] Error 1
make[1]: Leaving directory '/var/tmp/portage/media-sound/mumble-1.2.5/work/mumble-1.2.5/src/mumble'
Makefile:115: recipe for target 'sub-src-mumble-make_default-ordered' failed
make: *** [sub-src-mumble-make_default-ordered] Error 2
 * ERROR: media-sound/mumble-1.2.5::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=media-sound/mumble-1.2.5::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-sound/mumble-1.2.5::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/media-sound/mumble-1.2.5/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-sound/mumble-1.2.5/temp/environment'.
 * Working directory: '/var/tmp/portage/media-sound/mumble-1.2.5/work/mumble-1.2.5'
 * S: '/var/tmp/portage/media-sound/mumble-1.2.5/work/mumble-1.2.5'

Reproducible: Always
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-03-28 13:44:49 UTC
1) Please post your `emerge --info' output in a comment.
2) Please attach the entire build log to this bug report.
Comment 2 Julien Papasian 2014-03-28 14:22:42 UTC
Created attachment 373744 [details]
build.log.gz
Comment 3 Julien Papasian 2014-03-28 14:23:03 UTC
Portage 2.2.10 (default/linux/amd64/13.0/desktop/kde/systemd, gcc-4.8.2, glibc-2.18-r1, 3.12.15-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.12.15-gentoo-x86_64-Intel-R-_Core-TM-_i7-4700MQ_CPU_@_2.40GHz-with-gentoo-2.2
KiB Mem:     7945872 total,   4736596 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Thu, 27 Mar 2014 08:15:01 +0000
ld GNU ld (GNU Binutils) 2.24
app-shells/bash:          4.2_p45-r1
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.6, 3.3.4
dev-util/cmake:           2.8.12.2
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.14.1
sys-devel/binutils:       2.24-r2
sys-devel/gcc:            4.8.2
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.13 (virtual/os-headers)
sys-libs/glibc:           2.18-r1
Repositories: gentoo steam-overlay gentoo-overlay-tox qt x-portage
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0 /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.5/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=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ ftp://gentoo.imj.fr/pub/gentoo/ http://mirrors.linuxant.fr/distfiles.gentoo.org/ ftp://mirrors.linuxant.fr/distfiles.gentoo.org/ http://gentoo.modulix.net/gentoo/ ftp://mirror.ovh.net/gentoo-distfiles/ http://mirror.ovh.net/gentoo-distfiles/"
LANG="fr_FR.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9"
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"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/steam /var/lib/layman/tox-overlay /var/lib/layman/qt /usr/local/portage"
SYNC="rsync://rsync.fr.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cjk cli cracklib crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif gpm iconv ipv6 jpeg kde kipi lcms ldap libnotify mad mmx mng modules mp3 mp4 mpeg multilib ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds qt3support qt4 readline sdl semantic-desktop session spell sse sse2 ssl ssse3 startup-notification svg systemd tcpd threads tiff truetype udev udisks unicode upower usb vorbis wayland wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xv xvid zlib" ABI_X86="64" 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="synaptics evdev tslib" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="fr" NETBEANS_MODULES="php" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="intel nvidia modesetting" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

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

media-sound/mumble-1.2.5 was built with the following:
USE="alsa dbus -debug -g15 -oss -pch -portaudio -pulseaudio -speech -zeroconf"
Comment 4 Julien Papasian 2014-05-11 19:18:26 UTC
When building Mumble 1.2.5 against Protobuf 2.4.1, it compiles but when I try to launch Mumble, it crashes with:

libprotobuf FATAL google/protobuf/stubs/common.cc:72] This program was compiled against version 2.3.0 of the Protocol Buffer runtime library, which is not compatible with the installed version (2.4.1).  Contact the program author for an update.  If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library.  (Version verification failed in "Mumble.pb.cc".)
terminate called after throwing an instance of 'google::protobuf::FatalException'
Comment 5 Timo Gurr (RETIRED) gentoo-dev 2014-05-15 18:55:29 UTC
Sorry, I'm unable to reproduce your problem, mumble compiles fine for me against protobuf 2.5.0 with your USE flags set. Could you please retry with mumble 1.2.6 (though it only contains security fixes)?.
Comment 6 Julien Papasian 2014-05-16 17:05:05 UTC
Same error in 1.2.6.

Maybe my USE flags for protobuf might be helpful too:
dev-libs/protobuf-2.5.0:0/8  USE="-emacs -examples -java -python -source -static-libs -vim-syntax" PYTHON_TARGETS="python2_7 (-python2_6)"

Didn’t mention it earlier but MAKEOPTS="-j1" doesn’t solve the problem.
Comment 7 Julien Papasian 2015-10-02 12:58:53 UTC
For some unknown reason I had libprotobuf* files from Protobuf 2.3.0 in /usr/local/lib64, so I decided to unmerge Protobuf and delete all libprotobuf* related files on my computer.

Now, I installed Protobuf 2.6.1, restarted computer, did env-update and I have this issue on the beginning of the compilation of Mumble:
protoc: error while loading shared libraries: libprotobuf.so.6: cannot open shared object file: No such file or directory

libprotobuf.so.6 is for Protobuf 2.3.0, libprotobuf.so.9 is for Protobuf 2.6.1
/u/lib64 ❯❯❯ ls -l | grep libproto
lrwxrwxrwx   1 root root    25  2 oct.  14:32 libprotobuf-lite.so -> libprotobuf-lite.so.9.0.1
lrwxrwxrwx   1 root root    25  2 oct.  14:32 libprotobuf-lite.so.9 -> libprotobuf-lite.so.9.0.1
-rwxr-xr-x   1 root root  216K  2 oct.  14:32 libprotobuf-lite.so.9.0.1
lrwxrwxrwx   1 root root    20  2 oct.  14:32 libprotobuf.so -> libprotobuf.so.9.0.1
lrwxrwxrwx   1 root root    20  2 oct.  14:32 libprotobuf.so.9 -> libprotobuf.so.9.0.1
-rwxr-xr-x   1 root root  1,3M  2 oct.  14:32 libprotobuf.so.9.0.1
lrwxrwxrwx   1 root root    18  2 oct.  14:32 libprotoc.so -> libprotoc.so.9.0.1
lrwxrwxrwx   1 root root    18  2 oct.  14:32 libprotoc.so.9 -> libprotoc.so.9.0.1
-rwxr-xr-x   1 root root  1,1M  2 oct.  14:32 libprotoc.so.9.0.1

I don’t know where this old Protobuf 2.3.0 come from as I removed everything I found with find /, do you have any idea?
Comment 8 Julien Papasian 2015-10-02 16:42:59 UTC
OK, I fixed it by removing /usr/local/include and /usr/local/bin. I don’t remember when I compiled a custom protobuf but it was the problem. Sorry for the trouble.