Link errors when building ffmpeg (was Re: ffmpeg port)
(Now Cc'ing this to the macports-users list in case others are interested) Hi Adam,
I had been using the macports ffmpeg for a while. I just tried an upgrade and now I get link errors. I googled around and found that you had done some work related to the port, and specifically I found suggestions to just build it without macport directly from svn and that does work.
I thought that you may have some suggestions for what is going on with the port install, and ideas for how to fix it. I tried a direct email to the maintainer listed on the port, but I have not gotten a response.
Here are some details:
I had this installed: ffmpeg @0.4.9-pre1_0+a52+faac+faad+lame+x264 (active) If I do this: sudo port upgrade ffmpeg
I get the following errors:
---> Building ffmpeg with target all Error: Target com.apple.build returned: shell command " cd "/opt/ local/var/db/dports/build/ _opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_ dports_multimedia_ffmpeg/work/trunk" && make all " returned error 2 Command output: make -C doc all make[1]: Nothing to be done for `all'. make -C libavutil all make[1]: Nothing to be done for `all'. make -C libavcodec all gcc -dynamiclib -Wl,-single_module -Wl,-install_name,/opt/local/lib/ libavcodec.dylib,-current_version,51.1.0,-compatibility_version, 51.1.0 -Wl,-read_only_relocs,suppress -Wl,-dynamic,- search_paths_first -L/opt/local/lib -o libavcodec.51.dylib bitstream.o utils.o allcodecs.o mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o mjpeg.o resample.o resample2.o dsputil.o motion_est.o imgconvert.o mpeg12.o mpegaudiodec.o simple_idct.o ratecontrol.o eval.o error_resilience.o fft.o mdct.o raw.o golomb.o cabac.o faandct.o parser.o vp3dsp.o h264idct.o rangecoder.o pnm.o h263.o msmpeg4.o h263dec.o opt.o bitstream_filter.o audioconvert.o imgresample.o i386/fdct_mmx.o i386/cputest.o i386/dsputil_mmx.o i386/mpegvideo_mmx.o i386/motion_est_mmx.o i386/simple_idct_mmx.o i386/idct_mmx_xvid.o i386/fft_sse.o i386/vp3dsp_mmx.o i386/ vp3dsp_sse2.o i386/fft_3dn.o i386/fft_3dn2.o aasc.o ac3enc.o ac3.o alac.o asv1.o avs.o bethsoftvideo.o bmp.o bmpenc.o c93.o cavs.o cavsdsp.o cinepak.o cljr.o cook.o cscd.o cyuv.o dca.o dnxhddec.o dsicinav.o dvbsubdec.o dvbsub.o dvdsubdec.o dvdsubenc.o dv.o dxa.o 8bps.o ffv1.o huffyuv.o flac.o flacenc.o flashsv.o flashsvenc.o flicvideo.o 4xm.o fraps.o gifdec.o lzw.o gif.o h261.o h264.o idcinvideo.o imc.o indeo2.o indeo3.o interplayvideo.o dpcm.o kmvc.o loco.o mace.o mmvideo.o mpegaudio.o mpc.o msrle.o msvideo1.o lcl.o nuv.o rtjpeg.o png.o qdm2.o qdrw.o qpeg.o qtrle.o ra144.o ra288.o roqvideo.o rpza.o rv10.o sgidec.o sgienc.o rle.o shorten.o smacker.o smc.o snow.o sonic.o svq1.o targa.o targaenc.o vp3.o xiph.o tiertexseqv.o tiff.o tiffenc.o lzwenc.o truemotion1.o truemotion2.o truespeech.o tscc.o tta.o ulti.o vc1.o vc1dsp.o vcr1.o vmdav.o vmnc.o vorbis.o vorbis_data.o vorbis_enc.o vp5.o vp56.o vp56data.o vp6.o vqavideo.o wavpack.o wmadec.o wma.o wmaenc.o wnv1.o ws-snd1.o xan.o xl.o zmbv.o zmbvenc.o pcm.o adpcm.o adx.o g726.o a52dec.o faac.o faad.o mp3lameaudio.o x264.o pthread.o i386/idct_mmx.o i386/cavsdsp_mmx.o i386/snowdsp_mmx.o -L"/opt/local/ var/db/dports/build/ _opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_ dports_multimedia_ffmpeg/work/trunk"/libavutil -lavutil -lz -la52 - lmp3lame -lm -lx264 -lfaac -lfaad ld: Undefined symbols: _av_init_random _av_random_generate_untempered_numbers _lzo1x_decode /usr/bin/libtool: internal link edit command failed make[1]: *** [libavcodec.51.dylib] Error 1 make: *** [lib] Error 2
Error: Unable to upgrade port: 1
Thanks,
--Adam
First of all, it would be helpful to know which version of the ffmpeg port your system was trying to upgrade to. I notice that the maintainer has just bumped it to 0.4.9-pre1_2 (i.e. version is the same, but it's now revision 2), which corresponds to tag 9102 in the ffmpeg svn repository. If "port search ffmpeg" doesn't list the ffmpeg as being @0.4.9-pre1_2, my first suggestion would be to do run "port sync" (with sudo in front it as necessary) and to try cleaning and installing ffmpeg again. If that doesn't work, then I think you may have found a bug that you should open a ticket for and report to the maintainer. (I initially thought from _lzo1x_decode being undefined that my recent fix to the lzo2 port [1] might have had something to do with it, but the functions corresponding to the undefined symbols appear only in ffmpeg). When you file a ticket for a maintained port, don't forget to put both your email and the maintainer's email address into the cc: field, otherwise neither of you will receive notification of the creation of or updates to the ticket. Kind regards, Maun Suang [1] http://trac.macports.org/projects/macports/changeset/25465 -- Boey Maun Suang (Boey is my surname) Email: boeyms at macports dot org
participants (1)
-
Boey Maun Suang