Android源码编译——Ubuntu 16.04的make3.8以及git第一次提交错误

make源码时错误log:

build/core/main.mk:42: ********************************************************************************
build/core/main.mk:43: *  You are using version 3.82 of make.
build/core/main.mk:44: *  Android can only be built by version 3.81.
build/core/main.mk:45: *  see http://source.android.com/source/download.html
build/core/main.mk:46: ********************************************************************************

build/core/main.mk:47: *** stopping。 停止。


似乎是 make版本必须为3.8.1
http://ftp.gnu.org/gnu/make/

下载3.8.1的make源码编译安装

先移除make:sudo apt-get remove make

安装过程:

1、解压make-3.81.tar.bz2


tar -vxf make-3.81.tar.bz2 

2、进入make-3.81目录并执行./configure


cd ./make-3.81 
./configure 

3、执行玩后make-3.81目录会多出一个build.sh文件,执行build.sh即可得到make文件。


./build.sh 

4、验证编译出来的make是不是我们想要的3.81版本。

make -v 
得到如下信息: 
GNU Make 3.81 
Copyright (C) 2006Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. 
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
PARTICULAR PURPOSE.

5、替换系统原有的make。(记得备份原有文件。)


刚配置好的git仓库服务器,首次提交的时候会报如下错误:
remote: error: refusing to update checked out branch: refs/heads/master  
remote: error: By default, updating the current branch in a non-bare repository remote: error: is denied, because it will make the index and work tree inconsistent remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD. remote: error: 
 remote: error: You can set 'receive.denyCurrentBranch' configuration variable to 
 remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into 
 remote: error: its current branch; however, this is not recommended unless you 
 remote: error: arranged to update its work tree to match what you pushed in some remote: error: other way. 
remote: error: To squelch this message and still keep the default behaviour, set remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'. To ... ! [remote rejected] master -> master (branch is currently checked out) error: failed to push some refs to

解决方案就是,修改服务器端.git/config文件,在后面添加:

[receive]

 denyCurrentBranch = ignore

在客户端再执行git push origin master就可以成功了。

即使是显示上传成功也不能保证确实上传成功了。可以用另外一个客户git clone一下,看内容是否是最新的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值