现象
系统本来可以正常编译linux系统kernel,但在安装svn后,kernel编译出错。
CHKinclude/linux/version.h CHKinclude/generated/utsrelease.hmake[1]: `include/generated/mach-types.h' is up to date. CALLscripts/checksyscalls.sh CHKinclude/generated/compile.hgcc: directory: No such file or directorygcc: directory": No such file or directory:0: warning: missing terminating " charactergcc: directory: No such file or directorygcc: directory": No such file or directory :0: warning: missing terminating " charactergcc: directory: No such file or directorygcc: directory": No such file or directory :0: warning: missing terminating " character CCdrivers/gpu/mali/mali/common/mali_kernel_core.oarm-eabi-gcc: error: ": No such file or directorymake[4]: *** [drivers/gpu/mali/mali/common/mali_kernel_core.o] 错误 1make[3]: *** [drivers/gpu/mali/mali] 错误 2make[2]: *** [drivers/gpu/mali] 错误 2make[1]: *** [drivers/gpu] 错误 2make: *** [drivers] 错误 2make: *** 正在等待未完成的任务....
原因分析
定位到drivers/gpu/mali/ump/Makefile.common 和drivers/gpu/mali/mali/Makefile 两个文件中都有关于SVN_REV:=xxxx 的语句,正常情况下SVN_REV:= 为空,当检查到svn版本后,SVN_REV:= 有了值,导致脚本中判断走入错误分支。
解决方法
将两个文件中的SVN_REV 值都赋值为空“” 即可。
drivers/gpu/mali/ump/Makefile.common:
16 # Get subversion revision number, fall back to 0000 if no svn info is available 17 #SVN_REV:=$(shell ((svnversion | grep -qv exported && echo -n 'Revision: ' && svnversion) || git svn info | sed -e 's/$$$$/M/' | grep'^Revision: ' || echo ${MALI_RELEASE_NAME}) 2>/dev/null | sed -e 's/^Revision: //') 19 SVN_REV:=""
drivers/gpu/mali/mali/Makefile:
117 #SVN_REV := $(shell (cd $(DRIVER_DIR); (svnversion | grep -qv exported && svnversion) || git svn info | grep '^Revision: '| sed -e 's/^Revision: //' ) 2>/dev/null )119 SVN_REV := ""
总结
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
linux svn命令
svn命令是linux下的一个命令,它主要有一个功能,具体介绍如下:svn命令是subversion命令行的客户端程序,大多数的子命令都可以接受文件或者目录参数,以便于对目录进行递归处理。 说明:如果指定了参数的话,就会默认对当前目录进行递归处理。 svn命令的具体命令的语法格式为svn[参数]。 参数:add 把文件和目录纳入版本控制中,通过调度添加到版本库内copy在工作副本或者版本中复制数据,保留历史checkout 从版本库中签出工作副本此外,svn常用的子命令有:checkout:从源码库迁出一个指定版本的项目副本到客户端中。 update:从服务器上同步项目到本地,在使用中checkout可用于第一次迁出,之后都是通过使用up来同步delete:删除本地或svn服务器上的文件import:将本地文件导入到源码库中,一般是用于第一次上传让服务器生成代码项目,之后若还需要上传则是commitadd:在commit之前需要先将文件add到SVN中,之后再commit才可以正式上传commit:提交已经修改过的本地文件到服务器info:查看某文件的信息status:查看svn工作目录的当前状态copy:复制一份项目副本参考范例:从版本库签出工作副本,具体命令是:[root@linuxcool ~]# svn checkout svn://192.168.0.2 /root/subversion
Linux中编译安装Subversion(SVN)客户端的教程
Subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人。 目前,绝大多数开源软件都使用svn作为代码版本管理软件。 Subversion是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。 互联网上免费的版本控制服务多基于Subversion。 Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。 从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。 因为修改不再是单线进行(单线进行也就是必须一个一个进行),开发进度会进展迅速。 此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量如果出现不正确的更改,只要撤销那一次更改操作即可。 某些版本控制系统本身也是软件配置管理系统(SCM),这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性比如,对编程语言的支持,或者提供程序构建工具。 不过Subversion并不是这样的系统。 它是一个通用系统,可以管理任何类型的文件集。
Subversion 1.8中HTTP客户端基于neon已经被移除,改用self。如果要支持http方式需要在安装svn前安装serf,安装serf推荐用serf-1.2.1,安装是./configure;serf-1.3.0安装是用scons(yum -y install scons)方式,安装serf-1.3.0后安装可能会报误,Google没找到解决方法,如下报错checking for serf-2 library... nochecking for serf-1 library... nochecking was serf enabled... no
An appropriate version of serf could not be found, so libsvn_ra_serfwill not be built. If you want to build libsvn_ra_serf, pleaseinstall serf 1.2.1 or newer.
configure: error: Serf was explicitly enabled but an appropriate version was not found.
安装步骤:(本文只基于LAMP一键安装包环境部署好之后进行)1. 安装apr、apr-unit 复制代码
代码如下:
cd /root/lamp/source#wget#LAMP中已经下载#wgetxzf apr-1.4.8./configure --prefix=/usr/local/apachemakemake installcd ../tar xzf apr-util-1.5.2./configure --prefix=/usr/local/apachemakemake installcd ../2. 安装serf-1.2.1 复制代码
代码如下:
yum -y install expat-develwget#是win版有问题tar xjf 2cd serf-1.2.1./configure --prefix=/usr/local/serf --with-apr=/usr/local/apache --with-apr-util=/usr/local/apachemakemake installcd ..3. 安装svn 复制代码
代码如下:
tar xzf subversion-1.8.1././configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs \--with-apr=/usr/local/apache --with-apr-util=/usr/local/apache --with-zlib \--with-openssl --enable-maintainer-mode --with-serf=/usr/local/serf --enable-mod-activationmakemake installcd ..4. 检查是否安装成功安装成功会在/usr/local/apache/conf/自己加入下面2行 复制代码
代码如下:
LoadModule dav_svn_module /usr/local/subversion/libexec/mod_dav_ authz_svn_module /usr/local/subversion/libexec/mod_authz_
检查svn是否支持http方式: 复制代码
代码如下:
# svn --versionsvn, version 1.8.1 (r) compiled Aug 2 2013, 11:36:48 on x86_64-unknown-linux-gnu
Copyright (C) 2013 The Apache Software software consists of contributions made by many people;see the NOTICE file for more is open source software, seefollowing repository access (RA) Modules are available:
* ra_svn : Module for accessing a repository using the svn Network protocol. - with Cyrus SASL authentication - handles svn scheme* ra_local : Module for accessing a repository on local disk. - handles file scheme* ra_serf : Module for accessing a repository via WebDAV protocol using serf. - handles http scheme - handles https scheme
Linux svn自动更新时报错post-commit hook failed怎么办
解决方法: post-commit hook failed (exit code 255) with no /unix下要实现svn提交后自动更新到测试服务器,添加hook即可/usr/svn/mulu/hooks/post-commit 不带后缀 设置权限为可执行 chmod 777 /usr/svn/baoming/hooks/post-commit代码如下 #!/bin/shWEB=”/usr/home/mulu”SVN=”/usr/local/bin/svn”$SVN update $WEB –username –password || exit 1exit 0其中的exit不可缺失,否则会报错 上面就是Linux系统svn自动更新出错的解决方法了,当你遇到这个问题的时候可添加hook解决难题。
发表评论