Qmail的Maildir++补丁的小错误
好久没有用过qmail了,近日安装一台qmail邮件服务器,在一阵Patch,make setup check后出错,编译不通过!提示如下:
overmaildirquota.c:32: warning: data definition has no type or storage class
overmaildirquota.c:33: error: parse error before '}' token
overmaildirquota.c:36: error: redefinition of `ret_value'
overmaildirquota.c:32: error: `ret_value' previously defined here
overmaildirquota.c:36: warning: data definition has no type or storage class
overmaildirquota.c:37: error: parse error before '}' token
make: *** [overmaildirquota.o] Error 1
语法错误,这问题有点奇怪,之前用Redhat9安装,没出现过此类问题.
网上搜了一下,发现原来是某些gcc加强了语法的检测,以前允许定义字符串常量跨行,现在跨行的话,必须使用\,
而在Maildir++的补丁的overmaildirquota.c里面,有这么一行:
static const char rcsid[]="$Id: overquota.c,v 1.0 2002/06/09 16:21:05 mr
sam Exp $";
在mr后面就换行了,CentOS4.4的gcc 编译不通过,
你需要改成:
static const char rcsid[]="$Id: overquota.c,v 1.0 2002/06/09 16:21:05 mrsam_patchByIpaddr Exp $";
(删除后面的回车,将字符串常量改成一行即可.)
再次编译通过.
相关推荐
-
Qmail的Maildir++补丁的小错误
好久没有用过qmail了,近日安装一台qmail邮件服务器,在一阵Patch,make setup check后出错,编译不通过!提示如下: overmaildirquota.c:32: warning: data definition has no type or storage class overmaildirquota.c:33: error: parse error before '}' token overmaildirquota.c:36: error: redefinition
-
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
计算:Ax-b A: 2*2 x: 2*1 b: 2*1 so, Ax-b: 2*1 if __name__ == "__main__": A = np.array([[4.0, 1.0], [1.0, 3.0]]) b = np.array([[1.0], [2.0]]) x_0 = np.array([[2.0], [1.0]]) r_k = A * x_0 - b print(r_k) 错误!!! 修改: if __name__ == "__main__":
-
MySQL8.0安装中遇到的3个小错误总结
前言 过去公司都是用的5.7 系列的MySQL,随着8.0的发版,也想试着升级一下.遇到了两个小错误,记录在此. 在开始之前,如果对MySQL8.0安装步骤不清楚的朋友们可以参考这篇文章:https://www.jb51.net/article/98270.htm ,好了,下面话不多说了,来一起看看详细的介绍吧 路径设置: 安装包路径:/data/mysql80/ 数据路径: /data/mysql/ 下面描述一下,我安装时遇到的错误 和 问题解决方案: 问题1 Premission den
-
python 使用三引号时容易犯的小错误
请看如下代码,执行后,思考生成的两个二维码为什么不一样? # -*- coding:utf-8 -*- from tkinter import * from tkinter import ttk from PIL import ImageTk import qrcode class QRcodeImage(object): '''生成二维码图片类''' def __init__(self, content, fcolor=None, bcolor=None, size=None): ''' 参数
-
代码规范需要防微杜渐code review6个小错误纠正
目录 code review 分析一下我的错误代码行为 1.写没必要的函数 2.Promise传递不明值 3.使用没必要try catch 4.Promise.all并发限制 5.Nodejs中使用过多sync函数 6.判空要放前面 code review 所谓code review,意思很明确,就是代码回顾,这个环节能帮你发现一些你代码中的不好的习惯,或者一些错误的行为.这个工作一般是团队的老大来做的,但是 我们的团队人均大佬 所以我们都是一起code review的,人多力量大,参加的人越多
-
10个JavaScript中易犯小错误
在今天,JavaScript已经成为了网页编辑的核心.尤其是过去的几年,互联网见证了在SPA开发.图形处理.交互等方面大量JS库的出现. 如果初次打交道,很多人会觉得js很简单.确实,对于很多有经验的工程师,或者甚至是初学者而言,实现基本的js功能几乎毫无障碍.但是JS的真实功能却比很多人想象的要更加多样.复杂.JavaScript的许多细节规定会让你的网页出现很多意想不到的bug,搞懂这些bug,对于成为一位有经验的JS开发者很重要. 常见错误一:对于this关键词的不正确引用 我曾经听一位喜
-
9条PHP编程小知识及易犯的小错误
变量声明 如果在一条语句中声明一个变量,如下所示:$var='value';编译器首先会求出语句右半部分的值,恰恰正是语句的这一部分常常会引发错误.如果使用的语法不正确,就会出现解析错误. 解析错误 例如,Parse error:解析错误,unexpected T_WHILE in c:program filesapache groupapachehtdocsscript.php on line 19每次确定了前一错误时,解析错误一个接一个地不断出现,PHP在第一个解析错误之后就停止执行脚本.而
-
Python程序员开发中常犯的10个错误
Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库.与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块. 在平时的工作中,Python开发者很容易犯一些小错误,这些错误都很容易避免,本文总结了Python开发者最常犯的10个错误,一起来看下,不知你中枪了没有. 1.滥用表达式作为函数参数默认值 Python允许开发者指定一个默认值给函数参数,虽然这是该语言的一个特征,但当参数可变时,很容易导致混乱,例如,下面这段函数定义: 复制代码 代码如下: >>
-
微信小程序 简易计算器实现代码实例
这篇文章主要介绍了微信小程序 简易计算器实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 只能进行简单的运算 效果图如下: cal.wxml <view class="screen">{{result}}</view> <view class="content"> <view class="buttonGroup"> <button
-
Golang错误处理方式异常与error
目录 一.异常 二.错误 Go 提供了两种处理错误 方式, 一 种是借助 panic和 recover 的抛出捕获机制, 另一种使用error 错误类型 一.异常 1.go没有try/catch,而是使用panic/recover. panic包出异常,后续代码不再执行 recover再defer中捕获异常,使groutine(即程序)能够正常退出. 1)只有panic,而没有recover,程序宕机无法正常退出 package main import "fmt" func send(
随机推荐
- extjs 时间范围选择自动判断的实现代码
- ASP.NET MVC 使用Bootstrap的方法
- java制作仿微信视频播放控件
- node.js插件nodeclipse安装图文教程
- 字符串拼接的批处理
- java调用ffmpeg实现视频转换的方法
- javascript 冒泡排序 正序和倒序实现代码
- PHP中字符与字节的区别及字符串与字节转换示例
- C# 批量生成随机密码必须包含数字和字母并用加密算法加密
- C++实现将数组中的值反转
- php向js函数传参的几种方法
- php中批量替换文件名的实现代码
- javascript学习基础笔记之DOM对象操作
- JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
- wordpress之wp-settings.php
- node.js+express制作网页计算器
- 基于C#中XmlWriter写入Xml的深入分析
- C++实现添加桌面右键新建菜单
- 详解Kotlin中如何实现类似Java或C#中的静态方法
- 在PHP程序中使用Rust扩展的方法