[FFmpeg-trac] #5234(undetermined:closed): Debug builds would not link unless sse4 and ssse3 are disabled

FFmpeg trac at avcodec.org
Sat Feb 13 19:53:21 CET 2016


#5234: Debug builds would not link unless sse4 and ssse3 are disabled
-------------------------------------+-------------------------------------
             Reporter:  mi           |                    Owner:
                 Type:  defect       |                   Status:  closed
             Priority:  normal       |                Component:
              Version:  git-master   |  undetermined
             Keywords:               |               Resolution:
             Blocking:               |  worksforme
Analyzed by developer:  0            |               Blocked By:
                                     |  Reproduced by developer:  0
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * status:  new => closed
 * resolution:   => worksforme


Comment:

 I cannot reproduce this issue with the following configure line:
 {{{
 $ env CFLAGS="-march=core2 -g" COMPILER_PATH=/opt/bin SDL_CONFIG=/opt/bin
 /sdl-config MAKE=gmake ac_cv_path_PERL=/opt/bin/perl
 ac_cv_path_PERL_PATH=/opt/bin/perl PKG_CONFIG=pkgconf
 XDG_DATA_HOME=/tmp/usr/ports/multimedia/ffmpeg/work
 XDG_CONFIG_HOME=/tmp/usr/ports/multimedia/ffmpeg/work
 HOME=/tmp/usr/ports/multimedia/ffmpeg/work SHELL=/bin/sh
 CONFIG_SHELL=/bin/sh ./configure --prefix="/opt" --mandir="/opt/man"
 --datadir="/opt/share/ffmpeg" --pkgconfigdir="/opt/libdata/pkgconfig"
 --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-
 avresample --enable-pthreads --disable-libutvideo --disable-libsoxr
 --cc="cc" --extra-cflags="-msse -I/opt/include/vorbis -I/opt/include"
 --extra-ldflags="-L/opt/lib " --extra-libs="-lpthread" --enable-memalign-
 hack --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass
 --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcelt
 --disable-libdc1394 --disable-debug --disable-htmlpages --enable-libfaac
 --disable-ffserver --enable-libflite --enable-fontconfig --enable-
 libfreetype --enable-frei0r --disable-libfribidi --enable-libgme --enable-
 libgsm --enable-iconv --disable-indev=jack --disable-ladspa --enable-
 libmp3lame --enable-libbluray --enable-mmx --disable-libmodplug --enable-
 openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-
 libopus --disable-libpulse --disable-indev=pulse --disable-outdev=pulse
 --enable-runtime-cpudetect --enable-librtmp --enable-libschroedinger
 --enable-ffplay --enable-libsmbclient --enable-libspeex --enable-sse
 --enable-libssh --enable-libtheora --enable-libtwolame --disable-libv4l2
 --disable-indev=v4l2 --disable-outdev=v4l2 --enable-vaapi --disable-vdpau
 --enable-libvorbis --enable-libvo-amrwbenc --enable-libvpx --enable-
 libwavpack --enable-x11grab --enable-libx264 --enable-libxcb --enable-
 libxvid --disable-libzvbi --disable-gnutls --enable-openssl --enable-
 version3 --enable-nonfree --disable-libopenjpeg --disable-libflite
 --disable-optimizations --enable-debug=3
 }}}
 The main difference to your configure line is that I build inside the
 source directory: If this makes a difference, it would indeed be a major
 (unknown) issue.

 A few comments about the configure line:
 {{{
 env CFLAGS="-march=core2 -g"
 }}}
 This is not a good idea, use `--cpu=core2` instead (it has the advantage
 of being applied not only to the C file compilation), debugging is the
 default and can be set with `--enable-debug`
 {{{
 COMPILER_PATH=/opt/bin
 MAKE=gmake
 ac_cv_path_PERL=/opt/bin/perl
 ac_cv_path_PERL_PATH=/opt/bin/perl
 PKG_CONFIG=pkgconf
 XDG_DATA_HOME=/tmp/usr/ports/multimedia/ffmpeg/work
 XDG_CONFIG_HOME=/tmp/usr/ports/multimedia/ffmpeg/work
 HOME=/tmp/usr/ports/multimedia/ffmpeg/work
 }}}
 I don't think these have any effect (at least I can't reproduce an
 effect).
 Or do I miss something (I may not have tested every single one of them)?
 {{{
 --enable-postproc
 --enable-pthreads
 --disable-libutvideo
 --disable-libsoxr
 --disable-libdc1394
 --enable-runtime-cpudetect
 --disable-libfribidi
 --enable-iconv
 --disable-ladspa
 --disable-libmodplug
 --disable-libpulse
 --disable-libv4l2
 --enable-vaapi
 --disable-libzvbi
 --disable-gnutls
 --disable-libopenjpeg
 --disable-libflite
 }}}
 These are the default (at least for GPL, without GPL, `--enable-postproc`
 doesn't work). Adding them to configure makes debugging (like in this
 ticket and ticket #5231 needlessly difficult, I therefore suggest to
 remove them.
 Note that configure options like `--enable-iconv` do not work as you may
 expect them to, they simply have no effect (no matter if iconv is
 available or not).
 {{{
 --extra-libs="-lpthread"
 }}}
 If this is needed, I believe there is a bug in configure that we should
 fix.
 {{{
 --enable-memalign-hack
 }}}
 This surprises me most: It was needed on old Windows versions (but isn't
 anymore since years) and I didn't know it was ever used on other systems.
 I originally wanted to suggest to test it in ticket #5231 but if you used
 it until now I suggest to remove it, it has a (slight) performance penalty
 afaict.
 {{{
 --disable-indev=jack
 --disable-indev=pulse
 --disable-outdev=pulse
 --disable-indev=v4l2
 --disable-outdev=v4l2
 }}}
 Are there bugs that we don't know about?
 {{{
 --enable-libfaac
 }}}
 (libfdk has significantly better quality)
 {{{
 --enable-mmx
 --enable-sse
 }}}
 These are debug options, please don't use them.
 {{{
 --extra-cflags="-msse
 }}}
 Do you know why this is added? Does it have any positive effects?

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5234#comment:3>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list