北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 23734|回复: 21

MudOSv22pre11_For_Linux.zip 架设xkx2001求助!

[复制链接]
发表于 2010-7-15 11:27:52 | 显示全部楼层 |阅读模式
上次问了问mudos编译问题,现在换了32位平台已经解决了mudos编译。
目前在网上下了一个xkx2001的mudlib,是windows平台的,而且我在windows平台运行,可以正确出现登陆画面了
现在我把这个mudlib拷贝到linux的/mud/xkx2001目录里。并用
find . -name *.c|xargs dos2unix
find . -name *.h|xargs dos2unix
find . -name *.o|xargs dos2unix
修改了编码。
然后再将编译好的driver拷贝到mudlib下面。

先执行./addr_server 5555
然后修改mudlib下的config.xkx文件
address server port : 5555
# absolute pathname of mudlib
# mudlib directory : .
mudlib directory : /mud/xkx2001
# absolute pathname of driver/config dir
# binary directory : .
binary directory : .
# debug.log and author/domain stats are stored here
log directory : /log

然后执行./driver config.xkx

提示
侠客行 (MudOS v22pre11) starting up on Linux - Thu Jul 15 11:12:12 2010

Connection to address server (localhost 5555) refused.
include/globals.h line 103: Warning: redefinition of #define ROOM
]simul_efun loaded successfully.
include/globals.h line 103: Warning: redefinition of #define ROOM

Loading preloaded files ...
Initializations complete.
Accepting connections on port 8888.

当我连接8888的时候,就会出现错误提示

执行时段错误 *Object cannot be loaded during compilation.
程式:adm/single/simul_efun.c µÚ 12 ÐÐ
物件: adm/single/simul_efun
呼叫来自:adm/single/master.c µÄ connect() µÚ 17 ÐУ¬Îï¼þ£º adm/single/master
呼叫来自:adm/single/master.c µÄ CATCH() µÚ 17 ÐУ¬Îï¼þ£º adm/single/master
呼叫来自:adm/single/master.c µÄ log_error() µÚ 124 ÐУ¬Îï¼þ£º adm/single/master
呼叫来自:adm/single/simul_efun.c µÄ wizardp() µÚ 12 ÐУ¬Îï¼þ£º adm/single/simul_efun
include/globals.h line 103: Warning: redefinition of #define ROOM


后面还有很多类似信息
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-15 11:34:27 | 显示全部楼层
dos2unix只有必要对非源代码执行。.c的问题不需要。根据错误信息,你应该打开master.c来看看到底里面有些啥
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-15 13:42:22 | 显示全部楼层
把你的debug.log放到windows或者有中文环境的系统下看到底是啥信息,然后到master.c里去debug
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-7-15 22:51:03 | 显示全部楼层
下面是完整的debug.log文件,还望高手给看看什么问题
----------------------------------------------------------------------------
侠客行 (MudOS v22pre11) starting up on Linux - Thu Jul 15 11:14:08 2010


Connection to address server (localhost 5555) refused.
include/globals.h line 103: Warning: redefinition of #define ROOM

include/globals.h line 103: Warning: redefinition of #define ROOM


Loading preloaded files ...
Initializations complete.

Accepting connections on port 8888.

执行时段错误:*Object cannot be loaded during compilation.

程式:adm/single/simul_efun.c 第 12 行
物件: adm/single/simul_efun
呼叫来自:adm/single/master.c 的 connect() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 CATCH() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 log_error() 第 124 行,物件: adm/single/master
呼叫来自:adm/single/simul_efun.c 的 wizardp() 第 12 行,物件: adm/single/simul_efun
include/globals.h line 103: Warning: redefinition of #define ROOM


执行时段错误:*Object cannot be loaded during compilation.

程式:adm/single/simul_efun.c 第 12 行
物件: adm/single/simul_efun
呼叫来自:adm/single/master.c 的 connect() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 CATCH() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 log_error() 第 124 行,物件: adm/single/master
呼叫来自:adm/single/simul_efun.c 的 wizardp() 第 12 行,物件: adm/single/simul_efun
include/globals.h line 103: Warning: redefinition of #define ROOM


执行时段错误:*Object cannot be loaded during compilation.

程式:adm/single/simul_efun.c 第 12 行
物件: adm/single/simul_efun
呼叫来自:adm/single/master.c 的 connect() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 CATCH() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 log_error() 第 124 行,物件: adm/single/master
呼叫来自:adm/single/simul_efun.c 的 wizardp() 第 12 行,物件: adm/single/simul_efun
include/globals.h line 103: Warning: redefinition of #define ROOM


