arm-linux平台的挖矿工具cgminer移植

下载安装包

  1. curl-7.64.1.tar.gz
  2. cgminer-2.4.1.tar.gz
  3. 在ubuntu中apt-get install autoconf(编译cgminer会用到)

编译curl

  1. 配置configure,./configure --prefix=/usr/local/libcurl --host=arm-linux CC=arm-none-linux-gnueabi-gcc (–prefix和CC参数根据自己的实际情况)
  2. 编译make,安装make install
  3. 如果在/usr/local/libcurl生成相应文件即完成

编译cgminer

  1. 输入 ./autogen.sh,可自动生成configure文件
  2. 配置configure,./configure --host=arm-linux --prefix=/usr/local/cgminer --enable-cpumining --disable-opencl CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBCURL_CFLAGS=-I/usr/local/libcurl/include LIBCURL_LIBS="-L/usr/local/libcurl/lib -lcurl" LIBS=-lz CC=arm-none-linux-gnueabi-gcc,其中CPPFLAGS,LDFLAGS和LIBS为包含zlib库和zlib路径,根据各自的zlib库安装路径填写,在我的qrencode移植教程中有zlib编译介绍,同时把上一步编译好的curl库也包含进去
    configure的具体参数可以通过 ./configure -h查看
  3. 编译make,安装make install,成功后即可在当前目录或安装目录生成cgminer可执行文件,file cgminer查看,为32bit ARM架构。

移植cgminer

  1. 移植/usr/local/cgminer/bin/cgminer到开发板的/usr/bin或/bin下
  2. 移植/usr/local/libcurl/lib/libcurl.so.4.5.0到开发板的/usr/lib或/lib下,并且创建软连接ln -s libcurl.so.4.5.0 libcurl.soln -s libcurl.so.4.5.0 libcurl.so.4
  3. 运行命令cgminer -h查看帮助,如果能正常显示则移植成功

遇见的问题

  1. 编译时出现 stddef.h:211: error: duplicate ‘unsigned’stddef.h:211: error: two or more data types in declaration specifiers错误,打开stddef.h:211处语句为 typedef SIZE_TYPE size_t; 是size_t被重复定义的问题
    解决方法:一般为头文件包含路径出错,把错误的头文件包含进来。
  2. ./configure时如果已经安装了相关库还是出现configure: error: Missing required libcurl dev >= 7.18.2
    解决方法:如果是通过apt-get install 安装的库,使用交叉编译链调用其头文件和lib*.so文件时可能出现此错误,因为交叉编译链不是gcc,它不知道库的安装路径。并且交叉编译链是不能正确读取lib*.so文件的,因为这个lib*.so是ubuntu下x86架构的,不是arm架构的。调用头文件CPPFLAGS=-I/usr/local/include不要使用gcc默认的头文件路径,因为交叉编译链可能会误读一些x86架构的文件导致出错。交叉编译链要调用lib*.so,要使用交叉编译链重新编译库源码。
  3. make时报错error: /usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory
    解决办法:头文件包含路径出错,/usr/include为gcc编译器的默认路径,交叉编译链错误地把它包含进去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值