FreeBSD 板


※ 引述《[email protected]》之铭言: > ※ 引述《[email protected] (苏打)》之铭言: > > 我抓了一个网路上的程式 > > 里面有Makefile > > 我依照说明下指令make all > > 但FreeBSD却显示 > > "make: don't know how to make ../obj/misc/(档案). Stop" > > 我拿同一个程式,在Windows XP环境搭配MinGw32却可以成功compile > 之前遇到的情况是 Makefile里面每一行的结尾是 ^M > 所以make不起来 所以罗,若有 port 内有该软体,就建议直接用 port 方式安装, 因为有其他会装的人帮你都弄好了 或者你知道怎麽装之後,可以参考 FreeBSD Porter's Handbook 去 send-pr 来当 port maintainer。 其实,要自己手动装也是可以, 通常若 ^M 结尾,大概原本档案是在 win 环境内写的, 有蛮多方式都可以去掉,vi/vim 有取代方式,其他编辑软体也有类似功能, 或直接在 shell 内执行简单指令也可以做到,像是: tr -d \\r < Makefile > Makefile.unix mv Makefile.unix Makefile 有空的话,可以装一下 games distribution 并看看 /usr/share/games/fortune/freebsd-tips 基本上一些 UNIX tips/ BSD tips 在里面都有教哦~~ 至於要怎麽判断 Makefile 是要用 BSD make(pmake) 或是 GNU make(gmake)的话, 可以看一下 Makefile 写法 (注1) 或者是以 autotools 方式的 Makefile.in, Makefile.am 则可以先 ./configure 再去갠grep AUTOMAKE_OPTIONS Makefile 是不是有下面这样的字眼,有就是用 gmake AUTOMAKE_OPTIONS = gnu == 注1: 以下是以前写的文章...里面附注的书籍可以参考看看... :p 》〈[HOWTO] 如何改 FireBird BBS source?〉 Version: 0.32 beta 》Written by Amsterdam <[email protected]> 》License: GNU FDL Version 1.1, March 2000 》※ 本文章若有错误,请不吝指教。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 「安装是一回事,最需花心力照顾的还是後续的维护。」 By chw(aka woju) <[email protected]> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ────────────────────────────────────── (壹) 修改 source 前的准备功夫: ────────────────────────────────────── 首先,必须先确定你有基本 C programming 的能力, code 写得丑,或者用得不好 都暂时没关系,可以日後逐渐改进,最重要的是我们需要稳定。 不过在修改之前,我们先花点时间了解一下整个 source tree 的重要架构。 以下就简介 FireBird 3.1-20010830-SNAP 版,目前一些重要的东西存放处: bbssrc/ChangeLog 这里记载着每个版次的重大变迁过程纪录。 bbssrc/doc 存放 Firebird BBS 相关文件, 请详细阅读各文件再安装系统。*强力推荐* (内容包括: 如何架站、FAQ、设定范例档) bin/ 大部分的 BBS 相关执行档(binary) 及一些 shell script。 etc/ BBS 的一些设定档。 bbssrc/ BBS 的 source tree bbssrc/include/ BBS 的 header files bbssrc/src/ BBS 的主体 source bbssrc/util/innbbsd/ 提供 BBS 转信用的程式 (innbbsd + NoCeM_innbbsd patch) bbssrc/util/local_utl/ BBS 主要工具程式的 source bbssrc/util/ BBS 其它的工具包 此外,也可以用 du 来鸟瞰全部的 source tree ────────────────────────────────────── (贰) 资料的备份与还原 ────────────────────────────────────── 备份 还原前应注意事项 如何解开压缩档 ────────────────────────────────────── (参) 开始修改 source code :《这时请都以 bbs 身份进行各项动作,除非特殊情况》 ────────────────────────────────────── 改 source 大致分为三部份,第一部份通常是开站之初的使用者画面, 第二部份是为了修改部份系统功能的 bugs 或进阶功能,第三部份为新增 BBS 原来所没有的功能。 第一部份严格说起来并不算是改 source,只要会用 Editor(注1) 跟 gcc(注2), 任何人都会。 通常为了改特定字串(假如要找 SimCity3000 这个关键字眼), 我们可以运用 grep -iR "SimCity3000" * 来找到要改的字串(注3)。 第二部份就稍微要有一些经验和对 BBS 系统的了解,包括 function 间 的 dependence 关系、BBS struct .... 等。 通常要改一个 function 的话, 可以到 ~/bbssrc/src 下找档名与之相对应 .c 档来着手。 如果您不确定要改的是哪个档,在此假设您要改的地方会出现「香蕉芭乐」, 那麽可以在 ~bbs/bbssrc 用 grep -lR '香蕉芭乐' * 来找到要改的「香蕉芭乐」在哪个档案。 第三部份就需要更多的时间与精力去读 BBS source code、struct 及 debug, 甚至要对 UNIX System 有一些背景才能胜任。 还有很重要的一点是,请善用手边的「人力资源」(注4),对於不熟悉的指令、程式、 function,我们几乎都可自行用 man BLAH("BLAH"可以是指令、程式、function、...) 来查询其用法和说明,「运用法门,存乎一心」。 ────────────────────────────────────── (肆) 改 source code 後,该做什麽?《这时请改以 root 身份在 ~bbs/bbssrc 下来做》 ────────────────────────────────────── 在你将完成 source code 的更改步骤之後, 尤其是有改过 *.h (header file)的话,建议使用 make clean update 来进行编译, 在山水兰阳(注5)上,这大约要花半分钟左右的时间(注6)。 make 完之後,请务必记得重跑 bbsd ,必要时请清一清 SHM 里头的屍体(注7), 这时就可以重新 login BBS 进去测试看看啦。 Good Luck!:) ────────────────────────────────────── (伍) Debug 篇 ────────────────────────────────────── 「我们不是神,不能从你的只字片语中帮你解决问题.. 如果你想要我们帮忙些什麽的话,请送上 error log」 By Vanilla I. Shu <[email protected]> ────────────────────────────────────── (陆) 後记 ────────────────────────────────────── any idea? mailto:[email protected] ────────────────────────────────────── (柒) 参考资料 ────────────────────────────────────── [1] Andrew Oram & Steve Talbott 着,李果益 译,蒋大伟校编《make 专案开发工具 (Managing Projects with make)》,2000年10月初版,O'REILLY出版。 [2] Mike Loukides & Andy Oram 着,吕维毅 编译《GNU 程式设计(Progamming with GUN Software)》,1999年9月再版,O'REILLY出版。 [3] Paul Vixie <[email protected]>, CRONTAB(1), FreeBSD 4.4 manual page [4] Satoshi Asami and the Awesome Ports Team (originated by David O'Brien), PORTS(7), FreeBSD 4.4 manual page [5] Steve Oualline 原着,吕维毅 译《C++风格与艺术(Practical C++ Programming) 》 ,2000年6月三刷,O'REILLY出版。 ───── 1)Editor: 就是"编辑器"啦,像是 UNIX 环境下的 joe/vi/pico 等都可以,当然也可以 在 win 环境下用像是 UltraEdit 改好再以 FTP or WinCVS 回传给 Server。 2)gcc: GNU project C and C++ Compiler(GNU C/C++编译器) 3)grep: 是很好用的工具,专门可以帮您找出您要的东西, 并列出档名或档案中内含文字。 有的时候您会想知道,哪些档案内容有您欲寻找的字串,像想要修改输入(Input) 输出(Output)介面时,就需要使用 grep 指令 4)man: 就是 Manual 的简称啦,顺便介绍一下 man 环境下的基本操作: ◎ Space键,卷到下一页 ◎ ↑↓键,这...不用多说了吧?^_^;; ◎ q键,可随时离开(quit)。 此外,您的瞳孔中要是出现下列亮白色的标题字眼,比较常见的像是: NAME └────── 它的全名、「学名」。 LBRARY └────── 它属於哪一种的 Library。 (Crypt Library, Standard C Library, etc) SYNOPSIS └────── 「简介」是也,简洁地说明这东西使用上的概要用法。 DESCRIPTION └────── 这里会有比较「长~一点」的文字描述来介绍说明。 ENVIRONMENT └────── 您可以因「机」制宜,而改变这里所列的环境变数。 EXAMPLES └────── 简单介绍实际使用上的用法范例。 RETURN VALUES └────── 此 function 在各种状况下的传回值。 SEE ALSO │ crontab(5), cron(8) └─── 「另见」者也,如果您阅读完本章的说明手册之後,悟性大发,想要 更上一层楼,一窥 UNIX Programming 的神秘世界,则该篇作者建议 您可以参考的相关部分以继续深入探究,这里举例的是您可以 man 5 crontab 以取得 crontab(5) 说明 或 man 8 cron 以取得 cron(8) 说明 BUGS │ This man page is too long. └───── 这里会说明它目前的 bugs。 :) HISTORY └───── 这,就是有关这份文件的考古啦... AUTHORS └───── 这份说明手册的作者或 maintainer(s) or team。 ︴FreeBSD 必备宝典 ︴http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html ︴如果您觉得没有中文的话,食之无味,可到 tw.bbs.comp.386bsd 找一位叫做 ︴statue 的大大所推动的中文 HOWTO。 ︴/usr/share/doc/en_US.ISO_8859-1/books/handbook/index.html ︴实在是进可攻、退可守,送礼自用两相宜,诚乃「居家必备.旅行常用」之良品 。 通常 BBS 编译或安装遇到问题,*强烈建议* 请先自行查阅相关文件(doc)、 手册(man) 以及 source code,看看是否自寻解答,经过一番努力与挣扎之後 ,应该都是可以找到解答的,真是「不是一番寒彻骨,争得梅花扑鼻香。」啊~ 若真的还没有的话,嗯....这个嘛, >>> 以下内容编修自 FB3 本身文件(~bbs/bbssrc/doc/Firebird-30) <<< ======================================================================== 当然啦,在求助之前请详述您的系统平台、所用的编译器、安装的 BBS 版本, 以及出现的错误讯息等资讯,这样子大家才能容易帮您找出可能发生问题的地方, 不然可能会没人回答您的问题喔!又,在发问前,请先往前找找旧文章并搜寻 ,查看是否有人回答过相同的问题,以免浪费网路资源。 ======================================================================== 当然,若您或得灵感、偶有心得,也欢迎把您的经验回馈给大家一起分享交流。 5)宜兰资教中心.山水兰阳BBS(bbs.ilc.edu.tw) OS:FreeBSD 4.4R HW:HP E60(Celeron 450MHz/256MB RAM/9 GB SCSI HD)+Quantum ATLAS V 18.3GB SEE ALSO https://bbs.ilc.edu.tw/info.php 6)编译过程所需时间,大致会随以下情况而有所改变: a) source code 复杂程度和编译时下的 argument(参数) b) 当时上站人数多寡与外部程式执行状况 c) 机器性能以及 tune(调校) 的功力 7)简单来说, ipcs →列出 System V interprocess communication facilities 的使用状态﹔ ipcrm→移除特定的 message queues, semaphore sets, and shared segments, (举例)用法:ipcrm -M <shmkey> 详情请 man ipcs 以及 man ipcrm 。 -- 与您分享的快乐胜过独自拥有 :) -- 静中见真境,淡中识本然 -- ※ Origin: SayYA 资讯站 <bbs.sayya.org> ◆ From: 61-63-0-host123.kbtelecom.net.tw







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草
伺服器连线错误,造成您的不便还请多多包涵!
「赞助商连结」






like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP