UC故事 2011/12/19 build linix servers


## 构建Linux Server ##


1. build info server

* build info server

# make


.a ../../../bin/libnetwork.a ../../../bin/libframework.a  -lmysqlclient -lz
../../../bin/libs/libdbthread.a: could not read symbols: File format not recognized


注:libdbthread.a需要重新build


* build libdbthread.a

[root@frank dbthread]# make
g++ -Wall -Wpointer-arith -pipe -D_REENTRANT -D_GNU_SOURCE -g -g -O3 -DRT_UNIX  -DRT_LINUX -D__MYSQL__  -DRT_DEBUG -DRT_DISABLE_ASSERTE -I../h -I../../../src/h -I/usr/include/mysql -c -o ../../../bin/platform/dbthread/dbmysql.o dbmysql.cpp
在包含自 dbmysql.cpp:9 的文件中:
../h/dbmysql.h:27:19: 错误:mysql.h:没有那个文件或目录
../h/dbmysql.h:101: 错误:ISO C++ 不允许声明无类型的 ‘MYSQL’
../h/dbmysql.h:101: 错误:expected ‘;’ before ‘*’ token
../h/dbmysql.h:114: 错误:‘MYSQL_ROW’ 没有命名一个类型
../h/dbmysql.h:117: 错误:ISO C++ 不允许声明无类型的 ‘MYSQL_RES’

注:需要重新安装mysql


* 从源代码开始安装mysql 5.0.X

# ./configure --prefix=/usr/local/mysql starting at 12:30

# make: starting at 12:47, end at 13:05

# make install:starting at 13:06, end at 13:08


* 再次build libdbthread.a

# 修改Makefile,指向正确的mysql include目录:/usr/local/mysql/include/mysql

Q:原来的-I $(MYSQL_HOME)在哪里定义的?


#make

[root@frank dbthread]# make
g++ -Wall -Wpointer-arith -pipe -D_REENTRANT -D_GNU_SOURCE -g -g -O3 -DRT_UNIX  -DRT_LINUX -D__MYSQL__  -DRT_DEBUG -DRT_DISABLE_ASSERTE -I../h -I../../../src/h -I/usr/local/mysql/include/mysql -c -o ../../../bin/platform/dbthread/dbmysql.o dbmysql.cpp
g++ -Wall -Wpointer-arith -pipe -D_REENTRANT -D_GNU_SOURCE -g -g -O3 -DRT_UNIX  -DRT_LINUX -D__MYSQL__  -DRT_DEBUG -DRT_DISABLE_ASSERTE -I../h -I../../../src/h -I/usr/local/mysql/include/mysql -c -o ../../../bin/platform/dbthread/dboci_adaptor.o dboci_adaptor.cpp
g++ -Wall -Wpointer-arith -pipe -D_REENTRANT -D_GNU_SOURCE -g -g -O3 -DRT_UNIX  -DRT_LINUX -D__MYSQL__  -DRT_DEBUG -DRT_DISABLE_ASSERTE -I../h -I../../../src/h -I/usr/local/mysql/include/mysql -c -o ../../../bin/platform/dbthread/CmDBThread.o CmDBThread.cpp
ar rsuv ../../../bin/libs/libdbthread.a ../../../bin/platform/dbthread/dbmysql.o ../../../bin/platform/dbthread/dboci_adaptor.o ../../../bin/platform/dbthread/CmDBThread.o
r - ../../../bin/platform/dbthread/dbmysql.o
r - ../../../bin/platform/dbthread/dboci_adaptor.o
r - ../../../bin/platform/dbthread/CmDBThread.o
chmod a+r ../../../bin/libs/libdbthread.a

OK !


* 再次build info server

[root@frank dbthread]# make

in/common/GcServerPdu.o ../../../bin/common/GcClientPdu/GcClientPdu.o ../../../bin/libmonitor.a  ../../../bin/libs/libaudiocodec32.a ../../../bin/libsecurity.a ../../../bin/libnetwork.a ../../../bin/libframework.a  -lmysqlclient -lz
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld 返回 1
make: *** [../../../bin/InfoServer] 错误 1

* 修改Makefile,指明libmysqlclient.a的目录位置

USER_LINK_DLLS = -lmysqlclient -lz -L/usr/local/mysql/lib/mysql

Q:使用方法是static lib还是DLL?


# make


OK !


* 配置iwlab.ini, 运行

[root@frank bin]# ./InfoServer
New build infoserver 4.2.
 Load Config Failed


* 配置环境变量,并把iwlab.ini放入, 重启动

OK !


2. build controller


* make

../../../bin/libs/libdbthread.a ../../../bin/libfilerecord.a ../../../bin/libconnmgr.a  ../../../bin/libs/libiwltriallicense.a ../../../bin/libsecurity.a ../../../bin/libnetwork.a ../../../bin/libframework.a  -lmysqlclient -lz
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld 返回 1
make: *** [../../../bin/gc] 错误 1

* 修改Makefile,指明libmysqlclient.a的目录位置

USER_LINK_DLLS = -lmysqlclient -lz -L/usr/local/mysql/lib/mysql


OK !


* 启动

./gc ( not Controller)


OK !


3. Client连接

* 修改ip地址,启动


OK!

注:结束于14:35


4. 下一步计划

* 日志文件

* 理解console信息

* 文档review

* 自动build系统相关设置

* SVN模块


 









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值