执行时段错误:*Object cannot be loaded during compilation.

程式:adm/single/simul_efun.c 第 12 行
物件: adm/single/simul_efun
呼叫来自:adm/single/master.c 的 connect() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 CATCH() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 log_error() 第 124 行,物件: adm/single/master
呼叫来自:adm/single/simul_efun.c 的 wizardp() 第 12 行,物件: adm/single/simul_efun
include/globals.h line 103: Warning: redefinition of #define ROOM


执行时段错误:*Object cannot be loaded during compilation.

程式:adm/single/simul_efun.c 第 12 行
物件: adm/single/simul_efun
呼叫来自:adm/single/master.c 的 connect() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 CATCH() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 log_error() 第 124 行,物件: adm/single/master
呼叫来自:adm/single/simul_efun.c 的 wizardp() 第 12 行,物件: adm/single/simul_efun
include/globals.h line 103: Warning: redefinition of #define ROOM


执行时段错误:*Object cannot be loaded during compilation.

程式:adm/single/simul_efun.c 第 12 行
物件: adm/single/simul_efun
呼叫来自:adm/single/master.c 的 connect() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 CATCH() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 log_error() 第 124 行,物件: adm/single/master
呼叫来自:adm/single/simul_efun.c 的 wizardp() 第 12 行,物件: adm/single/simul_efun
include/globals.h line 103: Warning: redefinition of #define ROOM


执行时段错误:*Object cannot be loaded during compilation.

程式:adm/single/simul_efun.c 第 12 行
物件: adm/single/simul_efun
呼叫来自:adm/single/master.c 的 connect() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 CATCH() 第 17 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 log_error() 第 124 行,物件: adm/single/master
呼叫来自:adm/single/simul_efun.c 的 wizardp() 第 12 行,物件: adm/single/simul_efun
include/globals.h line 103: Warning: redefinition of #define ROOM


执行时段错误:*Object cannot be loaded during compilation.

程式:adm/single/simul_efun.c 第 12 行
物件: adm/single/simul_efun
呼叫来自:clone/user/login.c 的 logon() 第 12 行,物件: clone/user/login#0
呼叫来自:adm/single/master.c 的 log_error() 第 124 行,物件: adm/single/master
呼叫来自:adm/single/simul_efun.c 的 wizardp() 第 12 行,物件: adm/single/simul_efun
include/globals.h line 103: Warning: redefinition of #define ROOM


执行时段错误:*Object cannot be loaded during compilation.

程式:adm/single/simul_efun.c 第 12 行
物件: adm/single/simul_efun
呼叫来自:clone/user/login.c 的 logon() 第 12 行,物件: clone/user/login#0
呼叫来自:adm/single/master.c 的 log_error() 第 124 行,物件: adm/single/master
呼叫来自:adm/single/simul_efun.c 的 wizardp() 第 12 行,物件: adm/single/simul_efun
adm/daemons/logind.c line 9: Warning: redefinition of #define MAX_USERS


执行时段错误:*Object cannot be loaded during compilation.

程式:adm/single/simul_efun.c 第 12 行
物件: adm/single/simul_efun
呼叫来自:clone/user/login.c 的 logon() 第 12 行,物件: clone/user/login#0
呼叫来自:adm/daemons/logind.c 的 create() 第 71 行,物件: adm/daemons/logind
呼叫来自:adm/single/master.c 的 valid_seteuid() 第 273 行,物件: adm/single/master
呼叫来自:adm/single/master.c 的 log_error() 第 124 行,物件: adm/single/master
呼叫来自:adm/single/simul_efun.c 的 wizardp() 第 12 行,物件: adm/single/simul_efun
include/globals.h line 103: Warning: redefinition of #define ROOM


执行时段错误:*Bad argument 1 to getuid()
Expected: object Got: "include/globals.h".

程式:adm/daemons/securityd.c 第 734 行
物件: adm/daemons/securityd
呼叫来自:clone/user/login.c 的 logon() 第 12 行,物件: clone/user/login#0
呼叫来自:adm/daemons/logind.c 的 create() 第 71 行,物件: adm/daemons/logind
呼叫来自:adm/single/master.c 的 valid_seteuid() 第 273 行,物件: adm/single/master
呼叫来自:adm/daemons/securityd.c 的 valid_seteuid() 第 734 行,物件: adm/daemons/securityd
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-15 22:58:28 | 显示全部楼层
你编译mudos的时候是不是没define seteuid那个选项。编译之前需要仔细研究options.h,根据mudlib的类型和需要进行修改
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-7-15 23:01:53 | 显示全部楼层
...还有options.h需要修改??确实不知道。我再看看,感谢。
有关于修改options.h这个文件的教程或者说明吗?

再次感谢icer
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-7-15 23:22:45 | 显示全部楼层
我尝试修改了options.h里面的PACKAGE_UIDS项为#undef PACKAGE_UIDS
然后重新编译,结果提示更不好了。好像这个PACKAGE_UIDS必须是#define吧。。。
还有什么需要在options.h里面调整的吗?
----------------------------------------------------------------------------
侠客行 (MudOS v22pre11) starting up on Linux - Thu Jul 15 23:06:24 2010


Connected to address server on localhost port 5555
include/globals.h line 103: Warning: redefinition of #define ROOM

adm/simul_efun/object.c line 60: Undefined function getuid
adm/simul_efun/object.c line 60: Type of returned value doesn't match function return type ( unknown vs string )
adm/simul_efun/object.c line 79: Undefined function geteuid
adm/simul_efun/path.c line 27: Bad type for argument 1 of user_path ( string vs unknown )
adm/simul_efun/path.c line 29: Bad type for argument 1 of user_path ( string vs unknown )
adm/simul_efun/file.c line 13: Undefined function seteuid
No error handler for error: *Error in loading object '/adm/single/simul_efun'
program: (none), object: (none), file: (none)
The simul_efun (/adm/single/simul_efun) and master (/adm/single/master) objects must be loadable.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-7-15 23:36:49 | 显示全部楼层
下面两个和UID有关的都设置了,提示还是和最初一样。
#define PACKAGE_UIDS
#define AUTO_SETEUID

我把simul_efun.c也贴出来,大侠给看看有问题没有。关键是这些东西在windows可以运行。。。。到linux就不灵了

----------------------------------------------------------------------------
侠客行 (MudOS v22pre11) starting up on Linux - Thu Jul 15 23:06:24 2010


Connected to address server on localhost port 5555
include/globals.h line 103: Warning: redefinition of #define ROOM

adm/simul_efun/object.c line 60: Undefined function getuid
adm/simul_efun/object.c line 60: Type of returned value doesn't match function return type ( unknown vs string )
adm/simul_efun/object.c line 79: Undefined function geteuid
adm/simul_efun/path.c line 27: Bad type for argument 1 of user_path ( string vs unknown )
adm/simul_efun/path.c line 29: Bad type for argument 1 of user_path ( string vs unknown )
adm/simul_efun/file.c line 13: Undefined function seteuid
No error handler for error: *Error in loading object '/adm/single/simul_efun'
program: (none), object: (none), file: (none)
The simul_efun (/adm/single/simul_efun) and master (/adm/single/master) objects must be loadable.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-16 00:55:48 | 显示全部楼层
/*
* PACKAGE_UIDS: define this if you want a driver that does use uids.
*  
*/
#undef PACKAGE_UIDS

/* AUTO_SETEUID: when an object is created it's euid is automatically set to
*   the equivalent of seteuid(getuid(this_object())).  undef AUTO_SETEUID
*   if you would rather have the euid of the created object be set to 0.
*/
#define AUTO_SETEUID

/* AUTO_TRUST_BACKBONE: define this if you want objects with the backbone
*   uid to automatically be trusted and to have their euid set to the uid of
*   the object that forced the object's creation.
*/
#define AUTO_TRUST_BACKBONE
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-7-16 08:09:44 | 显示全部楼层
icer 大侠,如果用按照你上面的配置用#undef PACKAGE_UIDS,直接就提示下面信息了
Connected to address server on localhost port 5555
include/globals.h line 103: Warning: redefinition of #define ROOM

adm/simul_efun/object.c line 60: Undefined function getuid
adm/simul_efun/object.c line 60: Type of returned value doesn't match function return type ( unknown vs string )
adm/simul_efun/object.c line 79: Undefined function geteuid
adm/simul_efun/path.c line 27: Bad type for argument 1 of user_path ( string vs unknown )
adm/simul_efun/path.c line 29: Bad type for argument 1 of user_path ( string vs unknown )
adm/simul_efun/file.c line 13: Undefined function seteuid
No error handler for error: *Error in loading object '/adm/single/simul_efun'
program: (none), object: (none), file: (none)
The simul_efun (/adm/single/simul_efun) and master (/adm/single/master) objects must be loadable.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-3-29 05:27 AM , Processed in 0.012564 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表