Chinaunix
标题:
Ubuntu 13.10 Server 版本编译数据库软件CUBRID
[打印本页]
作者:
liuweni
时间:
2014-01-21 22:22
标题:
Ubuntu 13.10 Server 版本编译数据库软件CUBRID
本帖最后由 liuweni 于 2014-01-21 22:51 编辑
Cubrid虽然是基于GPL2 & GPL3协议的,也许是因为需要在多系统上运行的关系吧,源代码的编译和普通的GNU软件不同,无法简单的通过./configure ; make; make install来实现。同时,在安装的时候也碰到一些奇怪的问题,需要apt-get --reinstall install XXXXXXX
CUBRID的源代码地址位于
http://svn.cubrid.org/cubridengine/trunk
首先,讲下CUBRID一个大概的目录结构
Broker -- 一个中间件,主要作用是链接数据库和应用程序的一个东西,但源码里只有个Makefile。
casXXXX -- 链接各种数据库的adapter现在只有oracle和mysql。
Src -- 各种源代码。为什么在有一个单独的win目录的情况下,src里面还有个win_tools。不明觉厉啊
Win -- windows的project。里面还有个还有个mysql的client,应该是为broker连mysql准备的,理论上,应该还有个oracle的,不过暂时还没找到。
External -- 里面包含了一系列的第三方软件源码,编译中造成了很多困扰。
Msg -- 多语言支持包
Contrib -- 各种开发语言支持。
Util -- 脚本,用于启动和停止cubrid
..........
剩余的大部分目录里就是些makefile之类的,反正查svn log是在同步过来后就没怎么更新的。有兴趣的同学可以去瞅瞅。
在源码的根目录里有这么几个文件,主要用于系统配置和编译的。
autogen.sh -- Linux下编译需要用到的
autobuild_aix.cmd -- AIX编译用到的
Autobuild.cmd -- CMD M$编译中需要的
build.sh -- 一个编译打包的脚本。看起来很美好,但是在ubutnu里找不到libtool-2
Configure.ac -- autoconf需要使用这个玩意儿来生成configure
Makefile.am -- automake生成Makefile需要用到的。
因为最初有重建configure的冲动,所以安装了很多软件。
apt-get install libexpat-dev pentium-builder make make-doc libtool openjdk-7-jdk libelf-dev libncurses5-dev texinfo flex libpcre++-dev libedit-dev automake ant subversion build-essential liblzo2-dev libgc-dev autoconf automake g++ libelf-dev
把JAVA_HOME export出来,在编译中需要用到jni
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-i386/
第一步,生成configure文件,就用现成的autogen.sh了。如果没有参数,在生成configure后需要手工去./configure,如果带了参数,会一并帮你configure好,因为在external里还有一大堆软件需要autoconf呢。
接着,就是按部就班的.configure ; make了。其中会出现一些比较有趣的问题,在对external/bison-2.3/po 里面的文件进行mv操作的时候,会缺少一些.gmo文件。我系统里是安装有bison-2.9的,这里缺就缺吧,直接touch上。在external/libedit-20120601-3.0/里面,会提示有aclocal-1.12找不到,因为ubutnu13.10已经默认安装的是1.13.1所以,需要在配置文件里把1.12修改为1.13,或者,也可以直接修改为大于等于1.12。
当编译完成后,make install后,就可以各种嘚瑟,各种玩了。
另外,编译时记得使用重定向以确定遇到的具体问题。例如
Make 2> error.log
Make >compile.log 2>&1
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2