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 因为有墙,自动下载不了,需要另外FQ下载。

4)最后修正的编译脚本。

#!/bin/sh

# This script downloads and builds a static aria2 binary for raspberry pi.

# Copyright 2014 Youjie Zhou <[email protected]>
# All rights reserved.

CWD=$(pwd)
export ARCH=arm
export NJOB=4
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.8
#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.0
#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.0
#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.10
#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
时间: 2024-10-20 20:45:35

ubuntu10.04 交叉编译 aria2 总结的相关文章

ubuntu10.04 bind9 配置主从区域数据传送问题

今天在ubuntu10.04上配置dns主从区域数据传送时 从服务器学习不到主服务器的配置,查看/var/log/messages时显示为 Aug  1 06:42:45 ubuntu kernel: [ 5397.159601] type=1503 audit(1406900565.661:37):  operation="mknod" pid=2351 parent=1 profile="/usr/sbin/named" requested_mask="

ubuntu10.04编译安装LAMP

ubuntu10.04编译安装LAMP以及简单wordpress的使用 : http://linuxme.blog.51cto.com/1850814/971631 一.源码安装LAMP 网上有一堆关于介绍lamp的在这里我就不罗嗦了,直接上配置过程 1.apr包的安装 apr简介: The mission of the Apache Portable Runtime (APR) project is to create and maintain software libraries that

ubuntu 14.04 交叉编译ffmpeg

因为工作的关系和自己的兴趣原因,我尝试了自己从ubuntu 14.04 交叉编译ffmpeg. 我交叉编译ffmpeg的方法,完全是摸索得到的.在这之前,我从来没有试过交叉编译. 在从ubuntu成功交叉编译之前,我多次尝试了在MingW.cygwin编译ffmpeg,无一例外全部失败. 这次的成功完全是巧合,因为换个电脑我不确定我会不会还是成功.虽然如此我依然要把这次经理写下来. 首先,我在https://github.com/rdp/ffmpeg-windows-build-helpers获

在ubuntu10.04 下将360wifi当无线网卡使用

通过百度“360wifi linux“ 已经有很多解决方案.主要过程是从网上下载mt7601驱动包,编译出一个内核模块后,再通过modprobe 添加模块.下面描述的是基于我本机的特点所做的额外工作.我的ubuntu是比较老的10.04,32位,运行vmware虚拟机上, 用 uname -r 得到的结果是 2.6.32-21-generic. 1. make 失败 错误是找不到目录 /lib/modules/2.6.32-21-generic/build. 进入到 /lib/modules/2

Ubuntu10.04中的Leach协议一键安装

1.HashMap的遍历 package com.sheepmu; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; public class KMPText { public static void main(String[] args) { Map<String,String> map=new HashMap<String,Str

ubuntu10.04 32 编译android源码的问题

ubuntu10.04 32 问题 没有jdk1.6 并且使用apt-get 安装jdk相当麻烦,参照:http://blog.csdn.net/godvmxi/article/details/7459764,你会发现最后下载的时候没有速度,咳,没办法,只有离线安装了,可以参照:http://xie2010.blog.163.com/blog/static/2113173652012887952310/的方法进行安装,安装包可以去oracle官网或者csdn都可以. 最后果断下载ubuntu10

Ubuntu10.04中间Leach协议一键安装

半天后,尝试,引用网络上的零散资源,成品博客Leach协议ubuntu10.04在安装(12.04也可以在右侧安装,然而,实施效果的不,求解决~~),并制作了补丁. 一个关键的安装步骤如下面: 1.在用户文件夹创建一个新的文件夹,所谓随机.忠告"Leach". 2.将一键安装包中的文件拷贝到Leach目录中. 3.运行脚本:./leach-install.sh 中间过程可能须要输入管理员权限的password.请依据自己设定输入. 因为无法上传附件,我在此将补丁文件和脚本贴出来,假设有

关于Ubuntu10.04磁盘空间不足的问题

最近由于项目问题,需要自己写驱动,但是驱动知识太少,开始下了个内核自己玩玩,没想到的是内核下好了,Ubuntu待机后却登录不了了,重启了好几次也不行,而且颜色是蓝色,右上角还提示:Install problem,搞的很蒙,心想用了这么久了,安装会有问题,登不进去的话我里面的程序也就没了,情急之下百度了一下,原来是磁盘空间满了.有两种方式特此总结一下. 结合截图,操作如下: (1)登录界面如上: (2)第一步: 关闭Ubuntu打开设置,配置存储里面IDE控制器为选择Ubuntu10.04.4**

ubuntu10.04 默认脚本解析器更改(./sdk.unpack: 2: source: not found)

ubuntu10.04 系统默认的SH(脚本解析器)为dash,可以使用 ls -l /bin/sh 命令查看. dash解析器的解析效率很高,但是功能不如bash那么强大,因此,在解析有些命令时,会出现找不到的错误. 修改默认脚本解析器为bash,方法如下: 1.命令行输入:sudo dpkg-reconfigure dash 2.选择