[FFmpeg-devel] Build problem

Måns Rullgård mans
Wed Feb 4 21:23:35 CET 2009


David DeHaven <dave at sagetv.com> writes:

> On Feb 4, 2009, at 10:41 AM, Art Clarke wrote:
>> On Wed, Feb 4, 2009 at 9:10 AM, David DeHaven <dave at sagetv.com> wrote:
>>> SVN r2161 has the mach-o alignment fix in it. Current svn revision is
>>> 2173.
>>> nasm 2.06rc2 and later have the fix, but I think macho64 support is
>>> half-baked at the moment since there's no Mach-O maintainer.
>>>
>>> But that won't fix the problem when building a 64 bit shared lib.
>>>
>>
>> And it looks like you're right:
>> Using svn revision 2173:
>>
>> yasm --version
>> yasm 0.7.99.HEAD
>>
>> the build still fails:
>>     [exec] ld: pointer in read-only segment not allowed in slidable
>> image, used in dispatch_tab_sse from libavcodec/x86/fft_mmx.o
>>
>> I tried switching the section where the dispatch tables are defined in
>> fft_mmx.asm from .text to .data, and that gets around the compile
>> error, but then causes bus-errors later when I try to encode with
>> h263.
>>
>> For now, I'll probably work around by removing yasm from my build
>> system, but if anyone else has cool ideas I'll try them.
>
> How 'bout a hack to disable yasm? :)
>
> Warning: lacks documentation!
>
> -DrD-
>
>
> Index: configure
> ===================================================================
> --- configure	(revision 16966)
> +++ configure	(working copy)
> @@ -1267,6 +1267,10 @@
>          *) die_unknown "$opt" ;;
>      esac
>      ;;
> +    --enable-yasm) enable yasm
> +    ;;
> +    --disable-yasm) disable yasm
> +    ;;

The correct way is to add yasm to the CMDLINE_SELECT list.

>      --enable-?*|--disable-?*)
>      eval `echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g'`
>      if is_in $option $COMPONENT_LIST; then
> @@ -1787,7 +1791,9 @@
>          macho64)              append YASMFLAGS "-DPIC -DPREFIX" ;;
>          *)                    append YASMFLAGS "-DPREFIX"  ;;
>      esac
> -    check_yasm "pabsw xmm0, xmm0" && enable yasm
> +    if ! disabled yasm && ! enabled yasm; then
> +        check_yasm "pabsw xmm0, xmm0" && enable yasm
> +    fi

disabled yasm || check_yasm "pabsw xmm0, xmm0" && enable yasm

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-devel mailing list