2

我用我的工具链编译GST-插件坏了ARM。我编译了构建它所需的所有东西,包括gstreamer,libmms等等,并将它们放在我的sysroot中,包括与pkg-config相关的头文件,库和文件。错误而编译库ARM平台

当我配置everyrhing似乎确定,但试图编译结果:

[email protected]:~/gstreamer/gst-plugins-bad-0.10.21$ make 
make all-recursive 
make[1]: Entering directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21' 
Making all in gst-libs 
make[2]: Entering directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs' 
Making all in gst 
make[3]: Entering directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs/gst' 
Making all in interfaces 
make[4]: Entering directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs/gst/interfaces' 
make all-am 
make[5]: Entering directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs/gst/interfaces' 
make[5]: Nothing to be done for `all-am'. 
make[5]: Leaving directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs/gst/interfaces' 
make[4]: Leaving directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs/gst/interfaces' 
Making all in signalprocessor 
make[4]: Entering directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs/gst/signalprocessor' 
make[4]: Nothing to be done for `all'. 
make[4]: Leaving directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs/gst/signalprocessor' 
Making all in video 
make[4]: Entering directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs/gst/video' 
    CC  libgstbasevideo_0.10_la-gstbasevideoutils.lo 
    CC  libgstbasevideo_0.10_la-gstbasevideocodec.lo 
    CC  libgstbasevideo_0.10_la-gstbasevideodecoder.lo 
    CC  libgstbasevideo_0.10_la-gstbasevideoencoder.lo 
    CC  libgstbasevideo_0.10_la-gstbasevideoparse.lo 
    CCLD libgstbasevideo-0.10.la 
libtool: link: warning: library `/home/luca/.../arm-2010q1_vsync/arm-none-linux-gnueabi/libc/usr/lib/libgstbase-0.10.la' was moved. 
libtool: link: warning: library `/home/luca/.../arm-2010q1_vsync/arm-none-linux-gnueabi/libc/usr/lib/libgstreamer-0.10.la' was moved. 
libtool: link: warning: library `/home/luca/.../arm-2010q1_vsync/arm-none-linux-gnueabi/libc/usr/lib/libgobject-2.0.la' was moved. 
libtool: link: warning: library `/home/luca/.../arm-2010q1_vsync/arm-none-linux-gnueabi/libc/usr/lib/libgmodule-2.0.la' was moved. 
libtool: link: warning: library `/home/luca/.../arm-2010q1_vsync/arm-none-linux-gnueabi/libc/usr/lib/libgthread-2.0.la' was moved. 
libtool: link: warning: library `/home/luca/.../arm-2010q1_vsync/arm-none-linux-gnueabi/libc/usr/lib/libglib-2.0.la' was moved. 
libtool: link: warning: library `/home/luca/.../arm-2010q1_vsync/arm-none-linux-gnueabi/libc/usr/lib/libgstvideo-0.10.la' was moved. 
/usr/lib/libxml2.so: could not read symbols: File in wrong format 
collect2: ld returned 1 exit status 
make[4]: *** [libgstbasevideo-0.10.la] Error 1 
make[4]: Leaving directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs/gst/video' 
make[3]: *** [all-recursive] Error 1 
make[3]: Leaving directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs/gst' 
make[2]: *** [all-recursive] Error 1 
make[2]: Leaving directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21/gst-libs' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/home/luca/gstreamer/gst-plugins-bad-0.10.21' 
make: *** [all] Error 2 

看来它正试图对我的桌面libxml2的链接。为什么它不链接到我拥有所有符号的工具链中的链接?

+0

你有没有找到解决办法?我也有同样的问题。 – Black 2015-08-25 14:43:46

回答

0

请问您的配置脚本支持autoconf的交叉编译? 在configure.in,什么是shell变量cross_compiling的调用AC_PROG_CC后的价值?

如果它被设置为无,则生成文件设置为使用您的交叉编译器?

要设置这些既可以覆盖它们在手册中或使用环境变量等 下面

出口CC =拱GCC 出口CXX =拱-C++ 出口拱-LD 出口AR的示例=拱-AR 出口AS =拱作为 出口NM =拱纳米 出口STRIP =拱条

如果它被设置为是,则检查包括路径专门为在生成文件的libxml。

另一种可能的资源用于编译GST-插件坏ARM上在以下guide

0

你确定你的工具链有libxml2的?或者说,你的系统。

您可能需要导出PKG_CONFIG,所以当你运行“pkg配置的libxml --libs-2.0”你在正确的道路。另外,您可以检查生成的Makefile以查看使用的真正标志,或使用详细选项构建。

GStreamer的构建内容也可能因为交叉编译而被破坏,这也是我使用scratchbox 2的原因之一;它使交叉编译透明。