免费注册 查看新帖 |

Chinaunix

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

[SCO UNIX] sco5下编译apache2和subversion [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-13 13:33 |只看该作者 |倒序浏览
  Subversion是一个免费的、开放源码的版本控制系统。但是没有在openserver下的二进制包。本文介绍如何在openserver下编译apache和Subversion,仅限于编译,配置方面我也不是很熟悉,可以参考http://www.subversion.org或是http://www.subversion.org.cn
   
环境:sco openserver 5.06, 已装好开发系统,
 安装补丁RS506A,OSS651B(可不装), OSS646C(必须装,因为装gcc必须得装)
 以上补丁可以在ftp://ftp.sco.com/pub/openserver5 中找到
   
所需要用到的工具:
 gwxlibs-1.3.1Ba,这是装gcc必要的,下载地址:ftp://ftp.sco.com/pub/openserver5/opensrc/gwxlibs-1.3.1Ba/
 gcc, 在ftp://ftp.sco.com/pub/openserver5/opensrc/gnutools-5.0.7Kj/ 去下载
 bzip2、unzip,gzip, 解压工具, 可以在ftp://ftp2.sco.com/pub/skunkware/osr5/vols下载
               
环境变量:请把/usr/gnu/bin添加到PATH变量中,因为gcc就是装在这里的,请先用gcc编译一个程序试下,看gcc是否工作正常,如果正常的话,就进行下一步的工作


1、编译Berkeley DB
 在http://www.sleepycat.com/ 网站下载db-4.4.20.tar.gz,上传到/tmp目录下
  cd /tmp
  gunzip -d db-4.4.20.tar.gz
  tar xf db-4.4.20.tar
  cd db-4.4.20/build_unix
  ../dist/configure --prefix=/usr/local  --disable-largefile
  make
  make install

2、编译Apache 2.0
 Apache 2.0引入了Apache Portable Runtime (APR)组件, Subversion也建立在这一可移植层上,apache2和subversion也是因为这个东西而无法直接编译,必须要修改,
 从www.apache.org下载httpd-2.0.55.tar.bz2, 传到/tmp
  cd /tmp
  bunzip2 httpd-2.0.55.tar.bz2
  tar xf httpd-2.0.55.tar
  cd httpd-2.0.55
  ./configure --prefix=/usr/local --enable-dav --enable-so --disable-nls  --disable-ipv6
 此时要修改一个文件,否则无法编译
  vi srclib/apr/include/arch/unix/apr_private.h
 找到包含HAVE_GETADDRINFO的一行,删除,存盘退出,开始编译
  gmake
  gmake install

 修改apachectl文件
  vi /usr/local/bin/apachectl
 将第一行#!/bin/sh改为#!/bin/ksh

 修改httpd.conf
  vi /usr/local/conf/httpd.conf
 将User nobody改为User nouser
 将Group #-1改为Group nogroup

3、编译subversion
   从www.subversion.org下载subversion-1.3.0,传到/tmp
  cd /tmp
  bzip2 -d subversion-1.3.0.tar.bz2
  tar xvf subversion-1.3.0.tar
  cd subversion-1.3.0
 修改一个文件,要不然无法编译
  vi neon/configure
   在第26448行之后插入一行
  ne_enable_gai=no
 存盘退出,进行编译
  ./configure --prefix=/usr/local  --with-apxs=/usr/local/bin/apxs  --disable-nls --with-apr=/usr/local --with-apr-util=/usr/local
  gmake
  gmake install

论坛徽章:
0
2 [报告]
发表于 2006-02-25 23:01 |只看该作者
我用你的办法编译subversion,但在生成svn的时候报错了:
Undefined                       first referenced
symbol                             in file
__h_errno                           /usr/sunlan/subversion-1.3.0/apr/.libs/libapr-0.so
.libs/svn: fatal error: Symbol referencing errors. No output written to .libs/svn
collect2: ld returned 1 exit status
make: *** [subversion/clients/cmdline/svn] Error 1

论坛徽章:
0
3 [报告]
发表于 2006-02-26 11:10 |只看该作者
我编译的时没有用到MOD_DAV,也没有用Berkeley DB,用文件方式。
编译及编译安装可能会出现的问题及解决的办法:
1.iconv_open cannot open conversion file /usr/lib/nls/conv/UTF-8_ISO8859-1
编辑:apr-util/include/private/apu_config.h and apr-util/include/apu.h ,将
HAVE_ICONV
APU_HAVE_APR_ICONV
APU_HAVE_ICONV
都注释掉。

2.apr/network_io/unix/sockaddr.c:518: `h_errno'
undeclared (first use in this function)
在sockaddr.c 文件前面加上 "extern int h_errno;"

我是在5.0.5下面编译运行的,运行时还出现dynamic linking error:
要安装补丁包oss499a

编译环境:GCC 2.9.5 subversion是2.1.3的

[ 本帖最后由 rrwater 于 2006-2-26 11:12 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2006-03-07 16:46 |只看该作者
原帖由 rrwater 于 2006-2-26 11:10 发表
我编译的时没有用到MOD_DAV,也没有用Berkeley DB,用文件方式。
编译及编译安装可能会出现的问题及解决的办法:
1.iconv_open cannot open conversion file /usr/lib/nls/conv/UTF-8_ISO8859-1
编辑:apr-util/include/private/apu_config.h and apr-util/include/apu.h ,将
HAVE_ICONV
APU_HAVE_APR_ICONV
APU_HAVE_ICONV
都注释掉。


我的解决办法是在configure时加上以下参数
CFLAGS=-Iyour/libiconvdir/include LDFLAGS="-Lyour/libiconvdir/lib -liconv"
用GNU libiconv替换SCO自带的iconv函数。
其中your/libiconvdir指的是libiconv的头文件及函数库的安装目录。libiconv要预先编译好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP