- 主题:升级遇到问题,版面错误用户错误
检查代码里 struct boardheader/struct userec 有没有变化
如果有变化需要转换磁盘文件
【 在 cougarwww (菲平) 的大作中提到: 】
: 原系统debian,07年2月份的代码,现系统freebsd7 amd,周三的代码
: 新系统直接make make install make install-home没有问题
: 老系统的数据倒过来之后make make install 后,原系统用户无法登陆密码输入错误...
: ...................
--
FROM 221.219.14.*
你没重新configure,能make过去才怪呢
BSD的setpgrp和SYSV的不一样。
【 在 cougarwww (菲平) 的大作中提到: 】
: 旧代码make不过去。。。
: bbs# make
: make -s all-recursive
: ...................
--
FROM 221.219.14.*
【 在 cougarwww (菲平) 的大作中提到: 】
: 有个疑问,老机器现在使用着,正常,但是这两个文件一年多来都没变化。。。
没变化就对了,哪能随便有变化 ..
: -rw-r--r-- 1 bbs bbs 4400000 2008-05-17 11:17 .PASSWDS
: -rw-r--r-- 1 bbs bbs 4400000 2007-01-20 12:05 .PASSWDS.BAK
: ...................
--
FROM 221.219.14.*
我都说过了,对照userec和boardheader结构在新旧代码之间的变更,转换磁盘文件
然后停站需要彻底清掉共享内存 ..
【 在 cougarwww (菲平) 的大作中提到: 】
: 旧代码跟新代码情况差不多
: 全新安装的话可以正常使用
: 使用原来的数据的话,就是乱的
: 还是.BOARDS和.PASSWDS有问题看来,旧数据在freebsd上一启动bbs两个文件大小就变了,不管旧代码还是新代码。
: -rw-r--r-- 1 bbs bbs 233600 May 18 08:34 .BOARDS
: -rw-r--r-- 1 bbs bbs 230400 May 17 22:54 .BOARDS.BAK
: -rw-r--r-- 1 bbs bbs 21248 May 17 22:54 .BOARDS.OLD
: -rw-r----- 1 bbs bbs 1544 May 17 22:54 .FRIENDTOP
: -rw-r----- 1 bbs bbs 154082 May 17 22:54 .IDdenys
: -rw------- 1 bbs bbs 40000 May 18 08:23 .IDlists
: -rw-r----- 1 bbs bbs 277426 May 17 22:54 .IPdenys
: -rw-r--r-- 1 bbs bbs 4960000 May 18 08:34 .PASSWDS
: -rw-r--r-- 1 bbs bbs 4400000 May 17 22:54 .PASSWDS.BAK
: -rw-r--r-- 1 bbs bbs 4400000 May 17 22:54 .PASSWDS.NEW
--
FROM 221.219.14.*
【 在 cougarwww (菲平) 的大作中提到: 】
: 出了一些格式调整外没有变更。。。
原来系统 long 多大?现在系统 long 多大?指针呢?
机器字长一样么?
你不说清楚我只好挨个问了
: 而且我用老代码在freebsd上编译,也是一样的问题,使用旧数据用户和板块错误
: 全新安装生成的.PASSWDS和.BOARDS文件大小也跟debian上的大小不一样
: 谨慎怀疑是miscd.c的问题,
: 而且总感觉共享内存没有彻底清干净
别感觉啊,ipcs自己看一眼干净不干净。。
--
FROM 221.219.14.*
【 在 cougarwww (菲平) 的大作中提到: 】
: 老机器是dell 2650 debian 3.1
-i386的吧?
: 新机器是dell 2950 freebsd 7 amd64
~~~~~
: long这些怎么看。。。@@?
32位系统 sizeof(long) 和 sizeof(int *) 是 4
64位系统是 8
所以这个结构当然改变了,所以就要转换 ...
看 contrib/32bitTO64bit/ 下的程序,注意不要照搬,要先确认!
需要转换的,.PASSWDS .BOARDS 用户主目录下的 msgindex clockdata
投票目录下的 vote
: 共享内存的事情是这样的,用老数据的时候,我以前测试的时候注册过的用户名老是显示密码错误,测试时候没有注册,但老数据有的用户名显示没有这样的用户,但是也不能注册。。。
这个不能靠猜啊,清干净了就是干净了,没干净的就是没干净-_-bb
先把磁盘文件转换完了再琢磨这个事儿吧 ...
--
FROM 221.219.14.*
那个,默认没编译啊,你自己改改自己编译啊 ...
gcc -I$(top_srcdir)/src -lBBS -lsystem -L$(top_builddir)/libBBS \
-L$(top_builddir)/libsystem -o blahblah blahblah.c
【 在 cougarwww (菲平) 的大作中提到: 】
: 哎,被打回来了,呵呵,那个,咋编译啊
: 默认没编译吗?还是编译了跑哪去了?
--
FROM 221.219.14.*
/home/bbs/telbbs是你的build目录?还是说你没理解我说的build目录是啥-_-
Makefile 在哪个目录下,哪个目录就是你的build目录
一般来说和源代码目录是同一个 ..
你不知道我在说什么的话,把-L的改成 -L$BBSHOME/lib 好了 ...-_-bb
【 在 cougarwww (菲平) 的大作中提到: 】
: bbs# gcc -I/home/bbs/trunk/kbs_bbs/src -lBBS -lsystem -L/home/bbs/telbbs/libBBS -L/home/bbs/telbbs/libsystem -o contrib/32bitTO64bit/cnv_boards64.c
: /usr/bin/ld: cannot find -lBBS
: 哎,实在是不了解这块,再加上技术水平有限,以前就安装一下,维护维护,这回可难倒我了
: ps,学校看救灾义演的同学不少都哭了
--
FROM 221.219.14.*
【 在 cougarwww (菲平) 的大作中提到: 】
: bbs# gcc -I/home/bbs/trunk/kbs_bbs/src -lBBS -lsystem -L/home/bbs/telbbs/libBBS -L/home/bbs/telbbs/libsystem -o contrib/32bitTO64bit/cnv_boards64.c
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
靠,我刚发现。。
: /usr/bin/ld: cannot find -lBBS
: 哎,实在是不了解这块,再加上技术水平有限,以前就安装一下,维护维护,这回可难倒我了
: ...................
--
FROM 221.219.14.*
告诉你个简单的,丢到 local_utl下头去,在Makefile.am那一行巨长的 bin_PROGRAMS=
后头加上这些个源文件去掉.c以后的部分,然后 make;make install 去 $(BBSHOME)/bin
下头找 ...
【 在 cougarwww (菲平) 的大作中提到: 】
: 还是不太会编译这些文件。。。
--
FROM 221.219.14.*