> 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 _______________________________________________ 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".