免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2651 | 回复: 1
打印 上一主题 下一主题

Postgresql8.4.2源码在windows下的编译(转载,协作,不断更新) [复制链接]

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-15 13:05 |只看该作者 |倒序浏览
由于windowXp操作系统无疑是大家最熟悉的操作系统,Ubuntu,FressBSD,Red Hat等Unix操作系统大家又不是非常熟悉,上手,所以这里介绍一下在windows下编译PosgreSQL8.4.2的过程(原文链接:http://blog.csdn.net/pqyzwbq/archive/2009/03/22/4014920.aspx)。
    首先我们要下载到执行.pl文件的工具:Perl package manager。下载地址:http://www.activestate.com/activeperl/ ,下载的版本号为5.8,注意,这里有两个可以下载的版本:5.10,5.8,下载的是后者。
    假设源代码的解压路径是D:\postgresql.在该目录下的文件夹:src\tools\msvc下有一个config.pl文件,使用Notepad++等编辑工具打开它,使用#号注释掉除开头为perl的所有带有路径的语句,结束后保存。
    进入cmd,进入路径D:\postgresql\src\toos\msvc,运行命令“perl build.pl DEBUG",会编译所有的源代码,它同时也会在D:\postgre\目录下生成Visual Studio 2005的.sln 和 .vcproj文件。注意,这里可能会提示“无法找到vcbuild命令”,说明无法在DOS下使用vcbuild命令编译源码,解决方案是:找到vcbuild在本机上visual studio的路径,将其设置为环境变量,此后,编译结束,生成所需要的.sln,.vcproj文件。
    此后便可以使用visual studio来管理源代码了,安装,调试的部分还有些问题,希望其他的同学给予完善,改正。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2010-07-15 13:05 |只看该作者
首先要先下载一个源码包:http://www.postgresql.org/download/
并且安装vs2005
然后查看postgresqlwindows下的安装文档:http://www.postgresql.org/docs/8.4/interactive/install-win32-full.html
16.1.1 requirments中是否有很多要下载的?那就去那些网站下载吧。我使用的是postgresql-8.4.0,环境的要求为bison 2.4.1,(diff) diffutils 2.8.7, flex 2.5.4a-1, gettext 0.14.4, libxml2-2.7.3.win32, libxslt-1.1.24, zlib-1.2.3, (kerberos)kfw-3-2-2, ActivePerl-5.10.1.1006, iconv-1.9.2, ActiveTcl8.5.7, python-2.4.4(这个版本是必须的,更高级的版本编译会有问题。), Win32OpenSSL-0_9_8k。
然后一个个解压,能安装的安装。并且要解压你的postgresql的源码包,然后进入到你的*\postgresql-8.4.0\src\tools\msvc目录下,更改你的config.pl设置(就是看看那里设置的路径对不对,其中krb5应该是kerberos sdk的路径,而不是可以安装kerberos中bin的路径。),然后创建一个buildenv.pl文件。然后写入一句$ENV{PATH}=$ENV{PATH}.';C:\pg_build_tools\bison-2.4.1-bin\bin;C:\pg_build_tools\diffutils-2.8.7-1-bin\bin;C:\pg_build_tools\flex-2.5.4a-1-bin\bin;C:\pg_build_tools\gettext-0.14.4-bin\bin;C:\pg_build_tools\libxml2-2.7.3.win32\libxml2-2.7.3.win32\bin;C:\pg_build_tools\libxslt-1.1.24.win32\libxslt-1.1.24.win32\bin;C:\pg_build_tools\zlib-1.2.3.win32\zlib-1.2.3.win32\bin';
这里是你的存放的解压路径中bin的目录。然后删除pg源码中*\postgresql-8.4.0\contrib\uuidXXXX以及一个fuzzystrmatch的文件夹。先后在开始菜单中,vs2005中找到Visual Studio 2005 Command Prompt,使用它,并在其中输入build DEBUG(这个是宏,记得大写)。编译中会有libiconv2.dll找不到。编译之后的错误为:Project : error PRJ0019: A tool returned an error code from "Running bison on sr
c\interfaces\ecpg\preproc\preproc.y"。然后去http://sourceforge.net/projects/gnuwin32/files/bison/2.4.1/bison-2.4.1-dep.zip/download这里down一个dep的包然后解压后,把bin路径放到刚才的buildenv.pl中。继续build DEBUG,还是报相同错误。然后将所有的buildenv.pl中所有的路径加入到系统变量path中。重启后,使用pg中的clean.bat,或者删除全部后再次解压源码,删除contrib中的uuid-XXXX和fuzzystrmatch两个文件夹后,继续Build DEBUG.
Success!
Done!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP