Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 482744 - media-sound/skype-call-recorder-0.8 - ld: CMakeFiles/skype-call-recorder.dir/vorbiswriter.o: undefined reference to symbol 'vorbis_block_init'
Summary: media-sound/skype-call-recorder-0.8 - ld: CMakeFiles/skype-call-recorder.dir/...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Maciej Mrozowski
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-28 01:23 UTC by Guy
Modified: 2013-11-26 08:26 UTC (History)
1 user (show)

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


Attachments
/var/tmp/portage/media-sound/skype-call-recorder-0.8/temp/build.log (build.log,32.07 KB, text/x-log)
2013-08-28 01:23 UTC, Guy
Details
emerge --info '=media-sound/skype-call-recorder-0.8::gentoo' (skype-call-recorder.text,6.44 KB, text/plain)
2013-08-28 01:27 UTC, Guy
Details
/var/tmp/portage/media-sound/skype-call-recorder-0.8/temp/build.log - second attempt (build.log,32.07 KB, text/plain)
2013-08-30 03:12 UTC, Guy
Details
emerge --info '=media-sound/skype-call-recorder-0.8::gentoo' (file_482744.txt,6.49 KB, text/plain)
2013-08-30 03:14 UTC, Guy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Guy 2013-08-28 01:23:11 UTC
Created attachment 357214 [details]
/var/tmp/portage/media-sound/skype-call-recorder-0.8/temp/build.log

I installed net-im/skype-4.2.0.11-r1 and would now like to install the skype-call-recorder package.

skype-call-recorder fails for undefined reference in 'vorbiswriter.o'.

The build system suggests: 

note: 'vorbis_block_init' is defined in DSO /usr/lib64/libvorbis.so.0 so try adding it to the linker command line

'libvorbis.so.0' is installed:

# ls -l /usr/lib64/libvorbis*
lrwxrwxrwx 1 root root      18 Jun 28 02:53 /usr/lib64/libvorbis.so -> libvorbis.so.0.4.6
lrwxrwxrwx 1 root root      18 Jun 28 02:53 /usr/lib64/libvorbis.so.0 -> libvorbis.so.0.4.6
-rwxr-xr-x 1 root root  182880 Jun 28 02:53 /usr/lib64/libvorbis.so.0.4.6
lrwxrwxrwx 1 root root      21 Jun 28 02:53 /usr/lib64/libvorbisenc.so -> libvorbisenc.so.2.0.9
lrwxrwxrwx 1 root root      21 Jun 28 02:53 /usr/lib64/libvorbisenc.so.2 -> libvorbisenc.so.2.0.9
-rwxr-xr-x 1 root root 2942984 Jun 28 02:53 /usr/lib64/libvorbisenc.so.2.0.9
lrwxrwxrwx 1 root root      22 Jun 28 02:53 /usr/lib64/libvorbisfile.so -> libvorbisfile.so.3.3.5
lrwxrwxrwx 1 root root      22 Jun 28 02:53 /usr/lib64/libvorbisfile.so.3 -> libvorbisfile.so.3.3.5
-rwxr-xr-x 1 root root   35128 Jun 28 02:53 /usr/lib64/libvorbisfile.so.3.3.5

but I don't know how to follow the suggested course of action.




/usr/bin/x86_64-pc-linux-gnu-g++   -march=opteron -O2 -pipe  -Wall -W -pipe -fno-exceptions   -Wl,-O1 -Wl,--as-needed -Wl,-O1 CMakeFiles/skype-call-recorder.dir/call.o CMakeFiles/skype-call-recorder.dir/common.o CMakeFiles/skype-call-recorder.dir/gui.o CMakeFiles/skype-call-recorder.dir/mp3writer.o CMakeFiles/skype-call-recorder.dir/preferences.o CMakeFiles/skype-call-recorder.dir/recorder.o CMakeFiles/skype-call-recorder.dir/skype.o CMakeFiles/skype-call-recorder.dir/trayicon.o CMakeFiles/skype-call-recorder.dir/utils.o CMakeFiles/skype-call-recorder.dir/version.o CMakeFiles/skype-call-recorder.dir/vorbiswriter.o CMakeFiles/skype-call-recorder.dir/wavewriter.o CMakeFiles/skype-call-recorder.dir/writer.o CMakeFiles/skype-call-recorder.dir/moc_call.o CMakeFiles/skype-call-recorder.dir/moc_gui.o CMakeFiles/skype-call-recorder.dir/moc_preferences.o CMakeFiles/skype-call-recorder.dir/moc_recorder.o CMakeFiles/skype-call-recorder.dir/moc_skype.o CMakeFiles/skype-call-recorder.dir/moc_smartwidgets.o CMakeFiles/skype-call-recorder.dir/moc_trayicon.o CMakeFiles/skype-call-recorder.dir/qrc_resources.o  -o skype-call-recorder -rdynamic -lmp3lame -lid3 -lvorbisenc /usr/lib64/qt4/libQtGui.so /usr/lib64/qt4/libQtDBus.so /usr/lib64/qt4/libQtXml.so /usr/lib64/qt4/libQtNetwork.so /usr/lib64/qt4/libQtCore.so -Wl,-rpath,/usr/lib64/qt4: 
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/skype-call-recorder.dir/vorbiswriter.o: undefined reference to symbol 'vorbis_block_init'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: note: 'vorbis_block_init' is defined in DSO /usr/lib64/libvorbis.so.0 so try adding it to the linker command line
/usr/lib64/libvorbis.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [skype-call-recorder] Error 1
make[2]: Leaving directory `/var/tmp/portage/media-sound/skype-call-recorder-0.8/work/skype-call-recorder-0.8_build'
make[1]: *** [CMakeFiles/skype-call-recorder.dir/all] Error 2
make[1]: Leaving directory `/var/tmp/portage/media-sound/skype-call-recorder-0.8/work/skype-call-recorder-0.8_build'
make: *** [all] Error 2
 * ERROR: media-sound/skype-call-recorder-0.8::gentoo failed (compile phase):
 *   emake failed
