[FFmpeg-trac] #10796(build system:new): LTO does not work with --enable-opencl
FFmpeg
trac at avcodec.org
Fri Jan 12 20:08:45 EET 2024
#10796: LTO does not work with --enable-opencl
-------------------------------------+-------------------------------------
Reporter: Oneric | Type: defect
Status: new | Priority: normal
Component: build | Version: git-
system | master
Keywords: LTO | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
When building with --enable-opencl --enable-lto the build fails on current
git master bfa1b7577dd646e84acafd0c82a8c2c6fe9c2a0a.
It used to work in the past, I haven’t kept record of each time it worked
but at least up until feeeefc3db04810286cd647f235ced0ec6c3eba8 it still
worked (also built with gcc 12).
Changing --enable-opencl for --disable-opencl results in a successful
build.
Full config:
{{{
% gcc --version
gcc (Debian 12.2.0-14) 12.2.0
% ./configure --enable-lto --cc=gcc --ld=gcc --samples=fate-suite
--disable-shared --enable-static --enable-opencl
}}}
Full error log:
{{{
/usr/bin/ld: /tmp/ccx7sf4o.ltrans4.ltrans.o: in function
`avgblur_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_avgblur_opencl.c:62: undefined reference to
`ff_source_avgblur_cl'
/usr/bin/ld: /tmp/ccx7sf4o.ltrans6.ltrans.o: in function
`filter_frame.lto_priv.32':
./ffmpeg/libavfilter/vf_colorkey_opencl.c:53: undefined reference to
`ff_source_colorkey_cl'
/usr/bin/ld: /tmp/ccx7sf4o.ltrans6.ltrans.o: in function
`convolution_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_convolution_opencl.c:65: undefined reference to
`ff_source_convolution_cl'
/usr/bin/ld: /tmp/ccx7sf4o.ltrans12.ltrans.o: in function
`neighbor_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_neighbor_opencl.c:58: undefined reference to
`ff_source_neighbor_cl'
/usr/bin/ld: /tmp/ccx7sf4o.ltrans12.ltrans.o: in function
`overlay_opencl_blend':
./ffmpeg/libavfilter/vf_overlay_opencl.c:54: undefined reference to
`ff_source_overlay_cl'
/usr/bin/ld: /tmp/ccx7sf4o.ltrans12.ltrans.o: in function
`nlmeans_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_nlmeans_opencl.c:101: undefined reference to
`ff_source_nlmeans_cl'
/usr/bin/ld: /tmp/ccx7sf4o.ltrans13.ltrans.o: in function
`filter_frame.lto_priv.95':
./ffmpeg/libavfilter/vf_pad_opencl.c:95: undefined reference to
`ff_source_pad_cl'
/usr/bin/ld: /tmp/ccx7sf4o.ltrans15.ltrans.o: in function
`tonemap_opencl_init':
./ffmpeg/libavfilter/vf_tonemap_opencl.c:243: undefined reference to
`ff_source_tonemap_cl'
/usr/bin/ld: ./ffmpeg/libavfilter/vf_tonemap_opencl.c:244: undefined
reference to `ff_source_colorspace_common_cl'
/usr/bin/ld: /tmp/ccx7sf4o.ltrans15.ltrans.o: in function
`transpose_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_transpose_opencl.c:47: undefined reference to
`ff_source_transpose_cl'
/usr/bin/ld: /tmp/ccx7sf4o.ltrans15.ltrans.o: in function
`unsharp_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_unsharp_opencl.c:72: undefined reference to
`ff_source_unsharp_cl'
/usr/bin/ld: /tmp/ccx7sf4o.ltrans17.ltrans.o: in function
`xfade_opencl_activate.lto_priv.0':
./ffmpeg/libavfilter/vf_xfade_opencl.c:96: undefined reference to
`ff_source_xfade_cl'
collect2: error: ld returned 1 exit status
make: *** [Makefile:133: ffprobe_g] Error 1
make: *** Waiting for unfinished jobs....
/usr/bin/ld: /tmp/ccSOwh70.ltrans3.ltrans.o: in function
`avgblur_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_avgblur_opencl.c:62: undefined reference to
`ff_source_avgblur_cl'
/usr/bin/ld: /tmp/ccSOwh70.ltrans5.ltrans.o: in function
`filter_frame.lto_priv.32':
./ffmpeg/libavfilter/vf_colorkey_opencl.c:53: undefined reference to
`ff_source_colorkey_cl'
/usr/bin/ld: /tmp/ccSOwh70.ltrans5.ltrans.o: in function
`convolution_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_convolution_opencl.c:65: undefined reference to
`ff_source_convolution_cl'
/usr/bin/ld: /tmp/ccSOwh70.ltrans11.ltrans.o: in function
`neighbor_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_neighbor_opencl.c:58: undefined reference to
`ff_source_neighbor_cl'
/usr/bin/ld: /tmp/ccSOwh70.ltrans11.ltrans.o: in function
`nlmeans_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_nlmeans_opencl.c:101: undefined reference to
`ff_source_nlmeans_cl'
/usr/bin/ld: /tmp/ccSOwh70.ltrans12.ltrans.o: in function
`overlay_opencl_blend':
./ffmpeg/libavfilter/vf_overlay_opencl.c:54: undefined reference to
`ff_source_overlay_cl'
/usr/bin/ld: /tmp/ccSOwh70.ltrans12.ltrans.o: in function
`filter_frame.lto_priv.95':
./ffmpeg/libavfilter/vf_pad_opencl.c:95: undefined reference to
`ff_source_pad_cl'
/usr/bin/ld: /tmp/ccSOwh70.ltrans14.ltrans.o: in function
`tonemap_opencl_init':
./ffmpeg/libavfilter/vf_tonemap_opencl.c:243: undefined reference to
`ff_source_tonemap_cl'
/usr/bin/ld: ./ffmpeg/libavfilter/vf_tonemap_opencl.c:244: undefined
reference to `ff_source_colorspace_common_cl'
/usr/bin/ld: /tmp/ccSOwh70.ltrans14.ltrans.o: in function
`transpose_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_transpose_opencl.c:47: undefined reference to
`ff_source_transpose_cl'
/usr/bin/ld: /tmp/ccSOwh70.ltrans14.ltrans.o: in function
`unsharp_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_unsharp_opencl.c:72: undefined reference to
`ff_source_unsharp_cl'
/usr/bin/ld: /tmp/ccSOwh70.ltrans16.ltrans.o: in function
`xfade_opencl_activate.lto_priv.0':
./ffmpeg/libavfilter/vf_xfade_opencl.c:96: undefined reference to
`ff_source_xfade_cl'
collect2: error: ld returned 1 exit status
make: *** [Makefile:133: ffplay_g] Error 1
/usr/bin/ld: /tmp/ccqEzyPi.ltrans5.ltrans.o: in function
`avgblur_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_avgblur_opencl.c:62: undefined reference to
`ff_source_avgblur_cl'
/usr/bin/ld: /tmp/ccqEzyPi.ltrans7.ltrans.o: in function
`filter_frame.lto_priv.32':
./ffmpeg/libavfilter/vf_colorkey_opencl.c:53: undefined reference to
`ff_source_colorkey_cl'
/usr/bin/ld: /tmp/ccqEzyPi.ltrans7.ltrans.o: in function
`convolution_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_convolution_opencl.c:65: undefined reference to
`ff_source_convolution_cl'
/usr/bin/ld: /tmp/ccqEzyPi.ltrans13.ltrans.o: in function
`neighbor_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_neighbor_opencl.c:58: undefined reference to
`ff_source_neighbor_cl'
/usr/bin/ld: /tmp/ccqEzyPi.ltrans13.ltrans.o: in function
`overlay_opencl_blend':
./ffmpeg/libavfilter/vf_overlay_opencl.c:54: undefined reference to
`ff_source_overlay_cl'
/usr/bin/ld: /tmp/ccqEzyPi.ltrans13.ltrans.o: in function
`nlmeans_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_nlmeans_opencl.c:101: undefined reference to
`ff_source_nlmeans_cl'
/usr/bin/ld: /tmp/ccqEzyPi.ltrans14.ltrans.o: in function
`filter_frame.lto_priv.95':
./ffmpeg/libavfilter/vf_pad_opencl.c:95: undefined reference to
`ff_source_pad_cl'
/usr/bin/ld: /tmp/ccqEzyPi.ltrans16.ltrans.o: in function
`tonemap_opencl_init':
./ffmpeg/libavfilter/vf_tonemap_opencl.c:243: undefined reference to
`ff_source_tonemap_cl'
/usr/bin/ld: ./ffmpeg/libavfilter/vf_tonemap_opencl.c:244: undefined
reference to `ff_source_colorspace_common_cl'
/usr/bin/ld: /tmp/ccqEzyPi.ltrans16.ltrans.o: in function
`transpose_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_transpose_opencl.c:47: undefined reference to
`ff_source_transpose_cl'
/usr/bin/ld: /tmp/ccqEzyPi.ltrans16.ltrans.o: in function
`unsharp_opencl_filter_frame.lto_priv.0':
./ffmpeg/libavfilter/vf_unsharp_opencl.c:72: undefined reference to
`ff_source_unsharp_cl'
/usr/bin/ld: /tmp/ccqEzyPi.ltrans18.ltrans.o: in function
`xfade_opencl_activate.lto_priv.0':
./ffmpeg/libavfilter/vf_xfade_opencl.c:96: undefined reference to
`ff_source_xfade_cl'
collect2: error: ld returned 1 exit status
}}}
Patches should be submitted to the ffmpeg-devel mailing list and not this
bug tracker.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/10796>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list