Opened 12 years ago

Closed 12 years ago

Last modified 10 years ago

#738 closed defect (fixed)

libavcodec cannot be built if configured with "--disable-optimizations"

Reported by: Andrew Owned by:
Priority: minor Component: avcodec
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

In file included from libavcodec/cabac.h:60,

from libavcodec/cabac.c:31:

libavcodec/x86/cabac.h: In function ‘get_cabac_bypass_sign_x86’:
libavcodec/x86/cabac.h:107: error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’
libavcodec/x86/cabac.h:107: error: ‘asm’ operand has impossible constraints
make: * [libavcodec/cabac.o] Error 1

Attachments (3)

config.h (33.8 KB ) - added by Andrew 12 years ago.
config.log (150.8 KB ) - added by Andrew 12 years ago.
config.asm (25.6 KB ) - added by Andrew 12 years ago.

Download all attachments as: .zip

Change History (13)

by Andrew, 12 years ago

Attachment: config.h added

by Andrew, 12 years ago

Attachment: config.log added

by Andrew, 12 years ago

Attachment: config.asm added

comment:1 by Andrew, 12 years ago

sorry,
1) ./version.sh
N-35739-ga6c4c0f
2) This error has appeared not later the beginning of December.

comment:2 by Carl Eugen Hoyos, 12 years ago

Reproduced by developer: set
Status: newopen

Only reproducible for ia32, regression since 599b4c6e.

comment:3 by llogan, 12 years ago

Summary: libacvodec cannot be built if it configured with "--disable-optimizations"libavcodec cannot be built if configured with "--disable-optimizations"

comment:4 by Michael Niedermayer, 12 years ago

reverting 599b4c6e just causes the next file to fail:
libpostproc/postprocess_template.c: In function ‘dering_MMX2’:
libpostproc/postprocess_template.c:1045:5: error: can’t find a register in class ‘GENERAL_REGS’ while reloading ‘asm’
libpostproc/postprocess_template.c:1045:5: error: ‘asm’ operand has impossible constraints

comment:5 by Carl Eugen Hoyos, 12 years ago

Resolution: fixed
Status: openclosed

Not reproducible anymore.

comment:6 by Roger Pack, 12 years ago

Resolution: fixed
Status: closedreopened

I was just able to reproduce it with

85c830331c36502144e1cc9cf8aa7bd177e1d79d

./configure --enable-memalign-hack --arch=x86 --enable-gpl --enable-libx264 --enable-avisynth --enable-libxvid --target-os=mingw32 --cross-prefix=/home/rogerdpack/dev/ffmpeg-windows-build-helpers/builds/mingw-w64-i686/bin/i686-w64-mingw32- --pkg-config=pkg-config --enable-libmp3lame --enable-version3 --enable-libvo-aacenc --enable-libvpx --extra-libs=-lws2_32 --extra-libs=-lpthread --enable-zlib --extra-libs=-lwinmm --extra-libs=-lgdi32 --enable-librtmp --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --disable-optimizations --enable-runtime-cpudetect

I think the work around is to also use --disable-mmx if you use --disable-optimizations. Is this expected?

Feel free to re-close it if I'm wrong though, and I will research a bit more into it :)

comment:7 by Carl Eugen Hoyos, 12 years ago

Resolution: fixed
Status: reopenedclosed

Please do not reopen ancient tickets, I suspect you have found ticket #1695, patches exist.

comment:8 by Roger Pack, 12 years ago

Ok I hope #1695 fixes it (and may be related, though I'll admit that the error message I got was that described in this ticket). Real work around for now: configure with --disable-postproc.

in reply to:  8 comment:9 by Carl Eugen Hoyos, 12 years ago

Replying to rogerdpack:

Ok I hope #1695 fixes it (and may be related, though I'll admit that the error message I got was that described in this ticket). Real work around for now: configure with --disable-postproc.

--disable-postproc helped with an error compiling cabac.c, are you sure?

comment:10 by Roger Pack, 10 years ago

(--disable-postproc helped it avoid the other error he mentioned "error: can’t find a register in class ‘GENERAL_REGS’ while reloading ‘asm’") FWIW. I haven't run into this for quite awhile and so appreciate the fix.

Note: See TracTickets for help on using tickets.