精华内容
下载资源
问答
  • 利用cross tool制作交叉编译工具链,编译binutils error g++: internal compiler error: Killed (program cc1plus) [ERROR] make[5]: *** [powerpc.o] Error 4 [ERROR] make[4]: *** [all-recursive] Error 1 ...

    利用cross tool制作交叉编译工具链,编译binutils error

    g++: internal compiler error: Killed (program  
     cc1plus)
    [ERROR]    make[5]: *** [powerpc.o] Error 4
    [ERROR]    make[4]: *** [all-recursive] Error 1
    [ERROR]    make[3]: *** [all] Error 2
    [ERROR]    make[2]: *** [all-gold] Error 2
    [ERROR]    make[1]: *** [all] Error 2
    

    在网上找到一些相关的帖子,原因可能是内存溢出导致,可以参考这个链接.

    按照帖子的说法,要增加SWAP虚拟内存的大小, 于是乎我又在ubuntu 下ct-ng 编译了一把,在编译到binutils的时候查看内存的使用情况
    ubuntu
    SWAP用完了。。

    OK,那就给swap多来1G

    sudo mkdir /swap
    cd /swap
    sudo dd if=/dev/zero of=swapfile bs=1024 count=2000000
    sudo mkswap -f swapfile
    sudo swapon /swap/swapfile
    
    这里面可能会遇到permission的问题,swapon: /swap: insecure permissions 0755, 0600 suggested.用chmod 600 /swap改下就好了
    

    这个时候再用free查看下
    这里写图片描述

    再继续编译,经过漫长的等待,全部编译通过。。。。。
    同时自己定制的交叉编译工具链也是可以使用啦。

    如需转载,请注明出处哦

    展开全文
  • 早期Unix/Linux的软件开发并没有一套统一的预编译标准,从原始代码到目标程序完全是开发人员一行一行敲键盘出来的,这个过程中的产生的代码bug及人工debug,非常耗时,效率极低。后来,Unix社区的广大程序员群体开发...

    Linux软件移植configure配置、实战

    早期Unix/Linux的软件开发并没有一套统一的预编译标准,从原始代码到目标程序完全是开发人员一行一行敲键盘出来的,这个过程中的产生的代码bug及人工debug,非常耗时,效率极低。后来,Unix社区的广大程序员群体开发出autoconf、automake、libtool等工具,约定了一套configure规则,方便Unix/Linux软件的传播。GNU组织逐渐将其形成了GNU软件发布通用配置,现今绝大多数遵循该规则的开源软件源码包内都含有configure、INSTALL、install-sh、Makefile这几个脚本文件,少数只含有configure.ac、Makefile.am、Makefile.in的源码包,需要运行autoconf等工具生成configure、Makefile等脚本后,才可进行configure预编译配置。

    configure的目的,是让使用人员根据需求来定制目标软件,Unix/Linux软件的灵活性就充分体现出来了。软件的功能特性(Optional features)、子项目组件(Optional packages),在预编译阶段指定enable/disable-FEATURE(使能、禁用)、with/without-PACKAGE(包含、不包含)等参数,通过configure脚本生成Makefile,最后进入make正式编译阶段。

    下面通过实战项目来体会Unix/Linux开源软件的定制、编译。开始前,我们先来搭建好编译环境:

    编译环境:

            宿主机系统:Windows 7 x64 + VM VirtualBOX-6.0.18 + Ubuntu 16.04 LTS x32

            编译器GCC:gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609  (native-compile)

                                  mips-unknown-linux-uclibc-gcc (Buildroot 2011.11) 4.6.2 (cross-compile)

            更改系统shell:dash 更改为 bash

    sudo dpkg-reconfigure dash

    实战项目:binutils源码编译

          一、同构编译native-compile

           1、下载源码并解压:http://mirrors.ustc.edu.cn/gnu/binutils/binutils-2.21.1.tar.bz2 (中国科技大学开源镜像站)             

    cd ~
    mkdir -p src/build && cd src
    wget http://mirrors.ustc.edu.cn/gnu/binutils/binutils-2.21.1.tar.bz2
    tar -xf binutils-2.21.1.tar.bz2
    cd build/

           2、安装依赖库

    sudo apt-get install build-essential bison flex m4 texinfo libgmp-dev libmpc-dev libmpfr-dev ppl-dev libppl-dev cloog-ppl libcloog-ppl-dev

           3、configure配置

    # 链接库方式:dynamically linked
    ../binutils-2.21.1/configure --disable-werror --prefix=/usr LDFLAGS="-s"
    # 链接库方式:statically linked
    ../binutils-2.21.1/configure --disable-werror --prefix=/usr LDFLAGS="--static -s"

           说明:小型GNU开源软件可以在源码目录内直接配置、编译,中、大型GNU开源软件不要在源码目录内配置、编译,尤其是GCC工具链编译,这个Note在GCC构建说明文档中特别提及。
           4、编译、安装

    make && make install DESTDIR=`pwd`/123-i386

           说明:编译完成生成的目标程序,默认工作目录就是“--prefix=/usr”指定的/usr,本实例中指定安装到DESTDIR=`pwd`/123-i386,方便进行二进制binary程序打包。

          二、交叉编译cross-compile

          1、清理目录(如果直接cross-compile,可略过此步)

    make distclean

          说明:如果直接cross-compile,务必安装必要的依赖库。

          2、设置交叉编译环境变量

    export PATH=/opt/toolchains/crosstools-mips-gcc-4.6-linux-3.4-uclibc-0.9.32-binutils-2.21/usr/bin:$PATH

          说明:这里的PATH指定了你的cross-gcc工具链路径,优先于系统原PATH

          3、configure配置

    # 链接库方式:dynamically linked
    ../binutils-2.21.1/configure --host=mips-unknown-linux-uclibc --disable-werror --prefix=/usr LDFLAGS="-s"
    # 链接库方式:statically linked
    ../binutils-2.21.1/configure --host=mips-unknown-linux-uclibc --disable-werror --prefix=/usr LDFLAGS="--static -s"

          说明:参数--host=mips-unknown-linux-uclibc让配置configure识别cross-gcc,实现交叉编译。

          4、编译、安装

    make && make install DESTDIR=`pwd`/123-mips

    后记:交叉编译有时候要引用额外的库,此时您需要指定库的路径(-Ipath、-Lpath,独立引用,不会污染cross-gcc工具链),本文暂不讨论。

     

    展开全文
  • 今天自己编译则个binutils, 错误提示ld cannot find crti.o 因为之前在32

    今天自己编译则个binutils, 错误提示ld cannot find crti.o

    因为之前在32位debian上编译没问题的,今天在64位debian上编译出问题了,还以为是操作系统不稳定所致,

    故在网上查了好多,都不是类似的问题,最后发现是自己的问题,因为懒是用的图形工具安装的库,只装了libc, 没有装libcdev, 实在是该打

    展开全文
  • 如题,麻烦大家帮个忙说说原因, 顺便问下制作用于 交叉编译 的gcc 时,即arm-linux-gcc时怎么将制作好的binutils工具绑到gcc上呢? 比较拗口,麻烦大家了 ^。^
  • 在ubuntu下编译binutils-2.20.1,出现下面错误: ../../binutils-2.20.1/bfd/compress.c: 在函数‘bfd_uncompress_section_contents’中: ../../binutils-2.20.1/bfd/compress.c:54:45: 错误: 形参‘buffer’被...
  • binutils-2.22编译心得

    2012-07-14 18:18:00
    最近想自己编译出arm的gcc,其中必须的一步是必须编译binutils,所以尝试了一下,步骤如下: 1、安装cygwin,选择gcc及libiconv库,安装,不要用mingw的编译器编译,我查了下,好象mingw里是没有fcntl.h的,所以编...

    最近想自己编译出arm的gcc,其中必须的一步是必须编译binutils,所以尝试了一下,步骤如下:

    1、安装cygwin,选择gcc及libiconv库,安装,不要用mingw的编译器编译,我查了下,好象mingw里是没有fcntl.h的,所以编时会报错的,可以用gcc -v查看编译器的信息

    2、解压binutils-2.22

    3、mkdir binutils-2.22-arm-unknown-eabi-out

    cd  binutils-2.22-arm-unknown-eabi-out

    ../binutils-2.22/configure --prefix=/home/musictom/binutils-2.22-arm-unknown-eabi-install --target=arm-eabi
    make
    make install

    我看了下,最后得出来的target是arm-unknown-eabi

     

    如果不编译arm的,可以直接configure

    ../binutils-2.22/configure --prefix=/home/musictom/binutils-2.22-i386-pc-cygwin-install 就可以然后make

    转载于:https://www.cnblogs.com/yuanxiaoping_21cn_com/archive/2012/07/14/2591684.html

    展开全文
  • 为了实现 gdb 或 binutils 的独立编译,需要指定编译的工具。 编译 GDB 编译 GDB 的参数如下: ../binutils-gdb/configure --disable-binutils --disable-ld \ --disable-gold --disable-gas --disable-sim
  • 在手工制作arm-linux-gcc交叉编译工具链过程中,编译Binutils时可能会出现makeinfo的错误。本人使用的是Fedora-2,在makeconfigure-host过程没有错误,但在make时编译出错,错误信息如下: WARNING: `makeinfo' is ...
  • 如果在编译binutils源码过程中出现类似以下报错可以先尝试在configure的时候加上--disable-werror,如果没有加上这个那么在makefile文件中会出现-Werror=unused-but-set-parameter,这是一种比较严格的语法检查,将...
  • binutils

    2012-11-26 20:27:13
    { ./configure ... && make && make install;...现在为编译 Binutils 作准备: ../binutils-2.20/configure \ --target=$LFS_TGT --prefix=/tools \ --disable-nls --disable-werror 配置选项的
  • 编译交叉工具链 - Binutils-2.37
  • 交叉编译临时工具 - Binutils-2.37 - 第二遍
  • 第一次编译,产生的binutils和gcc用的是宿主系统的binutils和gcc,动态连接库连的是宿主系的库,也就是说,第一次编译产生的binutils和gcc是离不开宿主系统独立运行的,第二次编译后,编译第二次binutils和gcc用的...
  • 2. 编译binutils: lyfan@LAPTOP-2TDO37E5:~/share$ tar Jxf binutils-2.32.tar.xz && cd binutils-2.32 && mkdir build && cd build lyfan@LAPTOP-2TDO37E5:~/share$ ../configure --...
  • cpython编译

    千次阅读 2017-07-23 15:40:51
    https://github.com/python/cpython中间需要编译binutils-2.28 /configure –prefix=/opt/binutils –host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc Make -j4 Makecpython ./configure –prefix=/opt/...
  • 跨平台编译gcc4.2.3, binutils 2.18

    千次阅读 2008-02-10 20:43:00
    binutils 2.18 必须首先安装了makeinfo程序 ./configure --target=x86_64-pc-linux --prefix=$HOME --enable-64-bit-bfd  make all install 插段广告 Linux文化T恤,淘宝销售,有兴趣的可以购买。 ...
  • 转自:黑孩儿设置环境变量和新建目录$ mkdir -p /opt/loongson-cross-tools/usr/{bin, lib, share}$ echo "PATH=$PATH:/opt/loongson-cross-... ~/.bashrc编译 Binutils:$ tar xjf binutils-2.20.tar.bz2$ cd binut...
  • GNU Binutils

    2020-01-19 12:18:34
    GNU Binutils http://www.gnu.org/software/binutils/ The GNU Binutils are a collection of binary tools. The main ones are: ld - the GNU linker. (链接器) as - the GNU assembler. (汇编器) demangle:网络...
  • binutils工具文档

    2014-12-14 18:42:07
    我的博客——千里之行始于足下——编译器助手(binutils与elf文件)的附件。由binutils源码中编译出来的html文件,详细的描述了binutils的各种用法,很值得相关技术人员参考。
  • 工作调整,需要使用到RTEMS这个实时操作系统    步骤在http://download.csdn.net/source/2584092  这个文档里...编译binutils时遇到的问题及解决方法    (1)出错 /usr/rtems/binutils
  • ubuntu安装binutils

    千次阅读 2020-11-11 09:51:07
    下载安装包 点击该网页http://ftp.gnu.org/gnu/binutils/ , 选择一个相应的版本xxx wget http://ftp.gnu.org/gnu/binutils/binutils-2.35.tar.gz ...编译安装 make && make install ...
  • 前后摸索了将近2个星期,很多网上的教程都是错的,或者是因为版本不一样,所以导致编译失败。 先贴几张截图,下次写下完整的编译过程。 gcc编译第一阶段:   glibc编译:   gcc完整编译:   ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,211
精华内容 5,684
关键字:

编译binutils