Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 504698 - media-video/ffmpeg2theora-0.29-r1 - ld: src/ffmpeg2theora.o: undefined reference to symbol 'rintf@@GLIBC_2.2.5'
Summary: media-video/ffmpeg2theora-0.29-r1 - ld: src/ffmpeg2theora.o: undefined refere...
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: InVCS
Depends on:
Blocks: underlinking
  Show dependency tree
 
Reported: 2014-03-15 13:55 UTC by Guy
Modified: 2014-03-15 19:04 UTC (History)
0 users

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


Attachments
build.log (build.log,8.61 KB, text/plain)
2014-03-15 13:55 UTC, Guy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Guy 2014-03-15 13:55:02 UTC
Created attachment 372730 [details]
build.log

This appears to be the same problem as bug# 476532.

The "backported from upstream fix" (to possibly ffmpeg?) appears to not have been carried from ffmpeg-2.0 to ffmpeg-2.1.4. Note the differences in ffmpeg line numbers between this bug report and the previous bug report:

gcc -o src/theorautils.o -c -DPACKAGE_VERSION=\"0.29\" -DPACKAGE_STRING=\"ffmpeg2theora-0.29\" -DPACKAGE=\"ffmpeg2theora\" -D_FILE_OFFSET_BITS=64 -march=opteron -O2 -pipe -DHAVE_ICONV -I. src/theorautils.c
src/ffmpeg2theora.c: In function 'ff2theora_output':
src/ffmpeg2theora.c:966:17: warning: 'av_audio_resample_init' is deprecated (declared at /usr/include/libavcodec/avcodec.h:4339) [-Wdeprecated-declarations]
                 this->audio_resample_ctx = av_audio_resample_init(this->channels,    aenc->channels,
                 ^
src/ffmpeg2theora.c:1431:33: warning: passing argument 2 of 'sws_scale' from incompatible pointer type [enabled by default]
                                 output_tmp->data, output_tmp->linesize);
                                 ^
In file included from src/ffmpeg2theora.c:33:0:
/usr/include/libswscale/swscale.h:226:5: note: expected 'const uint8_t * const*' but argument is of type 'uint8_t **'
 int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
     ^
src/ffmpeg2theora.c:1440:33: warning: 'avpicture_deinterlace' is deprecated (declared at /usr/include/libavcodec/avcodec.h:4505) [-Wdeprecated-declarations]
                                 if (avpicture_deinterlace((AVPicture *)output,(AVPicture *)output_tmp,this->pix_fmt,display_width,display_height)<0) {
                                 ^
src/ffmpeg2theora.c:1455:48: warning: 'qscale_table' is deprecated (declared at /usr/include/libavutil/frame.h:218) [-Wdeprecated-declarations]
                                                output->qscale_table, output->qstride,
                                                ^
src/ffmpeg2theora.c:1455:48: warning: 'qstride' is deprecated (declared at /usr/include/libavutil/frame.h:223) [-Wdeprecated-declarations]
src/ffmpeg2theora.c:1478:37: warning: passing argument 2 of 'sws_scale' from incompatible pointer type [enabled by default]
                                     output_resized->linesize);
                                     ^
In file included from src/ffmpeg2theora.c:33:0:
/usr/include/libswscale/swscale.h:226:5: note: expected 'const uint8_t * const*' but argument is of type 'uint8_t **'
 int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
     ^
src/ffmpeg2theora.c:1540:25: warning: 'avcodec_decode_audio3' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3787) [-Wdeprecated-declarations]
                         len1 = avcodec_decode_audio3(astream->codec, audio_buf, &data_size, &avpkt);
                         ^
src/ffmpeg2theora.c:1551:33: warning: 'audio_resample' is deprecated (declared at /usr/include/libavcodec/avcodec.h:4347) [-Wdeprecated-declarations]
                                 samples_out = audio_resample(this->audio_resample_ctx, resampled, audio_buf, samples);
                                 ^
src/ffmpeg2theora.c:1755:17: warning: 'audio_resample_close' is deprecated (declared at /usr/include/libavcodec/avcodec.h:4356) [-Wdeprecated-declarations]
                 audio_resample_close(this->audio_resample_ctx);
                 ^
gcc -o src/subtitles.o -c -DPACKAGE_VERSION=\"0.29\" -DPACKAGE_STRING=\"ffmpeg2theora-0.29\" -DPACKAGE=\"ffmpeg2theora\" -D_FILE_OFFSET_BITS=64 -march=opteron -O2 -pipe -DHAVE_ICONV -I. src/subtitles.c
src/theorautils.c: In function 'oggmux_add_audio':
src/theorautils.c:1296:29: warning: format '%lld' expects argument of type 'long long int', but argument 3 has type 'ogg_int64_t' [-Wformat=]
                             op.packetno, start_granule);
                             ^
src/theorautils.c:1296:29: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'ogg_int64_t' [-Wformat=]
src/theorautils.c:1306:29: warning: format '%lld' expects argument of type 'long long int', but argument 3 has type 'ogg_int64_t' [-Wformat=]
                             " the end of the preceeding packet!", op.packetno, op.granulepos);
                             ^
src/theorautils.c:1306:29: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'ogg_int64_t' [-Wformat=]
src/avinfo.c: In function 'gen_oshash':
src/avinfo.c:448:18: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
             fread(buffer1, used, 8, file);
                  ^
src/avinfo.c:450:18: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
             fread(buffer1, 8192, 8, file);
                  ^
src/avinfo.c:452:18: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
             fread(&buffer1[8192], 8192, 8, file); 
                  ^
gcc -o ffmpeg2theora -Wl,-O1 -Wl,--as-needed -Wl,-O1 src/ffmpeg2theora.o src/index.o src/iso639.o src/avinfo.o src/theorautils.o src/subtitles.o -lvorbis -lvorbisenc -ltheoraenc -ltheoradec -logg -lavdevice -lavformat -lavfilter -lavcodec -lpostproc -lswscale -lavutil
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/bin/ld: src/ffmpeg2theora.o: undefined reference to symbol 'rintf@@GLIBC_2.2.5'
/lib64/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
scons: *** [ffmpeg2theora] Error 1
scons: building terminated because of errors.
 * ERROR: media-video/ffmpeg2theora-0.29-r1::gentoo failed (compile phase):
 *   escons failed.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-03-15 14:35:41 UTC
pkg-config --modversion vorbis
1.3.3
pkg-config --libs vorbis
-lvorbis -lm -logg

It doesn't look to me like media-video/ffmpeg is the culprit.
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2014-03-15 19:04:29 UTC
fixed in portage

--- SConstruct
+++ SConstruct
@@ -206,9 +206,8 @@
   if env['crossmingw']:
       env.Append(CCFLAGS=['-Wl,-subsystem,windows'])
       env.Append(LIBS=['m'])
-  elif env['static']:
-      env.Append(LIBS=['m', 'dl'])
 
+  env.Append(LIBS=['m', 'dl'])
 
 env = conf.Finish()
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2014-03-15 19:04:49 UTC
  15 Mar 2014; Samuli Suominen <ssuominen@gentoo.org>
  +files/ffmpeg2theora-0.29-underlinking.patch, ffmpeg2theora-0.29-r1.ebuild:
  Fix underlinking by always linking against -lm -ldl wrt #504698 by "Guy"