Chinaunix首页 | 论坛 | 博客
  • 博客访问: 125475
  • 博文数量: 20
  • 博客积分: 551
  • 博客等级: 下士
  • 技术积分: 260
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-28 15:55
文章分类

全部博文(20)

文章存档

2012年(12)

2011年(8)

分类: LINUX

2012-05-24 15:13:41

对于debian中的control文件内容的介绍在都有说明;在这里就直奔主题简单总结一下在build时遇到的control文件中的错误:

点击(此处)折叠或打开

  1. dpkg-deb: building package `libalure-dev:amd64' in `../libalure-dev_1.2-4_amd64.deb'.
  2. > dpkg-deb: error: parsing file 'debian/libalure1/DEBIAN/control' near line 8 package 'libalure1

此错误为常见错误之一;错误原因在做deb打包时control文件中的内容多出了当前文件中打包的规则;一般情况下有dev、dbg、doc
和正式安装用的一个包(包名:servername-version-。。。。),假如直接拿二进制的deb包去修改那么不能形成dev、dbg、doc三个包如果在control中多出了这几个包的文件规则那么就会出现上面所描述的这种错误。解决办法:将control文件中的关于dev、dbg、doc有关的内容删除重新打包就可以。在build过程中出现的build failed问题:现象:

点击(此处)折叠或打开

  1. make[2]: Leaving directory `/home/test/UPSERVER/updateserver'make[1]: Leaving directory `/home/test/UPSERVER/updateserver'dh_testdirdh_testrootdh_install --sourcedir=debian/tmpdh_install: updateserver-doc missing files (share/doc/updateserver-1.0.*/doxygen-doc/*), abortingmake: *** [binary-arch] Error 1dpkg-buildpackage: failure: fakeroot debian/rules binary gave error exit status 2dpkg build failed

问题原因:在build过程中编译Updateserver时在Makefile.am中缺少了对doxygen-doc的操作大致其内容为空而出现的错误;解决办法修改Makefile.am添加如下内容:


  1. @$(INSTALL) -d $(DESTDIR)$(miscdir)/doxygen-doc


  2. @cp -rf doxygen-doc/* $(DESTDIR)$(miscdir)/doxygen-doc


从代码上不难看出我做了什么操作再次也就不再赘述。

 

提示:

出现类似的问题很多其原因,修改时着重注意rules,servername.install,servername.dirs,servername-doc.install ,servername-doc.dirs几个文件(如果在debian目录下没有servername.dirs or servername.install 那么就得注意该目录下的dirs 和install文件的修改;因在build的过程中servername.dirs的优先级高于dirs ,在servername.dirs 和servername-doc.dirs存在的情况下dirs目录是没用的。其他目录也类似);具体的问题当然得具体对待对于出现的如上错误你就没必要抓头挠耳只要静下心检查如上所述的几个文件内容问题很容易找到;这只是个简单的问题定位具体的问题怎么解决就看你的了。

阅读(7438) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~