[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