Opened 6 years ago

Closed 6 years ago

#6711 closed defect (invalid)

error 'libavcodec/x86/proresdsp.o' has no sections

Reported by: hydra3333 Owned by:
Priority: normal Component: build system
Version: git-master Keywords: regression
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

Building with commit 2f7ca0b94e49c2bfce8bda3f883766101ebd7a9b produces at least the following errors ... which I have just noticed as it doesn't crash my rdp-build-script based cross-compiling script.

/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-strip: error: the input file 'libavcodec/x86/proresdsp.o' has no sections
ffbuild/common.mak:82: recipe for target 'libavcodec/x86/proresdsp.o' failed
make: [libavcodec/x86/proresdsp.o] Error 1 (ignored)
CC libavcodec/x86/proresdsp_init.o
X86ASM libavcodec/x86/qpel.o
STRIP libavcodec/x86/qpel.o
X86ASM libavcodec/x86/qpeldsp.o
CC libavcodec/x86/qpeldsp_init.o
STRIP libavcodec/x86/qpeldsp.o
X86ASM libavcodec/x86/rv34dsp.o
CC libavcodec/x86/rv34dsp_init.o
STRIP libavcodec/x86/rv34dsp.o
X86ASM libavcodec/x86/rv40dsp.o
CC libavcodec/x86/rv40dsp_init.o
STRIP libavcodec/x86/rv40dsp.o
X86ASM libavcodec/x86/sbrdsp.o
STRIP libavcodec/x86/sbrdsp.o
CC libavcodec/x86/sbrdsp_init.o
X86ASM libavcodec/x86/simple_idct.o
X86ASM libavcodec/x86/simple_idct10.o
STRIP libavcodec/x86/simple_idct10.o
/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-strip: error: the input file 'libavcodec/x86/simple_idct10.o' has no sections
ffbuild/common.mak:82: recipe for target 'libavcodec/x86/simple_idct10.o' failed

How to reproduce:

build under ubuntu 17.04 with

./configure --arch=x86 --target-os=mingw32
--cross-prefix=/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-
--pkg-config=pkg-config --pkg-config-flags=--static --enable-gray --enable-version3 --disable-debug --disable-doc --disable-htmlpages
--disable-manpages --disable-podpages --disable-txtpages --disable-w32threads --enable-nvenc --enable-cuda --enable-cuvid --enable-d3d11va
--enable-libsoxr --enable-fontconfig --enable-libass --enable-libbluray --enable-iconv --enable-libtwolame --enable-libzvbi --enable-libcaca
--enable-libmodplug --extra-libs=-lstdc++ --extra-libs=-lpng --extra-libs=-loleaut32 --enable-libmp3lame --enable-version3 --enable-zlib
--enable-librtmp --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm
--enable-libfreetype --enable-libopus --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc
--enable-libvpx --enable-libilbc --enable-libwavpack --enable-libwebp --enable-libgme --enable-dxva2 --enable-gray --enable-libopenh264
--enable-libmysofa --enable-libflite --enable-lzma --enable-libsnappy --enable-libzimg --enable-libbs2b --enable-gmp --enable-libfribidi
--enable-cross-compile --enable-pic --extra-libs=-lpsapi --extra-libs=-lspeexdsp --disable-schannel
--extra-cflags=-DLIBTWOLAME_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-DCACA_STATIC --enable-gpl --enable-avisynth
--enable-frei0r --enable-filter=frei0r --enable-librubberband --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs
--enable-libxvid --enable-libmfx --enable-avresample --extra-libs=-lpsapi --extra-libs=-lspeexdsp --enable-libcdio
--extra-cflags=-mtune=generic --extra-cflags=-O3 --enable-static --disable-shared
--prefix=/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32
--enable-nonfree --enable-decklink --enable-libfdk-aac --enable-opencl --enable-runtime-cpudetect --disable-libx264

built on 2017.10.02

Change History (13)

comment:1 by Carl Eugen Hoyos, 6 years ago

Is this a regression or did this never work?

comment:2 by hydra3333, 6 years ago

I wish I knew. I just noticed it because I saw it in looking at the other OpenCL build related regression. It doesn't crash my build process atm, but I reported it anyway on the basis it said "error" which is usually not a good thing.

Did you need me to sample commits going back a month or two ? It takes about 1/2 hour each on my pc so it'd take quite a while.

in reply to:  2 comment:3 by Carl Eugen Hoyos, 6 years ago

Replying to hydra3333:

I wish I knew. I just noticed it because I saw it in looking at the other OpenCL build related regression. It doesn't crash my build process atm, but I reported it anyway on the basis it said "error" which is usually not a good thing.

Did you need me to sample commits going back a month or two ? It takes about 1/2 hour each on my pc so it'd take quite a while.

You could test configure && make libavcodec/x86/proresdsp.o which I hope wouldn't take 30 minutes...

comment:4 by hydra3333, 6 years ago

It seems these were present at least as early as 2017.06.30 so I suspect the "Error"s may have been there for a long time ... and not affected anything ?

