【问题】
编译buildroot期间:
【记录】在Cygwin上用Buildroot为xscale建立交叉工具链
后来出错:
>>> host-mpc 1.0.1 Building PATH="/bin:/home/CLi/develop/crosstool-ng/x-tools/arm-xscale-linux-gnueabi/bin:/opt/crosstool-ng/bin:/home/CLi/develop/crosstool-ng/x-tools/armxscalecurl/bin:/usr/local/bin:/usr/bin:/cygdrive/d/tmp/dev_install_root/Python27_x64:/cygdrive/d/tmp/dev_install_root/Python27_x64/Lib/site-packages/PyQt4:/cygdrive/d/tmp/dev_install_root/Perl64/site/bin:/cygdrive/d/tmp/dev_install_root/Perl64/bin:/cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/d/tmp/WordPress/mysql/mysql-5.5.18/MySQL/MySQL Server 5.5/bin:/cygdrive/d/tmp/WordPress/DevRoot/MySQL/MySQL Server 5.5/bin:/cygdrive/d/tmp/WordPress/DevRoot/php-5.3.6-Win32-VC9-x64:/cygdrive/d/tmp/WordPress/DevRoot/php-5.3.6-Win32-VC9-x64/ext:/cygdrive/d/tmp/WordPress/DevRoot/Python27:/cygdrive/c/Program Files (x86)/Common Files/Acronis/SnapAPI:/cygdrive/c/Program Files (x86)/Windows Live/Shared:/cygdrive/c/Program Files/Java/jdk1.7.0_11/bin:/home/CLi/develop/docbook/tools/fop/lib:/home/CLi/develop/docbook/tools/fop:/cygdrive/d/DevInstallRoot/FF/DD_IDE_1.1.2/TOK/BIN:/cygdrive/d/DevInstallRoot/FF/DD_IDE_1.2.0/TOK/BIN:/cygdrive/d/DevRoot/EmbeddedDevelop/trunk/Research/CLI/FF/FBK/develop/tools/develop-tools:/cygdrive/d/tmp/WordPress/DevRoot/Python27/Scripts:/cygdrive/d/tmp/dev_install_root/PostgreSQL/8.3/bin:/cygdrive/d/tmp/dev_install_root/ant/apache-ant-1.8.4/bin:/cygdrive/c/Program Files/nodejs:/cygdrive/c/Program Files/Microsoft/Web Platform Installer:/cygdrive/d/DevRoot/IndustrialMobileAutomation/HandheldDataSetter/ANTLR/batchFile:/cygdrive/c/Program Files (x86)/QuickTime/QTSystem:/cygdrive/d/tmp/tmp_dev_root/android/adt-bundle-windows/sdk/platform-tools:/cygdrive/d/tmp/dev_install_root/Tesseract-OCR:/cygdrive/d/tmp/dev_install_root/jython2.5.3/bin:/cygdrive/d/devinstallroot/gnuarm/bin:/cygdrive/d/tmp/dev_install_root/HTML Help Workshop:/cygdrive/c/Program Files/TortoiseSVN/bin:/cygdrive/d/tmp/dev_install_root/Go/bin:/cygdrive/d/tmp/tmp_dev_root/go/bin:/cygdrive/c/Users/CLi/AppData/Roaming/npm:/usr/lib/lapack:/opt/gcc-4.0.4-glibc-2.3.6-kernel-2.6.17/sysroot-arm-xscale-linux-gnu/usr/include:/opt/gcc-4.0.4-glibc-2.3.6-kernel-2.6.17/sysroot-arm-xscale-linux-gnu/usr/include/linux:/home/CLi/develop/buildroot/buildroot-2013.05/output/host/bin:/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin" LD_LIBRARY_PATH="/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/lib:" PKG_CONFIG="/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_LIBDIR="/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/lib/pkgconfig" PERLLIB="/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/lib/perl" /bin/make -j4 -C /home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1/ make[1]: Entering directory `/home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1' /bin/make all-recursive make[2]: Entering directory `/home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1' Making all in src make[3]: Entering directory `/home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1/src' /bin/sh ../libtool --tag=CC --mode=compile /home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin/ccache /bin/gcc -DHAVE_CONFIG_H -I. -I.. -I/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/include -O2 -I/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/include -MT abs.lo -MD -MP -MF .deps/abs.Tpo -c -o abs.lo abs.c /bin/sh ../libtool --tag=CC --mode=compile /home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin/ccache /bin/gcc -DHAVE_CONFIG_H -I. -I.. -I/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/include -O2 -I/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/include -MT acos.lo -MD -MP -MF .deps/acos.Tpo -c -o acos.lo acos.c /bin/sh ../libtool --tag=CC --mode=compile /home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin/ccache /bin/gcc -DHAVE_CONFIG_H -I. -I.. -I/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/include -O2 -I/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/include -MT acosh.lo -MD -MP -MF .deps/acosh.Tpo -c -o acosh.lo acosh.c /bin/sh ../libtool --tag=CC --mode=compile /home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin/ccache /bin/gcc -DHAVE_CONFIG_H -I. -I.. -I/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/include -O2 -I/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/include -MT add.lo -MD -MP -MF .deps/add.Tpo -c -o add.lo add.c libtool: Version mismatch error. This is libtool 2.4, but the libtool: definition of this LT_INIT comes from libtool 2.2.10. libtool: You should recreate aclocal.m4 with macros from libtool 2.4 libtool: and run autoconf again. Makefile:442: recipe for target `acos.lo' failed make[3]: *** [acos.lo] Error 63 make[3]: *** Waiting for unfinished jobs.... libtool: Version mismatch error. This is libtool 2.4, but the libtool: definition of this LT_INIT comes from libtool 2.2.10. libtool: You should recreate aclocal.m4 with macros from libtool 2.4 libtool: and run autoconf again. Makefile:442: recipe for target `abs.lo' failed make[3]: *** [abs.lo] Error 63 libtool: Version mismatch error. This is libtool 2.4, but the libtool: definition of this LT_INIT comes from libtool 2.2.10. libtool: You should recreate aclocal.m4 with macros from libtool 2.4 libtool: and run autoconf again. Makefile:442: recipe for target `add.lo' failed make[3]: *** [add.lo] Error 63 libtool: Version mismatch error. This is libtool 2.4, but the libtool: definition of this LT_INIT comes from libtool 2.2.10. libtool: You should recreate aclocal.m4 with macros from libtool 2.4 libtool: and run autoconf again. Makefile:442: recipe for target `acosh.lo' failed make[3]: *** [acosh.lo] Error 63 make[3]: Leaving directory `/home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1/src' Makefile:382: recipe for target `all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1' Makefile:292: recipe for target `all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1' package/pkg-generic.mk:114: recipe for target `/home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1/.stamp_built' failed make: *** [/home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1/.stamp_built] Error 2 CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05 $
如图:
即:
libtool: Version mismatch error |
【解决过程】
1.感觉像是:
由于我在折腾:
期间,而去修改了libtool等等的版本,而导致后续的,此处的,libtool提示版本不匹配的。
所以,再去想办法,恢复到之前的版本。
2.所以,重新解压一个buildroot:
3.然后和当前的buildroot去比较看看,自己之前是改动了哪些。
看到结果是:
即:
自己之前只是把autoconf从2.68改为了2.65了。
所以,再去改:
D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\buildroot\buildroot-2013.05\package\autoconf\autoconf.mk
变成:
AUTOCONF_VERSION = 2.68
4.然后,再去重新:
make clean
make
看看结果。
5.此处,再去看原先的错误,感觉是:
估计不是这个原因,而还是buildroot本身的libtool的版本,不兼容,所导致的。
所以,估计待会还是错误依旧。
还是得继续找原因。
6.另外,好像,之前曾改过libtool的版本?
默认(调用别的配置后)好像是选的某个版本,而此处,貌似是被我改变了libtool的版本了?
等最后还是不能解决问题,再去考虑,看看,是否是自己之前改动了默认的libtool的版本。
7。此处正在编译。
但是可以先参考:
看到其patch是加上
SER2NET_AUTORECONF = YES
所以,去看看自己此处的mpc:
D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\buildroot\buildroot-2013.05\package\mpc\mpc.mk
结果发现,此处mpc的配置,本身已经加上了autoreconf了:
############################################################# # # mpc # ############################################################# MPC_VERSION = 1.0.1 MPC_SITE = $(BR2_GNU_MIRROR)/mpc MPC_LICENSE = LGPLv3+ MPC_LICENSE_FILES = COPYING.LESSER MPC_INSTALL_STAGING = YES MPC_DEPENDENCIES = gmp mpfr MPC_AUTORECONF = YES HOST_MPC_AUTORECONF = YES $(eval $(autotools-package)) $(eval $(host-autotools-package))
所以,无需关于这个autoreconfig的事情了。
应该是:
如果发现需要重新配置,则会调用autoconf去重新配置的。
8.此处结果,错误依旧,还是上面的同样的错误。
参考:
去操作,结果又有其他错误提示:
CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05 $ cd output/build/host-mpc-1.0.1/src/ CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1/src $ autoreconf –force –install autoreconf-2.69: 'configure.ac' or 'configure.in' is required
9.搞错路径了。应该是mpc主路径:
结果同样错误:
CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1/src $ cd .. CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1 $ autoreconf –force –install autoreconf-2.69: 'configure.ac' or 'configure.in' is required
10.参考:
去试试:
CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1 $ autoreconf -fiv autoreconf-2.69: Entering directory `.' autoreconf-2.69: configure.ac: not using Gettext autoreconf-2.69: running: aclocal --force -I m4 autoreconf-2.69: configure.ac: tracing autoreconf-2.69: running: libtoolize --copy --force libtoolize: putting auxiliary files in `.'. libtoolize: copying file `./ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'. libtoolize: copying file `m4/libtool.m4' libtoolize: copying file `m4/ltoptions.m4' libtoolize: copying file `m4/ltsugar.m4' libtoolize: copying file `m4/ltversion.m4' libtoolize: copying file `m4/lt~obsolete.m4' autoreconf-2.69: running: /usr/bin/autoconf-2.69 --force autoreconf-2.69: running: /usr/bin/autoheader-2.69 --force autoreconf-2.69: running: automake --add-missing --copy --force-missing autoreconf-2.69: Leaving directory `.' CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1 $
如图:
证明是可以的。
11.那再继续去编译buildroot看看是否可行:
结果的确可以了:
[7m>>> host-mpc 1.0.1 Building[27m PATH="/bin:/home/CLi/develop/crosstool-ng/x-tools/arm-xscale-linux-gnueabi/bin:/opt/crosstool-ng/bin:/home/CLi/develop/crosstool-ng/x-tools/armxscalecurl/bin:/usr/local/bin:/usr/bin:/cygdrive/d/tmp/dev_install_root/Python27_x64:/cygdrive/d/tmp/dev_install_root/Python27_x64/Lib/site-packages/PyQt4:/cygdrive/d/tmp/dev_install_root/Perl64/site/bin:/cygdrive/d/tmp/dev_install_root/Perl64/bin:/cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/d/tmp/WordPress/mysql/mysql-5.5.18/MySQL/MySQL Server 5.5/bin:/cygdrive/d/tmp/WordPress/DevRoot/MySQL/MySQL Server 5.5/bin:/cygdrive/d/tmp/WordPress/DevRoot/php-5.3.6-Win32-VC9-x64:/cygdrive/d/tmp/WordPress/DevRoot/php-5.3.6-Win32-VC9-x64/ext:/cygdrive/d/tmp/WordPress/DevRoot/Python27:/cygdrive/c/Program Files (x86)/Common Files/Acronis/SnapAPI:/cygdrive/c/Program Files (x86)/Windows Live/Shared:/cygdrive/c/Program Files/Java/jdk1.7.0_11/bin:/home/CLi/develop/docbook/tools/fop/lib:/home/CLi/develop/docbook/tools/fop:/cygdrive/d/DevInstallRoot/FF/DD_IDE_1.1.2/TOK/BIN:/cygdrive/d/DevInstallRoot/FF/DD_IDE_1.2.0/TOK/BIN:/cygdrive/d/DevRoot/EmbeddedDevelop/trunk/Research/CLI/FF/FBK/develop/tools/develop-tools:/cygdrive/d/tmp/WordPress/DevRoot/Python27/Scripts:/cygdrive/d/tmp/dev_install_root/PostgreSQL/8.3/bin:/cygdrive/d/tmp/dev_install_root/ant/apache-ant-1.8.4/bin:/cygdrive/c/Program Files/nodejs:/cygdrive/c/Program Files/Microsoft/Web Platform Installer:/cygdrive/d/DevRoot/IndustrialMobileAutomation/HandheldDataSetter/ANTLR/batchFile:/cygdrive/c/Program Files (x86)/QuickTime/QTSystem:/cygdrive/d/tmp/tmp_dev_root/android/adt-bundle-windows/sdk/platform-tools:/cygdrive/d/tmp/dev_install_root/Tesseract-OCR:/cygdrive/d/tmp/dev_install_root/jython2.5.3/bin:/cygdrive/d/devinstallroot/gnuarm/bin:/cygdrive/d/tmp/dev_install_root/HTML Help Workshop:/cygdrive/c/Program Files/TortoiseSVN/bin:/cygdrive/d/tmp/dev_install_root/Go/bin:/cygdrive/d/tmp/tmp_dev_root/go/bin:/cygdrive/c/Users/CLi/AppData/Roaming/npm:/usr/lib/lapack:/opt/gcc-4.0.4-glibc-2.3.6-kernel-2.6.17/sysroot-arm-xscale-linux-gnu/usr/include:/opt/gcc-4.0.4-glibc-2.3.6-kernel-2.6.17/sysroot-arm-xscale-linux-gnu/usr/include/linux:/home/CLi/develop/buildroot/buildroot-2013.05/output/host/bin:/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin" LD_LIBRARY_PATH="/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/lib:" PKG_CONFIG="/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_LIBDIR="/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/lib/pkgconfig" PERLLIB="/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/lib/perl" /bin/make -j4 -C /home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1/ make[1]: Entering directory `/home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1' /bin/sh ./config.status --recheck running CONFIG_SHELL=/bin/sh /bin/sh ./configure --prefix=/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr --sysconfdir=/home/CLi/develop/buildroot/buildroot-2013.05/output/host/etc --enable-shared --disable-static --disable-gtk-doc --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no CC=/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin/ccache /bin/gcc CFLAGS=-O2 -I/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/include LDFLAGS=-L/home/CLi/develop/buildroot/buildroot-2013.05/output/host/lib -L/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/lib -Wl,-rpath,/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/lib CPPFLAGS=-I/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/include CPP=/bin/cpp --no-create --no-recursion configure: WARNING: unrecognized options: --disable-gtk-doc, --disable-doc, --disable-docs, --disable-documentation, --with-xmlto, --with-fop checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking build system type... i686-pc-cygwin checking host system type... i686-pc-cygwin checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for a sed that does not truncate output... /bin/sed
如图:
12.另外,去看了看,这些参数的含义:
CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05 $ autoreconf --help Usage: /bin/autoreconf-2.69 [OPTION]... [DIRECTORY]... Run `autoconf' (and `autoheader', `aclocal', `automake', `autopoint' (formerly `gettextize'), and `libtoolize' where appropriate) repeatedly to remake the GNU Build System files in specified DIRECTORIES and their subdirectories (defaulting to `.'). By default, it only remakes those files that are older than their sources. If you install new versions of the GNU Build System, you can make `autoreconf' remake all of the files by giving it the `--force' option. Operation modes: -h, --help print this help, then exit -V, --version print version number, then exit -v, --verbose verbosely report processing -d, --debug don't remove temporary files -f, --force consider all files obsolete -i, --install copy missing auxiliary files --no-recursive don't rebuild sub-packages -s, --symlink with -i, install symbolic links instead of copies -m, --make when applicable, re-run ./configure && make -W, --warnings=CATEGORY report the warnings falling in CATEGORY [syntax] Warning categories include: `cross' cross compilation issues `gnu' GNU coding standards (default in gnu and gnits modes) `obsolete' obsolete features or constructions `override' user redefinitions of Automake rules or variables `portability' portability issues (default in gnu and gnits modes) `syntax' dubious syntactic constructs (default) `unsupported' unsupported or incomplete features (default) `all' all the warnings `no-CATEGORY' turn off warnings in CATEGORY `none' turn off all the warnings `error' treat warnings as errors The environment variable `WARNINGS' is honored. Some subtools might support other warning types, using `all' is encouraged. Library directories: -B, --prepend-include=DIR prepend directory DIR to search path -I, --include=DIR append directory DIR to search path The environment variables AUTOM4TE, AUTOCONF, AUTOHEADER, AUTOMAKE, ACLOCAL, AUTOPOINT, LIBTOOLIZE, M4, and MAKE are honored. Report bugs to <[email protected]>. GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>. General help using GNU software: <http://www.gnu.org/gethelp/>. CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05 $
即:
- f:force,强制,认为之前都是旧的,所以即强制更新
- i:install,拷贝缺少的辅助文件
- v:verbose,打印详细信息
【总结】
此处,cygwin下编译buildroot在编译mpc时出现:
libtool: Version mismatch error |
的错误的原因是:
libtool的当前版本是2.4的,但是buildroot中编译的是2.2.10的
导致冲突。
解决办法是:
去出错的mpc的路径下:
/home/CLi/develop/buildroot/buildroot-2013.05/output/build/host-mpc-1.0.1 |
去用:
autoreconf -fiv
重新生成对应的配置文件即可。
然后继续编译就行了。
转载请注明:在路上 » 【已解决】cygwin下编译buildroot期间编译mpc时出错:libtool: Version mismatch error