Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Feb 2012 22:03:21 +0100
From:      Andy Wodfer <wodfer@gmail.com>
To:        Waitman Gobble <gobble.wa@gmail.com>
Cc:        freebsd-questions <freebsd-questions@freebsd.org>
Subject:   Re: Help compiling ffmpeg from source
Message-ID:  <CABgB0xSEMSWBWB3SrCx-umW4MsSEHQe2E6zVYx6oMt_vs=dxGQ@mail.gmail.com>
In-Reply-To: <CAFuo_fzGzHASMT1Qdjyvw6LHdZogOYAp+03C3PNpoJg-ET8MJA@mail.gmail.com>
References:  <CABgB0xSi+gd_udfSFUckYtk31=HJjTVqJWv+NsRGcktdpLL+Kw@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+94LTtFHYRp+PXA@mail.gmail.com> <CABgB0xQN6Ed4Sy=0+qpRt++eZLqZh_V1jd5j5TRRCzVC6BA6ug@mail.gmail.com> <CAFuo_fzGzHASMT1Qdjyvw6LHdZogOYAp+03C3PNpoJg-ET8MJA@mail.gmail.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
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



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?CABgB0xSEMSWBWB3SrCx-umW4MsSEHQe2E6zVYx6oMt_vs=dxGQ>