STRIP	libavcodec/x86/mdct15.o
/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-strip: error: the input file 'libavcodec/x86/mdct15.o' has no sections
ffbuild/common.mak:82: recipe for target 'libavcodec/x86/mdct15.o' failed
make: [libavcodec/x86/mdct15.o] Error 1 (ignored)

X86ASM	libavcodec/x86/proresdsp.o
STRIP	libavcodec/x86/proresdsp.o
/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-strip: error: the input file 'libavcodec/x86/proresdsp.o' has no sections
ffbuild/common.mak:82: recipe for target 'libavcodec/x86/proresdsp.o' failed
make: [libavcodec/x86/proresdsp.o] Error 1 (ignored)

X86ASM	libavcodec/x86/simple_idct10.o
STRIP	libavcodec/x86/simple_idct10.o
/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-strip: error: the input file 'libavcodec/x86/simple_idct10.o' has no sections
ffbuild/common.mak:82: recipe for target 'libavcodec/x86/simple_idct10.o' failed
make: [libavcodec/x86/simple_idct10.o] Error 1 (ignored)

X86ASM	libavcodec/x86/utvideodsp.o
STRIP	libavcodec/x86/utvideodsp.o
/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-strip: error: the input file 'libavcodec/x86/utvideodsp.o' has no sections
ffbuild/common.mak:82: recipe for target 'libavcodec/x86/utvideodsp.o' failed
make: [libavcodec/x86/utvideodsp.o] Error 1 (ignored)

comment:5 by Carl Eugen Hoyos, 6 years ago

Please confirm that this is a regression since 18f09524

comment:6 by hydra3333, 6 years ago

OK, I'm still looking into it ... I'm an old newbie.

When I tried, building ffmpeg with openjpeg from git broke, which turned out to be differences in the timing of ffmpeg support for openjpeg v2.1 and v2.2 and v2.3 :( So, for the purpose of "Please confirm that this is a regression since 18f09524" I'll need to temporarily disable openjpeg since I don't yet know how to fiddle with ffmpeg's configure to do "You could test configure && make libavcodec/x86/proresdsp.o which I hope wouldn't take 30 minutes..."

comment:7 by Carl Eugen Hoyos, 6 years ago

Please test the following (~60 seconds):

$ git checkout 18f09524
$ ./configure --arch=x86 --target-os=mingw32 --cross-prefix=/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- && make libavcodec/x86/proresdsp.o
$ git checkout 18f09524^
$ ./configure --arch=x86 --target-os=mingw32 --cross-prefix=/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- && make libavcodec/x86/proresdsp.o
Last edited 6 years ago by Carl Eugen Hoyos (previous) (diff)

comment:8 by Carl Eugen Hoyos, 6 years ago

If you don't have an FFmpeg build directory, it of course takes significantly longer, up to five minutes:

$ git clone git://source.ffmpeg.org/ffmpeg.git
$ cd ffmpeg
$ git checkout 18f09524
$ ./configure --arch=x86 --target-os=mingw32 --cross-prefix=/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- && make libavcodec/x86/proresdsp.o
$ git checkout 18f09524^
$ ./configure --arch=x86 --target-os=mingw32 --cross-prefix=/home/u/Desktop/ffmpeg-windows-build-helpers-withOpenCL-master/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- && make libavcodec/x86/proresdsp.o
Last edited 6 years ago by Carl Eugen Hoyos (previous) (diff)

comment:9 by hydra3333, 6 years ago

My goodness, thank you very much. I'll need to fiddle with the configure, I suppose, since I'm cross-compiling under Ubuntu :)

I'll give it a try tonight, after spending some time with my good wife (I'm getting an eye for not spending enough time with her today).

comment:10 by kfg, 6 years ago

I've hit this bug while trying to update the mingw-w64-ffmpeg package in the Arch Linux AUR from 3.3 to 3.4.x.

I did check commit 18f09524 and 18f09524^ as suggested by cehoyos and neither contained the problem.

I then did a git bisect from 18f09524 as first good commit to current master (474194a8d0f2812802c275f6ed4f0fd5cd58ae0e) as last bad commit. The bisect resulted in commit 4f9297ac3b39098547863d28fbc8d2a906d5be49 as first bad commit. After adding --x86asmexe=yasm to the configure arguments to revert to yasm as suggested in the changelog the bug was fixed.

So it seems like nasm produces a libavcodec/x86/proresdsp.o that cannot be stripped by the mingw-w64 strip tools.

comment:11 by Carl Eugen Hoyos, 6 years ago

Component: undeterminedbuild system
Keywords: regression added
Priority: normalimportant

Please confirm that the issue is reproducible with latest nasm.

comment:12 by Hendrik, 6 years ago

What exactly is even the issue here? The build still succeeds and functions properly.

comment:13 by Carl Eugen Hoyos, 6 years ago

Priority: importantnormal
Resolution: invalid
Status: newclosed

Sorry, this wasn’t obvious to me...

Note: See TracTickets for help on using tickets.