Em sex, 16 de ago de 2019 às 11:20, Li, Zhong <zhong...@intel.com> escreveu: > > > From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf > > Of Guo, Yejun > > Sent: Wednesday, August 7, 2019 10:44 AM > > To: ffmpeg-devel@ffmpeg.org > > Cc: Guo, Yejun <yejun....@intel.com> > > Subject: [FFmpeg-devel] [PATCH V2] FATE/dnn: let fate/dnn tests depend on > > ffmpeg static libraries > > > > background: > > DNN (deep neural network) is a sub module of libavfilter, and FATE/dnn is > > unit test for the DNN module, one unit test for one dnn layer. > > The unit tests are not based on the APIs exported by libavfilter, they just > > directly call into the functions within DNN submodule. > > > > There is an issue when run the following command: > > build$ ../ffmpeg/configure --disable-static --enable-shared make make > > fate-dnn-layer-pad > > > > And part of error message: > > tests/dnn/dnn-layer-pad-test.o: In function `test_with_mode_symmetric': > > /work/media/ffmpeg/build/src/tests/dnn/dnn-layer-pad-test.c:73: > > undefined reference to `dnn_execute_layer_pad' > > > > The root cause is that function dnn_execute_layer_pad is a LOCAL symbol in > > libavfilter.so, and so the linker could not find it when build > > dnn-layer-pad-test. > > To check it, just run: readelf -s libavfilter/libavfilter.so | grep dnn > > > > So, add dependency in fate/dnn Makefile with ffmpeg static libraries. > > This is the same method used in fate/checkasm > > > > Signed-off-by: Guo, Yejun <yejun....@intel.com> > > --- > > tests/dnn/Makefile | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/tests/dnn/Makefile b/tests/dnn/Makefile index b2e6680..0e050ea > > 100644 > > --- a/tests/dnn/Makefile > > +++ b/tests/dnn/Makefile > > @@ -4,8 +4,8 @@ DNNTESTOBJS := > > $(DNNTESTOBJS:%=$(DNNTESTSDIR)%) > > $(DNNTESTPROGS:%=$(DNNTESTSDIR) DNNTESTPROGS := > > $(DNNTESTPROGS:%=$(DNNTESTSDIR)/%-test$(EXESUF)) > > -include $(wildcard $(DNNTESTOBJS:.o=.d)) > > > > -$(DNNTESTPROGS): %$(EXESUF): %.o $(FF_DEP_LIBS) > > - $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(filter %.o,$^) > > $(FF_EXTRALIBS) $(ELIBS) > > +$(DNNTESTPROGS): %$(EXESUF): %.o $(FF_STATIC_DEP_LIBS) > > + $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(filter %.o,$^) > > +$(FF_STATIC_DEP_LIBS) $(ELIBS) > > > > testclean:: > > $(RM) $(addprefix $(DNNTESTSDIR)/,$(CLEANSUFFIXES) > > *-test$(EXESUF)) > > -- > > 2.7.4 > > LGTM && Verified > > IMHO this is a high priority patch since currently FATE is broken now if > build with dynamic link
Pushed, thanks. > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".