ubuntu10.04 交叉编译 aria2 总结
1) google之后,找到 这个 https://github.com/z24/pitv/tree/master/cross 的脚本,
觉得非常好。 于是准备用来进行编译
2) 安装交叉编译器
sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install g++-arm-linux-gnueabihf
特别需要注意的是,g++一定需要安装。 之前由于没安装,出现了各种费解的错误,差点就放弃了
比如说 明明 expat编译的好好的,却在 configure aria2的时候,硬是找不到。
还有,在最后链接阶段, 出现了 undefined reference 错误
3)http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz 因为有墙,自动下载不了,需要另外翻墙下载。
4)最后修正的编译脚本。
#!/bin/sh # This script downloads and builds a static aria2 binary for raspberry pi. # Copyright Youjie Zhou <jmpopush@gmail.com>
# All rights reserved. CWD=$(pwd)
export ARCH=arm
export NJOB=
export CPP="/usr/bin/arm-linux-gnueabihf-cpp"
export CC="/usr/bin/arm-linux-gnueabihf-gcc"
export CXX="/usr/bin/arm-linux-gnueabihf-g++"
export TOOL_CC=${CC}
export LD="/usr/bin/arm-linux-gnueabihf-ld"
export AR="/usr/bin/arm-linux-gnueabihf-ar"
export AS="/usr/bin/arm-linux-gnueabihf-as"
export RANLIB="/usr/bin/arm-linux-gnueabihf-ranlib" # Local folder where we install built binaries and libraries.
LOCAL_DIR=$(readlink -f ./local)
mkdir -p ${LOCAL_DIR} # Cross-compiler tools. Latest version can be downloaded at:
# github.com/raspberrypi/tools
TOOL_DIR=/usr
TOOL_BIN_DIR=${TOOL_DIR}/bin PATH=${TOOL_BIN_DIR}:$PATH # zlib
rm -rf zlib-1.2.
#wget http://zlib.net/zlib-1.2.8.tar.gz ./
tar xzf zlib*.tar.gz
cd zlib*/
prefix=${LOCAL_DIR} CC=${TOOL_CC} CFLAGS="-O4" ./configure --static
make -j${NJOB}
make install cd ${CWD} # expat
rm -rf expat-2.1.
#wget http://downloads.sourceforge.net/expat/2.1.0/expat-2.1.0.tar.gz ./
tar xzf expat*.tar.gz
cd expat*/
./configure \
--host=arm-linux-gnueabihf \
--build=${ARCH}-linux \
--enable-shared=no \
--enable-static=yes \
--prefix=${LOCAL_DIR}
make -j${NJOB}
make install cd ${CWD} # c-ares
rm -rf c-ares-1.10.
#wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz ./
tar xzf c-ares*.tar.gz
cd c-ares*/
./configure \
--host=arm-linux-gnueabihf \
--build=${ARCH}-linux \
--enable-shared=no \
--enable-static=yes \
--prefix=${LOCAL_DIR}
make -j${NJOB}
make install cd ${CWD} # aria2
rm -rf aria2-1.18.
#wget http://downloads.sourceforge.net/aria2/aria2-1.18.10.tar.xz ./
tar xJf aria2*.tar.xz
cd aria2*/
./configure \
--host=arm-linux-gnueabihf \
--build=${ARCH}-linux \
--disable-nls \
--disable-ssl \
--disable-epoll \
--without-gnutls \
--without-openssl \
--without-sqlite3 \
--without-libxml2 \
--with-libz --with-libz-prefix=${LOCAL_DIR} \
--with-libexpat --with-libexpat-prefix=${LOCAL_DIR} \
--with-libcares --with-libcares-prefix=${LOCAL_DIR} \
--prefix=${LOCAL_DIR} \
CXXFLAGS="-Os -g" \
CFLAGS="-Os -g" \
LDFLAGS="-L${LOCAL_DIR}/lib" \
PKG_CONFIG_LIBDIR="${LOCAL_DIR}/lib/pkgconfig" \
ARIA2_STATIC=yes
make -j${NJOB}
make install
ubuntu10.04 交叉编译 aria2 总结的更多相关文章
- ubuntu10.04编译安装LAMP
ubuntu10.04编译安装LAMP以及简单wordpress的使用 : http://linuxme.blog.51cto.com/1850814/971631 一.源码安装LAMP 网上有一堆关 ...
- ubuntu10.04下修改mysql的datadir的问题
ubuntu10.04下修改mysql的datadir的问题 转自:http://blog.sina.com.cn/s/blog_4152a9f50100mq5i.html 昨天由于服务器空间告紧,需 ...
- ubuntu10.04+win7双系统,重装win7后,恢复grub引导菜单以及命令行引导linux
我在我的小Y上安装了ubuntu10.04和win7旗舰版的双系统,采用的是grub引导.今天win7不知道哪儿出了问题,windows update更新一直报错,(当然360也是打不上滴)网上查了很 ...
- ubuntu10.04编译内核不显示grub菜单解决
问题描述: ubuntu10.04 内核版本2.6.32.28编译内核之后版本2.6.37.6,系统在编译完内核之后,不显示grub菜单 参考资料: http:// ...
- ubuntu10.04共享文件夹
ubuntu10.04共享文件夹 参考http://jingyan.baidu.com/album/9989c746084c70f648ecfe99.html,共享了home文件夹,然后把共享文件夹映 ...
- ubuntu10.04版本下android源码的编译
首先是网址:http://software.intel.com/en-us/blogs/2012/03/06/hands-on-notesbuild-android-x86-ics-4-virtual ...
- 【转】Ubuntu10.04上编译Android源码(Build Android source in Ubuntu10.04 Platform)
原文网址:http://blog.csdn.net/chenyafei617/article/details/6570928 一.Introduction 今天我们就来谈谈如何在Ubuntu平台上面编 ...
- Ubuntu server 14.04 交叉编译Unicorn-engine
Ubuntu server 14.04 交叉编译Unicorn-engine 编译的过程基本上按照的是unicorn/COMPILE-WINDOWS.md描述的进行编译的,不过还是改了一些地方.在Ub ...
- u盘安装ubuntu10.04 server.txt
10.04 先将 ubuntu server 的 iso 放到优盘上,然后在提示无法找到光驱时,按 alt+f2 打开一个新的 console 窗口,将 iso mount 上,具体操作如下: ls ...
随机推荐
- 填格子3*N的方框使用2*1的矩形进行填充
考虑每个位置的前一个状态 可以发现有 我们分别给他们编号 假设 现在填充到了i+1行,我们可以发现从i行可以通过填充转到i+1行的状态 第i行第j列表示 可以 从上一个转态 j 可以到达这个状态的j ...
- 打造高可靠与高性能的React同构解决方案
前言 随着React的兴起, 结合Node直出的性能优势和React的组件化,React同构已然成为趋势之一.享受技术福利的同时,直面技术挑战,在复杂场景下,挑战10倍以上极致的性能优化. 什么是同构 ...
- Linux基础命令---zip
zip zip是一种最通用的文件压缩方式,使用于unix.msdos.windows.OS等系统.如果在编译zip时包含bzip 2库,zip现在也支持bzip 2压缩.当将大于4GB的文件添加到存档 ...
- 含有虚函数的类sizeof大小
#include <iostream> using namespace std; class Base1{ virtual void fun1(){} virtual void fun11 ...
- SACD ISO镜像中提取DSDIFF(DFF)、DSF文件
听语音 | 浏览:5620 | 更新:2015-08-25 11:46 | 标签:硬件 1 2 3 4 5 分步阅读 现在有一种比较流行的无损音乐传输介质是SACD ...
- 关于linux中的上下文切换
对于linux中的上下文一直以来没有特别的关注其合理范围应该是多少(关于上下文切换的概念,网上已经有很多解释了,再次不再重复),白天偶尔注意到了一下,晚上特地看了下白天负载和和收盘后的负载如下(服务器 ...
- 20145127《java程序设计》第五周学习总结
教材学习内容总结 第八章 异常处理 1.try catch java中所有错误会被打包成对象,可以进行尝试捕捉代表错误的对象进行处理. Import java.until.Scanner; Publi ...
- uboot 网络驱动模型
原文:https://blog.csdn.net/zhouxinlin2009/article/details/45390065 UBOOT的PHYCHIP配置 PHYCHIP的配置位于 includ ...
- python字符串格式化之format
用法: 它通过{}和:来代替传统%方式 1.使用位置参数 要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表 ...
- Linux必备知识
一.Linux命令行常用快捷键 在企业工作中,管理Linux时—般不会直接采用键盘.显示器登录系统,而是会通过网络在远程进行管理,因此,需要通过远程连接具连接到Linux系统中.目前最常用的Linux ...