Library path switch in gst-libs/ext/Makefile.am causes cross compilation errors
Submitted by Carlos Rafael Giani
Link to original bug (#794621)
Description
In gst-libs/ext/akefile.am , there is this line:
echo "dependency_libs=' -L$(libdir) $(if 2,
(foreach dep,2,
(abs_builddir)/$(dep).la)) $(call find_library_la,$3 (LIBM),
(LDFLAGS)) '" && \
When trying to cross compile gst-libav 1.14.0 with Yocto rocko, this causes a problem.
libdir is set to /usr/lib, so -L/usr/lib is passed to the compiler. Yocto detects this switch, and considers it a hard error.
It is possible that GCC indeed is translating the path properly, but Yocto sees this path, and assumes that it is specifying an unsafe path to the host's libraries. Either way, this makes it impossible to build gst-libav 1.14.0 with Yocto.
Possible solutions are to either (a) stick with a Yocto patch against gst-libav that removes the -L switch, (b) manually append the sysroot to this -L switch path, or (c) silence the Yocto error (not recommended).
Note that other cross compilation environments that check the -I and -L paths are also likely to encounter this problem.
Version: 1.14.0