Stuart Hughes,
Thank you. Several times the cross-compilation would interrupt with errors and
I could not understand why the *.la file was important to the compilation.
It was unforeseen that an innocuous statement would create cross-compilation
build and install problems.
find $RPM_BUILD_ROOT%{pfx}%{_prefix}/lib/ -name "*.la" | xargs rm -f
After removing the above statement, warnings such "file moved" and the error
"no such file or directory found" were commonplace.
http://lists.gnu.org/archive/html/ltib/2010-04/msg00127.html
From: Leonard Pimentel
Sent: Wednesday, January 14, 2015 11:08 AM
To: '[email protected]'
Subject: Cross-compilation errors preventing build
General cross-compiling question
Are there two solutions (at minimum) to solve the following warning [file
moved] and error [no such file]? I am running into build errors. Help is
appreciated.
Error log snippet:
libtool: link: warning: library
`/home/leo/logic/Logic_BSPs/Linux_3.0/1026167_LogicPD_Linux_BSP_2.4-3/rootfs/usr/lib/libgstvideo-0.10.la'
was moved.
/bin/sed: can't read /usr/lib/libgstinterfaces-0.10.la: No such file or
directory
libtool: link: `/usr/lib/libgstinterfaces-0.10.la' is not a valid libtool
archive
make[3]: *** [libgstaudiofx.la] Error 1
make[3]: Leaving directory
`/home/leo/logic/Logic_BSPs/Linux_3.0/1026167_LogicPD_Linux_BSP_2.4-3/rpm/BUILD/gst-plugins-good-0.10.25/gst/audiofx'
make[2]: *** [audiofx] Error 2
make[3]: Leaving directory
`/home/leo/logic/Logic_BSPs/Linux_3.0/1026167_LogicPD_Linux_BSP_2.4-3/rpm/BUILD/gst-plugins-good-0.10.25/gst/debugutils'
make[2]: Leaving directory
`/home/leo/logic/Logic_BSPs/Linux_3.0/1026167_LogicPD_Linux_BSP_2.4-3/rpm/BUILD/gst-plugins-good-0.10.25/gst'
make[1]: *** [all-recursive] Error 1
Snippets from spec file
%define pfx /opt/freescale/rootfs/%{_target_cpu}
%define LOGICPD_DIR
/home/leo/logic/Logic_BSPs/Linux_3.0/1026167_LogicPD_Linux_BSP_2.4-3
%Build
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:%LOGICPD_FS/usr/lib/pkconfig
lt_cv_path_NM=nm \
./configure --prefix=%{_prefix} --host=$CFGHOST --build=%{_build} \
--with-pkg-config-path=$PKG_CONFIG_PATH \
CPPFLAGS=-I%LOGICPD_DIR/rootfs/usr/include/gstreamer-0.10/gst \
LDFLAGS=-L%LOGICPD_DIR/rootfs/usr/lib \
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=${RPM_BUILD_ROOT}%{pfx}
The following comment from StackOverflow suggests setting the dependency_libs
section.
Have you looked inside the libfreetype.la file? Libtool .la files are just text
files describing libraries. By default, they are commented. Search for the
libdir and dependency_libs settings and check if they point to the right places.
How can this be accomplished either in the configuration statement or via a
libtool -finish command?
Contents of two .la files. Note the libdir is referenced the file system
directory path under the cross-compilied target.
# libgstinterfaces-0.10.la - a libtool library file
# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libgstinterfaces-0.10.so.0'
# Names of this library.
library_names='libgstinterfaces-0.10.so.0.21.0 libgstinterfaces-0.10.so.0
libgstinterfaces-0.10.so'
# The name of the static archive.
old_library='libgstinterfaces-0.10.a'
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs='
-L/home/leo/logic/Logic_BSPs/Linux_3.0/1026167_LogicPD_Linux_BSP_2.4-3/rootfs/usr/lib
-lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2
-lglib-2.0 -lm'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libgstinterfaces-0.10.
current=21
age=21
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/usr/lib'
libgstaudio-0.10.la - a libtool library file
# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libgstaudio-0.10.so.0'
# Names of this library.
library_names='libgstaudio-0.10.so.0.21.0 libgstaudio-0.10.so.0
libgstaudio-0.10.so'
# The name of the static archive.
old_library='libgstaudio-0.10.a'
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs='
-L/home/leo/logic/Logic_BSPs/Linux_3.0/1026167_LogicPD_Linux_BSP_2.4-3/rootfs/usr/lib
-lgstbase-0.10 /usr/lib/libgstinterfaces-0.10.la -lgstreamer-0.10
-lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0 -lm'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libgstaudio-0.10.
current=21
age=21
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/usr/lib'
Leonard Pimentel
CEO & CTO
Lotus Research, LLC.
Cell: (917) 834-7533
[logo_linkedin_92x22]<http://www.linkedin.com/pub/leonard-pimentel/3/a0a/796>
_______________________________________________
LTIB home page: http://ltib.org
Ltib mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/ltib