Date: Wed, 29 Feb 2012 13:12:21 -0800 From: Waitman Gobble <gobble.wa@gmail.com> To: Andy Wodfer <wodfer@gmail.com> Cc: freebsd-questions <freebsd-questions@freebsd.org> Subject: Re: Help compiling ffmpeg from source Message-ID: <CAFuo_fx7RGQBCXAR60s6U=E4=kSO4vbMZJQWUm4%2Bi4ZJuCPAag@mail.gmail.com> In-Reply-To: <CABgB0xSEMSWBWB3SrCx-umW4MsSEHQe2E6zVYx6oMt_vs=dxGQ@mail.gmail.com> References: <CABgB0xSi%2Bgd_udfSFUckYtk31=HJjTVqJWv%2BNsRGcktdpLL%2BKw@mail.gmail.com> <4F4E2D3D.3020905@herveybayaustralia.com.au> <CABgB0xS5Yyvo7otHvLdkx5zJfb9Lk=XzVEvAhuaPE=ONoWJRpA@mail.gmail.com> <CABgB0xRU1pLVcAhqF1_ViKhDcDW_dPBNOgg68n_QZPR1yqjY-Q@mail.gmail.com> <CAFuo_fwp1t5oPbyse7HGbVohMinSnK=7_ka%2B94LTtFHYRp%2BPXA@mail.gmail.com> <CABgB0xQN6Ed4Sy=0%2BqpRt%2B%2BeZLqZh_V1jd5j5TRRCzVC6BA6ug@mail.gmail.com> <CAFuo_fzGzHASMT1Qdjyvw6LHdZogOYAp%2B03C3PNpoJg-ET8MJA@mail.gmail.com> <CABgB0xSEMSWBWB3SrCx-umW4MsSEHQe2E6zVYx6oMt_vs=dxGQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Feb 29, 2012 at 1:03 PM, Andy Wodfer <wodfer@gmail.com> wrote: > On Wed, Feb 29, 2012 at 9:46 PM, Waitman Gobble <gobble.wa@gmail.com>wrote: > >> >> >> On Wed, Feb 29, 2012 at 12:37 PM, Andy Wodfer <wodfer@gmail.com> wrote: >> >>> On Wed, Feb 29, 2012 at 9:20 PM, Waitman Gobble <gobble.wa@gmail.com> >>> wrote: >>> >>> > >>> > On Feb 29, 2012 12:10 PM, "Andy Wodfer" <wodfer@gmail.com> wrote: >>> > > >>> > > On Wed, Feb 29, 2012 at 3:09 PM, Andy Wodfer <wodfer@gmail.com> >>> wrote: >>> > > >>> > > > On Wed, Feb 29, 2012 at 2:50 PM, Da Rock < >>> > > > freebsd-questions@herveybayaustralia.com.au> wrote: >>> > > > >>> > > >> On 02/29/12 23:48, Andy Wodfer wrote: >>> > > >> >>> > > >>> I'm on FreeBSD 8.2 STABLE (AMD64). >>> > > >>> >>> > > >>> I need to install the latest ffmpeg 0.10, but it fails when >>> > compiling. I >>> > > >>> must admit I very rarely do it this way. Normally all software is >>> > > >>> installed >>> > > >>> from ports, but I couldn't find this version of ffmpeg there. >>> > > >>> >>> > > >>> Heres what I do: >>> > > >>> >>> > > >>> ./configure >>> > > >>> gmake >>> > > >>> >>> > > >>> and the problem looks like this: >>> > > >>> >>> > > >>> [snip] >>> > > >>> /var/tmp//ccKzWhb0.s:26921: Error: `ff_h264_norm_shift(%r10d)' is >>> > not a >>> > > >>> valid 64 bit base/index expression >>> > > >>> /var/tmp//ccKzWhb0.s:26923: Error: >>> `ff_h264_mlps_state+128(%edi)' is >>> > not >>> > > >>> a >>> > > >>> valid 64 bit base/index expression >>> > > >>> /var/tmp//ccKzWhb0.s:26931: Error: `-1(%r9d)' is not a valid 64 >>> bit >>> > > >>> base/index expression >>> > > >>> /var/tmp//ccKzWhb0.s:26936: Error: `ff_h264_norm_shift(%ecx)' is >>> not >>> > a >>> > > >>> valid 64 bit base/index expression >>> > > >>> /var/tmp//ccKzWhb0.s:27045: Error: >>> > `ff_h264_lps_range(%r9d,%r12d,**2)' >>> > >>> > > >>> is not >>> > > >>> a valid 64 bit base/index expression >>> > > >>> /var/tmp//ccKzWhb0.s:27055: Error: `ff_h264_norm_shift(%r12d)' is >>> > not a >>> > > >>> valid 64 bit base/index expression >>> > > >>> /var/tmp//ccKzWhb0.s:27057: Error: >>> `ff_h264_mlps_state+128(%r9d)' is >>> > not >>> > > >>> a >>> > > >>> valid 64 bit base/index expression >>> > > >>> /var/tmp//ccKzWhb0.s:27065: Error: `-1(%r11d)' is not a valid 64 >>> bit >>> > > >>> base/index expression >>> > > >>> /var/tmp//ccKzWhb0.s:27070: Error: `ff_h264_norm_shift(%ecx)' is >>> not >>> > a >>> > > >>> valid 64 bit base/index expression >>> > > >>> gmake: *** [libavcodec/h264_cabac.o] Error 1 >>> > > >>> >>> > > >> Thats right, I remember this one- really simple but will get you >>> every >>> > > >> time! You need a newer gcc version (probably 4.6 will get you out >>> of >>> > > >> trouble if I remember correctly). >>> > > >> >>> > > >> The port already sets this, it will only bite when you're working >>> > solo. >>> > > >> >>> > > >> >>> > > > Ok - thanks! >>> > > > >>> > > > I'm currently doing this: >>> > > > http://www.freebsd.org/doc/en/articles/custom-gcc/article.html >>> > > > >>> > > > I will report back on how it goes. :-) >>> > > > >>> > > > Cheers, >>> > > > Andy >>> > > > >>> > > >>> > > So, I updated gmake to 3.82 from ports and installed gcc47 from >>> ports. I >>> > > updated /etc/make.conf as described here: >>> > > http://www.freebsd.org/doc/en/articles/custom-gcc/article.html >>> > > >>> > > However, I don't have a libmap file so I skipped this one and the >>> other >>> > > ones below in the article. >>> > > >>> > > Here's some outputs: >>> > > >>> > > # gmake -v >>> > > GNU Make 3.82 >>> > > Built for amd64-portbld-freebsd8.2 >>> > > Copyright (C) 2010 Free Software Foundation, Inc. >>> > > License GPLv3+: GNU GPL version 3 or later < >>> > http://gnu.org/licenses/gpl.html >>> > > > >>> > > This is free software: you are free to change and redistribute it. >>> > > There is NO WARRANTY, to the extent permitted by law. >>> > > >>> > > # gcc -v >>> > > Using built-in specs. >>> > > Target: amd64-undermydesk-freebsd >>> > > Configured with: FreeBSD/amd64 system compiler >>> > > Thread model: posix >>> > > gcc version 4.2.2 20070831 prerelease [FreeBSD] >>> > > >>> > > How do I tell the system to use gcc47 instead of 4.2.2 (if that's >>> what >>> > > causes the problems)? >>> > > >>> > > Compiling ffmpeg from source still failes on the same line as in my >>> > orginal >>> > > post. >>> > > >>> > > Thanks a lot for any pointers that will help me resolve this. :-) >>> > > >>> > > All the best, >>> > > Andy >>> > > _______________________________________________ >>> > > freebsd-questions@freebsd.org mailing list >>> > > http://lists.freebsd.org/mailman/listinfo/freebsd-questions >>> > > To unsubscribe, send any mail to " >>> > freebsd-questions-unsubscribe@freebsd.org" >>> > >>> > is there a gcc47 or maybe a typo? >>> > >>> > should be >>> > # export CC=gcc46 >>> > or >>> > # setenv CC gcc46 >>> > >>> > if building from source >>> > >>> > -- >>> > Waitman Gobble >>> > San Jose California USA >>> > >>> >>> Yes, gcc47 was out a few days ago. >>> >>> So, I'm making some progress. >>> >>> I now export CC=gcc47 >>> >>> and by adding this ./configure --extra-cflags=-DBROKEN_RELOCATIONS (what >>> does this mean/do???) >>> >>> I'm able to get past the h264 compile fail. >>> >>> However, I now stop at vp5 with the following message: >>> >>> CC libavcodec/vp5.o >>> /var/tmp//ccmvakth.s: Assembler messages: >>> /var/tmp//ccmvakth.s:323: Error: `(%r8d,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:436: Error: `(%r8d,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:548: Error: `(%r8d,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:669: Error: `(%r8d,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:920: Error: `(%r8d,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:1136: Error: `(%r8d,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:1422: Error: `(%r8d,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:1531: Error: `(%r8d,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:1826: Error: `(%r8d,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:1923: Error: `(%esi,%edx)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:2020: Error: `(%esi,%edx)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:2116: Error: `(%esi,%edx)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:2226: Error: `(%r8d,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:8827: Error: `(%esi,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:9738: Error: `(%esi,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:10351: Error: `(%esi,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:10988: Error: `(%esi,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:11625: Error: `(%esi,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:12262: Error: `(%esi,%eax)' is not a valid 64 bit >>> base/index expression >>> /var/tmp//ccmvakth.s:13499: Error: `(%esi,%eax)' is not a valid 64 bit >>> base/index expression >>> gmake: *** [libavcodec/vp5.o] Error 1 >>> >>> Any idea of what my next step could be? >>> >>> Cheers, >>> Andy >>> _______________________________________________ >>> freebsd-questions@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions >>> To unsubscribe, send any mail to " >>> freebsd-questions-unsubscribe@freebsd.org" >>> >> >> >> here's the info about broken relocations.., >> >> http://ffmpeg.org/pipermail/ffmpeg-cvslog/2007-April/005557.html >> >> but there's this.. >> >> http://lists.mplayerhq.hu/pipermail/mplayer-users/2011-July/083048.html >> >> I believe that says you don't really want to define BROKEN_RELOCATIONS >> but instead update GNU binutils b/c 'stock' binutils don't do 64bit ... >> I think binutils update must be in ports. I do know if you pkg_add -r >> mplayer it installs gcc46 and updated binutils.,, :-) >> >> >> Waitman Gobble >> San Jose California USA >> >> >> > Fantastic! That did the trick and it compiled and installed successfully > now. :-) > > Here's a rundown of what solved it: > > 1. Updated binutils to latest version from ports. > 2. Updated gmake to latest version from ports > 3. Updated gcc to version 47 from ports. > 4. removed /usr/bin/as and made a symlink from /usr/bin/as to > /usr/local/bin/as (newer version) > > export CC=gcc47 or setenv. > > Perhaps all I really needed to do was point 4?. > > Anyway, thanks a lot for great help! > > All the best, > Andreas > Maybe... but gas (/usr/local/bin/as) comes from #1 in your list. version of gmake probably OK. gcc, hmmm. i've run into some issues compiling stuff with 4.2.1 - but for ffmpeg probably want newer gcc anyway. Waitman
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFuo_fx7RGQBCXAR60s6U=E4=kSO4vbMZJQWUm4%2Bi4ZJuCPAag>