Comment 1 Guy 2013-08-28 01:27:21 UTC
Created attachment 357216 [details]
emerge --info '=media-sound/skype-call-recorder-0.8::gentoo'
Comment 2 Maciej Mrozowski gentoo-dev 2013-08-29 22:14:44 UTC
Unable to reproduce.
It seems your libvorbis is either corrupted or has broken linker deps.
Please re-emerge libvorbis and try skype-call-recorder then.
Comment 3 Guy 2013-08-30 03:12:15 UTC
Created attachment 357378 [details]
/var/tmp/portage/media-sound/skype-call-recorder-0.8/temp/build.log - second attempt

Thank you for the quick response!

re-emerge of libvorbis:

# emerge -1 =media-libs/libvorbis-1.3.3-r1
Calculating dependencies ... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) media-libs/libvorbis-1.3.3-r1
>>> Installing (1 of 1) media-libs/libvorbis-1.3.3-r1
>>> Jobs: 1 of 1 complete                           Load avg: 1.71, 1.20, 1.04
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

# ls -l /usr/lib64/libvorbis*
lrwxrwxrwx 1 root root      18 Aug 29 22:55 /usr/lib64/libvorbis.so -> libvorbis.so.0.4.6
lrwxrwxrwx 1 root root      18 Aug 29 22:55 /usr/lib64/libvorbis.so.0 -> libvorbis.so.0.4.6
-rwxr-xr-x 1 root root  182880 Aug 29 22:55 /usr/lib64/libvorbis.so.0.4.6
lrwxrwxrwx 1 root root      21 Aug 29 22:55 /usr/lib64/libvorbisenc.so -> libvorbisenc.so.2.0.9
lrwxrwxrwx 1 root root      21 Aug 29 22:55 /usr/lib64/libvorbisenc.so.2 -> libvorbisenc.so.2.0.9
-rwxr-xr-x 1 root root 2942984 Aug 29 22:55 /usr/lib64/libvorbisenc.so.2.0.9
lrwxrwxrwx 1 root root      22 Aug 29 22:55 /usr/lib64/libvorbisfile.so -> libvorbisfile.so.3.3.5
lrwxrwxrwx 1 root root      22 Aug 29 22:55 /usr/lib64/libvorbisfile.so.3 -> libvorbisfile.so.3.3.5
-rwxr-xr-x 1 root root   35128 Aug 29 22:55 /usr/lib64/libvorbisfile.so.3.3.5

# eix media-libs/libvorbis
[I] media-libs/libvorbis
     Available versions:  1.3.3 (~)1.3.3-r1{tbz2} {static-libs ABI_MIPS="n32 n64 o32" ABI_X86="32 64 x32"}
     Installed versions:  1.3.3-r1{tbz2}(10:55:10 PM 08/29/2013)(-static-libs ABI_MIPS="-n32 -n64 -o32" ABI_X86="64 -32 -x32")
     Homepage:            http://xiph.org/vorbis
     Description:         The Ogg Vorbis sound file format library


Results - emerge of skype-call-recorder still fails:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/skype-call-recorder.dir/vorbiswriter.o: undefined reference to symbol 'vorbis_block_init'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: note: 'vorbis_block_init' is defined in DSO /usr/lib64/libvorbis.so.0 so try adding it to the linker command line
/usr/lib64/libvorbis.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [skype-call-recorder] Error 1

# emerge -pqv '=media-sound/skype-call-recorder-0.8::gentoo'
[ebuild  N    ] media-sound/skype-call-recorder-0.8  USE="-debug"
Comment 4 Guy 2013-08-30 03:14:23 UTC
Created attachment 357380 [details]
emerge --info '=media-sound/skype-call-recorder-0.8::gentoo'

I'm open to further suggestions of anything else to either check or try.

Thank you again for your attention and time.
Comment 5 Maciej Mrozowski gentoo-dev 2013-08-30 22:42:43 UTC
No idea. Maybe you could try 'standard procedures':
- search /usr/local/lib*, ~/lib* for any offending libraries
- try to compile skype-call-recorder outside of portage (unpack sources, cd ${srcdir} && mkdir build && cd build && cmake ../ && make)
Comment 6 Georg Mach 2013-10-30 11:48:43 UTC
I have the same issue. Looks as if the "--as-needed" flag could be source of the error.
Comment 7 Sergei Trofimovich (RETIRED) gentoo-dev 2013-11-26 08:26:02 UTC
Pushed a workaround
> append-ldflags $(no-as-needed) -lvorbis -logg
as:

> 26 Nov 2013; Sergei Trofimovich <slyfox@gentoo.org>
> skype-call-recorder-0.8.ebuild:
> Workaround underlinking (disabled as-needed, added missing libraries),
> bug #482744 by Guy.

Please, test if it helps you, guys.

Thank you!