制作交叉工具链(龙芯)
2013-11-22 15:34
246 查看
系统环境:ubuntu10.04 + gcc-4.3.3
所需软件:
Binutils 2.20: http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.bz2
GCC Core 4.4.2: http://ftp.gnu.org/gnu/gcc/gcc-4.4.2/gcc-core-4.4.2.tar.bz2
Binutils 2.20 Loongson2f 补丁:
![](http://blog.chinaunix.net/blog/image/attachicons/zip.gif)
binutils-2.20-loongson2f.zip
设置环境变量和新建目录
$ mkdir -p /opt/loongson-cross-tools/usr/{bin, lib, share}
$ echo "PATH=$PATH:/opt/loongson-cross-tools/usr/bin" >> ~/.bashrc
编译 Binutils:
$ tar xjf binutils-2.20.tar.bz2
$ cd binutils-2.20
$ patch -Np1 -i ../binutils-2.20-loongson2f.patch //这步没做,没有找到patch
$ cd .. && mkdir binutils-build && cd binutils-build
$ ../binutils-2.20/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --enable-64-bit-bfd --disable-nls --enable-shared
$ make configure-host
$ make
$ make install
出错信息:
rm -rf $backupdir; exit $rc
WARNING: `makeinfo' is missing on your system. You should only need it if
you modified a `.texi' or `.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy `make' (AIX,
DU, IRIX). You might want to install the `Texinfo' package or
the `GNU make' package. Grab either from any GNU archive site.
make[4]: *** [as.info] Error 1
make[4]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas/doc'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas/doc'
Making install in po
make[3]: Entering directory `/home/loongson/loongson-cross-tool/binutils-build/gas/po'
make[3]: Nothing to be done for `install'.
make[3]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas/po'
make[3]: Entering directory `/home/loongson/loongson-cross-tool/binutils-build/gas'
make[4]: Entering directory `/home/loongson/loongson-cross-tool/binutils-build/gas'
/bin/bash ../../binutils-2.20/gas/../mkinstalldirs /opt/loongson-cross-tools/usr/bin
/bin/bash ./libtool --mode=install /usr/bin/install -c as-new /opt/loongson-cross-tools/usr/bin/mipsel-pc-linux-gnu-as
libtool: install: /usr/bin/install -c .libs/as-new /opt/loongson-cross-tools/usr/bin/mipsel-pc-linux-gnu-as
/bin/bash ../../binutils-2.20/gas/../mkinstalldirs /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin
n=`echo as | sed 's&^&mipsel-pc-linux-gnu-&'`; \
if [ "/opt/loongson-cross-tools/usr/bin/$n" != "/opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as" ]; then \
rm -f /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as; \
ln /opt/loongson-cross-tools/usr/bin/$n /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as >/dev/null 2>/dev/null \
|| /bin/bash ./libtool --mode=install /usr/bin/install -c as-new /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as; \
else \
true ; \
fi
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas'
make[3]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas'
make[1]: *** [install-gas] Error 2
make[1]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build'
make: *** [install] Error 2
参考解决办法:
原因是本机没有安装texinfo,安装之后版本也不够高,顾修改configure文件
$ sudo apt-get install texinfo
$ makeinfo --version
makeinfo (GNU texinfo) 4.13
$ vim ../binuitl-2.20/configure
将
![](file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-31797.png)
改成:
![](file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-17270.png)
$ make install
编译 GCC:
$ tar xjf gcc-core-4.4.2.tar.bz2
$ mkdir gcc-build && cd gcc-build
$ ../gcc-4.4.2/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --disable-multilib --with-newlib --disable-nls --disable-shared --disable-threads --enable-languages=c --with-abi=64
出错信息:
configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.2+.
Try the --with-gmp and/or --with-mpfr options to specify their locations.
Copies of these libraries' source code can be found at their respective
hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also http://gcc.gnu.org/install/prerequisites.html for additional info.
If you obtained GMP and/or MPFR from a vendor distribution package, make
sure that you have installed both the libraries and the header files.
They may be located in separate packages.
参考解决办法: http://ftp.gnu.org/gnu/gmp/ #gmp下载 http://ftp.gnu.org/gnu/mpfr/ #mpfr下载
$ tar xf tar xf gmp-5.0.1.tar.bz2
$ tar xf mpfr-3.0.0.tar.bz2
$ mv gmp-5.0.1/ gmp
$ mv mpfr-3.0.0/ mpfr
$ mv gmp/ mpfr/ gcc-4.4.2/
$ cd gcc-build
$ ../gcc-4.4.2/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --disable-multilib --with-newlib --disable-nls --disable-shared --disable-threads --enable-languages=c --with-abi=64
$ make all-gcc
出错信息:
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking whether gcc __attribute__ ((mode (XX))) works... yes
checking for recent GMP... yes
checking for gmp internal files... configure: error: header files gmp-impl.h and longlong.h not found
make: *** [configure-mpfr] Error 1
参考解决办法:
换mpfr3.0为mpfr2.4.2
因为mpfr3.0改了默认路径(网上如此说)
$ tar xf mpfr-2.4.2.tar.bz2
$ mv mpfr-2.4.2/ mpfr
$ rm gcc-4.4.2/mpfr
$ mv mpfr gcc-4.4.2
$ make all-gcc
$ make all-target-libgcc
$ make install-gcc
$ make install-target-libgcc
参考资料:
https://heiher.info/916.html
http://www.linuxsir.org/bbs/showthread.php?t=338748
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455
http://blog.sina.com.cn/s/blog_4e9da0010100dhvk.html
阅读(356) | 评论(0) | 转发(0) |
0
上一篇:RGB24和YUV420旋转90度的源代码
下一篇:VC调试心得
相关热门文章
SecureCRT破解注意
PHP Extension开发基础
安全全面可靠
研究推进政府向社会力量购...
【读者报料】
承接自动化测试培训、外包、实...
Solaris PowerTOP 1.0 发布
For STKMonitor
busybox的httpd使用CGI脚本(Bu...
项目小体会
修改默认端口为222,centos自...
用PHP做一个ftp登录页面...
Toad for Oracle工具,为什么在...
本地win7安装vmw9系统winserv...
powermt config是所什么用的...
给主人留下些什么吧!~~
评论热议
所需软件:
Binutils 2.20: http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.bz2
GCC Core 4.4.2: http://ftp.gnu.org/gnu/gcc/gcc-4.4.2/gcc-core-4.4.2.tar.bz2
Binutils 2.20 Loongson2f 补丁:
![](http://blog.chinaunix.net/blog/image/attachicons/zip.gif)
binutils-2.20-loongson2f.zip
设置环境变量和新建目录
$ mkdir -p /opt/loongson-cross-tools/usr/{bin, lib, share}
$ echo "PATH=$PATH:/opt/loongson-cross-tools/usr/bin" >> ~/.bashrc
编译 Binutils:
$ tar xjf binutils-2.20.tar.bz2
$ cd binutils-2.20
$ patch -Np1 -i ../binutils-2.20-loongson2f.patch //这步没做,没有找到patch
$ cd .. && mkdir binutils-build && cd binutils-build
$ ../binutils-2.20/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --enable-64-bit-bfd --disable-nls --enable-shared
$ make configure-host
$ make
$ make install
出错信息:
rm -rf $backupdir; exit $rc
WARNING: `makeinfo' is missing on your system. You should only need it if
you modified a `.texi' or `.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy `make' (AIX,
DU, IRIX). You might want to install the `Texinfo' package or
the `GNU make' package. Grab either from any GNU archive site.
make[4]: *** [as.info] Error 1
make[4]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas/doc'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas/doc'
Making install in po
make[3]: Entering directory `/home/loongson/loongson-cross-tool/binutils-build/gas/po'
make[3]: Nothing to be done for `install'.
make[3]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas/po'
make[3]: Entering directory `/home/loongson/loongson-cross-tool/binutils-build/gas'
make[4]: Entering directory `/home/loongson/loongson-cross-tool/binutils-build/gas'
/bin/bash ../../binutils-2.20/gas/../mkinstalldirs /opt/loongson-cross-tools/usr/bin
/bin/bash ./libtool --mode=install /usr/bin/install -c as-new /opt/loongson-cross-tools/usr/bin/mipsel-pc-linux-gnu-as
libtool: install: /usr/bin/install -c .libs/as-new /opt/loongson-cross-tools/usr/bin/mipsel-pc-linux-gnu-as
/bin/bash ../../binutils-2.20/gas/../mkinstalldirs /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin
n=`echo as | sed 's&^&mipsel-pc-linux-gnu-&'`; \
if [ "/opt/loongson-cross-tools/usr/bin/$n" != "/opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as" ]; then \
rm -f /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as; \
ln /opt/loongson-cross-tools/usr/bin/$n /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as >/dev/null 2>/dev/null \
|| /bin/bash ./libtool --mode=install /usr/bin/install -c as-new /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as; \
else \
true ; \
fi
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas'
make[3]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas'
make[1]: *** [install-gas] Error 2
make[1]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build'
make: *** [install] Error 2
参考解决办法:
原因是本机没有安装texinfo,安装之后版本也不够高,顾修改configure文件
$ sudo apt-get install texinfo
$ makeinfo --version
makeinfo (GNU texinfo) 4.13
$ vim ../binuitl-2.20/configure
将
![](file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-31797.png)
改成:
![](file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-17270.png)
$ make install
编译 GCC:
$ tar xjf gcc-core-4.4.2.tar.bz2
$ mkdir gcc-build && cd gcc-build
$ ../gcc-4.4.2/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --disable-multilib --with-newlib --disable-nls --disable-shared --disable-threads --enable-languages=c --with-abi=64
出错信息:
configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.2+.
Try the --with-gmp and/or --with-mpfr options to specify their locations.
Copies of these libraries' source code can be found at their respective
hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also http://gcc.gnu.org/install/prerequisites.html for additional info.
If you obtained GMP and/or MPFR from a vendor distribution package, make
sure that you have installed both the libraries and the header files.
They may be located in separate packages.
参考解决办法: http://ftp.gnu.org/gnu/gmp/ #gmp下载 http://ftp.gnu.org/gnu/mpfr/ #mpfr下载
$ tar xf tar xf gmp-5.0.1.tar.bz2
$ tar xf mpfr-3.0.0.tar.bz2
$ mv gmp-5.0.1/ gmp
$ mv mpfr-3.0.0/ mpfr
$ mv gmp/ mpfr/ gcc-4.4.2/
$ cd gcc-build
$ ../gcc-4.4.2/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --disable-multilib --with-newlib --disable-nls --disable-shared --disable-threads --enable-languages=c --with-abi=64
$ make all-gcc
出错信息:
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking whether gcc __attribute__ ((mode (XX))) works... yes
checking for recent GMP... yes
checking for gmp internal files... configure: error: header files gmp-impl.h and longlong.h not found
make: *** [configure-mpfr] Error 1
参考解决办法:
换mpfr3.0为mpfr2.4.2
因为mpfr3.0改了默认路径(网上如此说)
$ tar xf mpfr-2.4.2.tar.bz2
$ mv mpfr-2.4.2/ mpfr
$ rm gcc-4.4.2/mpfr
$ mv mpfr gcc-4.4.2
$ make all-gcc
$ make all-target-libgcc
$ make install-gcc
$ make install-target-libgcc
参考资料:
https://heiher.info/916.html
http://www.linuxsir.org/bbs/showthread.php?t=338748
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455
http://blog.sina.com.cn/s/blog_4e9da0010100dhvk.html
阅读(356) | 评论(0) | 转发(0) |
0
上一篇:RGB24和YUV420旋转90度的源代码
下一篇:VC调试心得
相关热门文章
SecureCRT破解注意
PHP Extension开发基础
安全全面可靠
研究推进政府向社会力量购...
【读者报料】
承接自动化测试培训、外包、实...
Solaris PowerTOP 1.0 发布
For STKMonitor
busybox的httpd使用CGI脚本(Bu...
项目小体会
修改默认端口为222,centos自...
用PHP做一个ftp登录页面...
Toad for Oracle工具,为什么在...
本地win7安装vmw9系统winserv...
powermt config是所什么用的...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- crosstool-ng 制作arm交叉工具链心得
- 用bulidroot制作交叉工具链
- X86上搭建交叉工具链,来给龙芯笔记本编译本地工具链(未完待续)
- 玩转S3C6410之一 交叉工具链制作(gcc4.5.1-armv6-vfp)
- [转]玩转S3C6410之一 交叉工具链制作(gcc4.5.1-armv6-vfp)
- [转]把手教你源代码制作龙芯64位系…
- 制作mipsel 交叉工具链
- 把手教你源代码制作龙芯64位系统 (交叉编译版本)2.0 正式版
- 龙芯系统docker基本镜像制作命令
- [转]把手教你源代码制作龙芯64位系…
- 交叉工具链制作至尊宝典(二)
- arm-linux 交叉工具链制作
- 制作mipsel 交叉工具链 (更新版)
- 交叉工具链制作至尊宝典
- 制作交叉工具链时对文件etc_profile的更改
- 制作mipsel 交叉工具链
- 制作交叉工具链
- 龙芯上用busybox制作ram filesystem的过程。
- 使用OE制作arm-linux交叉工具链
- ARM-Linux交叉工具链制作