Chinaunix

标题: sco 5.06 安装php+apache+informix集大成。 [打印本页]

作者: mill888    时间: 2006-08-28 12:50
标题: sco 5.06 安装php+apache+informix集大成。
sco 5.06 安装php+apache+informix集大成

首先声明,为何叫做集大成?因为是在前人的基础上完成的,我只是把他们的资料都集中起来完成这个安装过程。
对于那些不一定需要sco平台的,可以不看这文章,因为Linux上安装apache和php比这容易多了。
我是因为我的业务系统跟后台主机相连的中间件只有sco平台的,所以只好.........

我的目标:sco 5.06+informix 7.3.1+ClientSdk2.8.1+httpd-2.2.3+php5.1.6

另外,如果是为了学习,最好用vmware上安装虚拟机,安装完后,把安装文件备份一个,免得后面的安装过程失败导致系统无法启动,
这个时候你就知道这个备份的重要性了。

至于vmware上怎么安装sco,我不想多说些什么,因为用比较高版本的vmware,比如我用的是vmware workstatiion 4.5 7174build的,安装sco,就像vmware上安装windows系列那么简单,硬盘也不用设置成SCSI,直接设置成IDE,一路安装下去,绝对没有问题【论坛里经常碰到一些人跪求sco 的vmware安装文件,这下也不用再跪了,自己动手,丰衣足食】。
至于怎么安装sco,那就更不用我说了。


好,让我们开始我们的安装了。

(1)安装sco和informix,请参阅:
http://www.chinaunix.net/bbsjh/4/13316.html,这里面够详细的,而且还教你怎么用裸设备安装informix的数据空间,你是不是还在用文件型准备你的informix数据空间?那么你看了这个文章后,你就上了一个新的台阶了。
我要说的是:为了后面安装php考虑,请把安装esql包换成安装informix-ClientSdk。
下载地址ftp://ftp.boulder.ibm.com/software/data/informix/downloads/clientsdk-281-UC1-SCO.tar.Z
我用的informix 是online 7.31UD6,配这个clientsdk没有什么问题。

(2)为sco 5.06打补丁
安装补丁包rs506a和oss646C,从哪里下载和怎么安装就不用我说了。后面的安装gcc也要先打这两个补丁。
我要说的是:我在安装rs506a的时候,如果把最后面的那个USB的什么东东的,安装后,重新启动机器,结果就启动不进去了,在ctrl-d之前就死了;
还好我有系统的备份,不用重新安装sco。后来就不安装那个USB的东西了。

oSS648C,好像是oss646C的升级版本,不知道是不是更好。

(3)安装Gnu gcc
安装gcc至少到3.X版本,是一切安装成功的基础。
有些人想到直接去gnu网站拉个gcc source回来make,这个想法当然好,可是我从gcc3.0到 gcc4.1都试了,没有一个能够成功的,不知道大家有没有成功的。
我这里的方法可以说是“二级跳”,首先先安装sco 507带的gnu gcc,然后再在这个基础上安装,我安装的是gcc 3.4.3,而且要下载那些core的来安装,如果还是用那些source的,还是不成功。
当然这个方法也不是我原创。
原文参阅http://www.chinaitpower.com/2005September/2005-09-13/194981.html
里面提到的gwxlibs-1.3.2Ag和gnutools-5.0.7Kj可以从
ftp://ftp.sco.com/pub/openserver5/opensrc下载
先安装gwxlibs-1.3.2Ag再安装gnutools-5.0.7Kj,安装完后,其安装目录我记得是/usr/gnu,总之是一个叫做gnu的目录。
这个时候你系统的gnu make 是3.80,gcc是2.95.3版本;gnu make是够用了,可是gcc还是不够哟,
所以还得按照文章里面说的进行第二步安装。
我要说的是一定要用core的,如果还是用souces的,还是安装不成功哟。
另外我要重要说明的是:安装gcc 3.4.3的时候,在用make的时候,一定要带上路径/usr/gnu/bin/make,否则直接make的法,系统用的可是sco自带的make,包括后面的make install也是如此。
make的过程中,我记得会出现什么问题了,好像是一个PATH_MAX问题,可以这样解决:
在报错的那个文件里面如下定义
#ifndef PATH_MAX
#ifdef _POSIX_PATH_MAX
#define PATH_MAX _POSIX_PATH_MAX
#else
#define PATH_MAX 255
#endif
#endif

后面的一些安装也会碰到这个PATH_MAX,也是同样解决。



这个时候你还得做一步:
参阅文章:http://www.nixsky.com/data/2006/0627/article_225.html,
文章前面的7步不用再看了,主要是第8步一定要做哟。

安装完后,你的Gcc就变成3.4.3的了,够用了,你也已经成功一半了。

这个时候你还得注意设置环境变量PATH,要让环境能自动找到这个3.4.3的gcc,而不是gnutools带的gcc2.95.3。
可以用gcc -v查看是不是3.4.3。

(4)安装libxml2
参阅文件http://www.chinaunix.net/jh/7/692253.html
安装完后,增加环境变量PATH路径到libxml的lib所在目录。

(5)安装httpd-2.2.3
我要把apache装成DSO的模式,如果你要把她装成static模式,可以参阅INSTALL文件。
主要是./configure带的参数问题:
如果你简单的./configure 的法,后面的make就会出现一些问题,所以我的做法是enable了一些东西来禁止了一些东西【就说打开这个开关,其他的开关自动就关闭了】,因为我用不到这些功能。
我的configure如下:


  1. ./configure --prefix=/usr/local/apache \
  2. --enable-file-cache \
  3. --enable-echo \
  4. --disable-charset-lite \
  5. --enable-charset-lite \
  6. --enable-cache \
  7. --enable-disk-cache \
  8. --enable-example \
  9. --enable-case-filter \
  10. --enable-case-filter-in \
  11. --enable-ext-filter \
  12. --enable-dumpio \
  13. --enable-ext-filter \
  14. --enable-deflate \
  15. --enable-log-forensic \
  16. --enable-logio \
  17. --enable-mime-magic \
  18. --enable-headers \
  19. --enable-proxy \
  20. --enable-proxy-connect \
  21. --enable-proxy-ftp \
  22. --enable-proxy-http \
  23. --enable-optional-hook-export \
  24. --enable-optional-hook-import \
  25. --enable-optional-fn-import \
  26. --enable-http \
  27. --enable-cgi \
  28. --enable-cgid \
  29. --enable-speling \
  30. --enable-rewrite \
  31. --enable-so \
  32. --with-suexec-uidmin \
  33. --with-suexec-gidmin \
  34. --with-suexec-logfile \
  35. --with-suexec-safepath \
  36. --enable-static-htpasswd \
  37. --enable-static-htdigest \
  38. --enable-static-rotatelogs \
  39. --enable-static-ab \
  40. --enable-static-logresolve \
  41. --enable-static-htdbm \
  42. --enable-static-checkgid
复制代码


后面的那些--enable-static就是为了禁止掉一些功能,否则老是make不过去,就比如如果没有--enable-static-htpasswd,则make的时候就出现htpasswd无法编译过去的问题。
我的这个configure不能满足所有人的要求,大家可以自己配置,make的时候可能也会出现
一些新问题,大家可以到google查阅,一般都能解决问题。

然后是make,同样的也是要/usr/gnu/bin/make。

make的过程中可能也会出现一个问题,查阅http://www.chinaunix.net/jh/7/699715.html
vi srclib/apr/include/arch/unix/apr_private.h
找到包含HAVE_GETADDRINFO的一行,删除,存盘退出,开始编译。


然后/usr/gnu/bin/make install,这个时候就出现一个问题,man无法安装,还好这个 man无关紧要,
你可以修改Makefile里面的INSTALL_TARGETS这个变量,把最后一个install-man去掉,这样就不会安装man了,我也找不出为什么会这样,只能用这个土办法解决了。但是安装apache1.3.X的,就没有这个问题了。

然后设置conf/httpd.conf,你可以更改user 和group的设置,sco一般用nouser,nogroup;
还有就是端口的问题,如果你还想用80端口,那么你还得做一个“禁用fasttrack”的问题;
fasttrack就是sco5.06自己安装的http服务了,要想禁用掉它,可以
先执行/etc/scohttp disable,
然后删除/etc/rc2.d下的三个文件:

-rwxr--r--   1 root     sys         1255 Jul  8 19:54 S90atlas@
-rwxr-xr-x   1 bin      bin         1017 Jul  8 20:10 S90fasttrack@
-rwxr-xr-x   2 bin      bin         4486 Jul  8 19:54 S91manahttp

然后重新启动机器,这个时候fasttrack就没有起来了。
你就可以把apache设置成80端口了,启动apache
apachectl -k start,出现问题

./apachectl: bad option(s)
./apachectl: bad option(s)

可以通过修改apachectl里面的第一行:#!/bin/sh为#!/bin/ksh。
为什么要这样,我也不清楚。

好,现在的 apache可以启动了,执行apachectl -k start,然后访问一下,是不是得到一个页面说“it works”??

(6)安装PHP
我要安装的是PHP-5.1.6
一般不会出现什么问题,这要是这是环境变量和设置configure参数的问题。
首先重要的环境变量:
大家看看我的设置:

  1. INFORMIXDIR=/usr/informix
  2. LD_LIBRARY_PATH=/usr/informix/lib:/usr/informix/lib/esql:/usr/informix/lib/cli:/usr/local/lib:/usr/lib
  3. export INFORMIXDIR LD_LIBRARY_PATH

  4. SQLEXEC=$INFORMIXDIR/lib/sqlexec ; export SQLEXEC
  5. TERMCAP=$INFORMIXDIR/etc/termcap ; export TERMCAP
  6. INFORMIXTERM=terminfo ; export INFORMIXTERM
  7. INFORMIXSERVER=online;export INFORMIXSERVER
  8. PATH=$PATH:$INFORMIXDIR/bin:/usr/netbank/easynet/bin
  9. export PATH

复制代码


其中最重要的是LD_LIBRARY_PATH的设置,主要是设置一些informix库的路径,根据你们自己的配置修改。

第二、configure参数问题;
先看看我的设置:

  1. ./configure \
  2. --with-apxs2=/usr/local/apache/bin/apxs \
  3. --with-apxs2-filter=/usr/local/apache/bin/apxs \
  4. --with-apxs2handler=/usr/local/apache/bin/apxs \
  5. --with-apache2=/usr/local/apache \
  6. --without-mysql \
  7. --without-sqlite \
  8. --with-informix=/usr/informix \
  9. --with-zlib-dir=/usr/lib \
  10. --with-zlib \
  11. --with-gnu-ld \
  12. --enable-discard-path \
  13. --disable-force-cgi-redirect \
  14. --enable-shared \
  15. --disable-static \
  16. --disable-debug \
  17. --disable-rpath \
  18. --disable-hash \
  19. --enable-pic \
  20. --enable-inline-optimization \
  21. --enable-memory-limit \
  22. --enable-magic-quotes \
  23. --enable-debugger \
  24. --enable-track-vars \
  25. --enable-libgcc \
  26. --with-versioning \
  27. --with-mod_charset \
  28. --with-regex=php \
  29. --with-pear \
  30. --with-xml \
  31. --with-libxml-dir=/usr/local/lib \
  32. --with-xsl=/usr/local/lib \
  33. --enable-track-vars \
  34. --enable-trans-sid \
  35. --enable-safe-mode \
  36. --enable-ctype \
  37. --enable-ftp \
  38. --enable-posix \
  39. --enable-session \
  40. --enable-sysvsem \
  41. --enable-sysvshm \
  42. --enable-yp \
  43. --enable-pdo \
  44. --without-kerberos \
  45. --prefix=/usr/local/bin
复制代码


这样设置安装成功后,执行php -m得到的模块列表是:
[PHP Modules]
ctype
date
dom
ftp
iconv
informix
libxml
pcre
PDO
posix
Reflection
session
SimpleXML
SPL
standard
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
zlib

[Zend Modules]

感觉好像没有zend的支持,但是我在后面用zend api写的php扩展库都没有什么问题。
这里要说的重点是:--enable-libgcc 这个一定要加上。
make同样也是/usr/gnu/bin/make,好像也会有PATH_MAX的问题,一个样的解决。
另外,我记得好像我安装的似乎后也出现一个libsocket.so的问题,说是libsocket.so.1与libsocket.so.2里定义的一个变量_res,
一个是512,一个是496什么的,可以先查看/usr/lib/下面这两个库,它们都是些链接文件,把它们都连接到同
一个文件就可以了。



上面的安装过程只是我的环境下的过程,在你们的环境下可能还会出现一些问题,最好的办法就是google。
整个过程其实最重要的就是gcc的问题。其他的都是比较容易解决。

gnu gcc,httpd,php, libxml2都可以从各自的官方网下载。

这样就安装完成了,php也支持informix了;当然你还可以再装一个pdo_informix扩展库,用ibm提供的这个Pdo_informix驱动连接informix更简单,更方便,当然php 在configure的时候别忘记--enable-pdo。
pdo_informix可以从ibm官网上下载。

[ 本帖最后由 mill888 于 2006-8-28 12:57 编辑 ]
作者: lw371    时间: 2006-08-28 15:49
好贴留名,
不过有一点要更正,oss648和oss646c是不同的,
oss646c是执行环境补丁,乃oss646b的升级,用于兼容GNU标准代码
oss648c是smp多cpu补丁
作者: snow888    时间: 2006-08-28 16:22
这个帖子和我做成功的差不多了。

但有如下两个方面需要注意:

一、我的 php 的configure 中不能带 with-yp 否则,安装没有成功(即出现 apache start 起来没有错误提示,但实际上 apache 服务并没有起来)。

二、安装 gcc 3.4.3  的时候,需要增加的一个 define 定义是:

#define PATH_MAX_LEN 255    ( 需要说明的是,我定义的是 1024 )

其他的好象没有什么了。
作者: snow888    时间: 2006-08-28 17:10
再补充一点:

好象是编译 gcc 的时候,会出现 yacc 的版本过底,词法效验通不过的问题,解决的办法是在运行 configure ,编译配置之前,指明 YACC ;
即:
YACC=/usr/gnu/bin/yacc;export YACC
作者: mill888    时间: 2006-08-28 17:23
原帖由 snow888 于 2006-8-28 17:10 发表
再补充一点:

好象是编译 gcc 的时候,会出现 yacc 的版本过底,词法效验通不过的问题,解决的办法是在运行 configure ,编译配置之前,指明 YACC ;
即:
YACC=/usr/gnu/bin/yacc;export YACC

大侠你还没说你是怎么搞定zend的??
我的装完后,phpinfo得到的页面是有提示一个zend 2大图标,是不是zend已经成功了,而且我想也应当是成功了,因为我后来用zend api开发的php扩展库里面调用zend api的一些函数,都没有什么问题,比如zend_prinf。
但是奇怪的是php -m里面关于zend的,除了有一行[Zend Modules]外,其他就没有关于zend了。
作者: snow888    时间: 2006-08-28 19:10
原帖由 mill888 于 2006-8-28 17:23 发表

大侠你还没说你是怎么搞定zend的??
我的装完后,phpinfo得到的页面是有提示一个zend 2大图标,是不是zend已经成功了,而且我想也应当是成功了,因为我后来用zend api开发的php扩展库里面调用zend api的一些函 ...


有一段时间了,记得不是很清晰了。

好像在编译 php 之前要先安装 fsupthreads 的几个包,这几个包都可以到 sco 的官方网站上下载。

另,在运行 configure 时通过 --help 参数察看,好像是里面有 zend 的开关。

还想求助大虾一点,能否公布你的 clientsdk-281-UC1-SCO.tar.Z 的序列号。
作者: snow888    时间: 2006-08-28 19:16
另:
能不能提供你的 apache、php 包等的下载地址。

我编译的版本比你的稍低。

谢谢先!
作者: mill888    时间: 2006-08-28 19:37
原帖由 snow888 于 2006-8-28 19:16 发表
另:
能不能提供你的 apache、php 包等的下载地址。

我编译的版本比你的稍低。

谢谢先!


http://httpd.apache.org/
http://www.php.net/

真正的官方正版软件,
作者: mill888    时间: 2006-08-28 19:39
原帖由 snow888 于 2006-8-28 19:10 发表


有一段时间了,记得不是很清晰了。

好像在编译 php 之前要先安装 fsupthreads 的几个包,这几个包都可以到 sco 的官方网站上下载。

另,在运行 configure 时通过 --help 参数察看,好像是里面有 zend 的 ...


clientsdk-281-UC1-SCO.tar.Z 不用系列号的啊。
作者: snow888    时间: 2006-08-31 21:30
再次请教楼主两个问题:

一、在我的印象中,gcc 编译安装后,原来的 gcc 2.9.5.3 必须予以删除,否则没有办法使用新的 gcc 3.4.3 ,而删除 gcc 2.9.5.3 后,gmake 等工具也就一并删除了,这个问题楼主是如何处理的。

二、我原来编译的是  apache 2.0.50 版本,没有遇到 htpasswd 编译时出现的 __h_errno ,但在新的 apache 2.2.3 的版本编译的时候,这个问题出现了,而且按照 sunlan 老大的方法也避免不了,不知道楼主是如何解决这个问题的。

三、我查了 configure --help 的提示,楼主配置的参数 -enable-static 是把紧随其后的相应模块编译成静态方式,而不是动态。

我的 gcc 编译器是 3.2.1 的版本,gmake 3.7.8.1 ,gawk 3.0.3,bison 1.25。
作者: mill888    时间: 2006-09-02 23:27
原帖由 snow888 于 2006-8-31 21:30 发表
再次请教楼主两个问题:

一、在我的印象中,gcc 编译安装后,原来的 gcc 2.9.5.3 必须予以删除,否则没有办法使用新的 gcc 3.4.3 ,而删除 gcc 2.9.5.3 后,gmake 等工具也就一并删除了,这个问题楼主是如何处理 ...


htpasswd问题通过
enable-static-htpasswd

gcc的问题:关键要设置环境变量的PATH,让系统自动找到的是gcc 3.4.3,你可以直接在命令行下执行gcc -v,查看找到的是那个版本的,或者用which gcc,看结果是不是gcc 3.4.3所在的目录。

如果你所有的configure跟我一样,那安装不会有什么问题的,如果configure 跟我不一样,可能会出现新的问题,最好查看google.com,查看英文的网站。
作者: snow888    时间: 2006-09-02 23:38
原帖由 mill888 于 2006-9-2 23:27 发表


htpasswd问题通过
enable-static-htpasswd

gcc的问题:关键要设置环境变量的PATH,让系统自动找到的是gcc 3.4.3,你可以直接在命令行下执行gcc -v,查看找到的是那个版本的,或者用which gcc,看结果是不 ...


楼上的兄弟,我的 configure 参数和你的完全一样,所不同的可能是编译的环境。但不管我是否使用 enable-static-htpasswd 参数,编译时均在此失败。

我的 gcc 版本是 3.2.1 ,我编译 gcc 一直没有取得成功。

我想知道的是,你的机器上都安装了一些什么包,和我的环境是否完全一致。
作者: bird918    时间: 2006-09-03 09:51
LZ大哥,我没有informix 7.3.1,能不能传一个给我啊?!
作者: winamp    时间: 2006-09-05 13:25
好帖子,我很久以前想在 unixware711上做的,没有成功,后来就在linux上做了.
现在看到楼主的帖子.觉得很好,支持一下!
作者: mill888    时间: 2006-09-06 08:32
原帖由 snow888 于 2006-9-2 23:38 发表


楼上的兄弟,我的 configure 参数和你的完全一样,所不同的可能是编译的环境。但不管我是否使用 enable-static-htpasswd 参数,编译时均在此失败。

我的 gcc 版本是 3.2.1 ,我编译 gcc 一直没有取得成功。 ...


估计是gcc版本不够,gcc版本到3.3后会有很大的不同,所以建议你升级到3.3后的版本。
我用的是3.4.3,gcc -v得到的结果如下:
gcc -v
Reading specs from /var/opt/K/SCO/Unix/5.0.6Ga/usr/local/gcc343/bin/../lib/gcc/i
386-pc-sco3.2v5.0.6/3.4.3/specs
Configured with: ../src/gcc-3.4.3/configure --prefix=/usr/local/gcc343 --with-gnu-as
Thread model: single
gcc version 3.4.3

按照我文章说的安装gcc版本,你一定要下载那个core的版本来装;core也是个源码包,可能跟source包更简化一些。
如果还是souce版本的,安装gcc是不会成功的。
还有我的sco 是 5.06的。

如果你是用core安装的,难道你安装过程出现什么错误?把错误贴出来看看。

还有我系统上装的其他软件,在我的文章里面都提到了,可能还缺少了个libxml的安装,我装的是libxml2.6.19。

还有重要的是环境变量的设置,特别是PATH的设置。

安装gcc,我想不用我说,新建一个目录,如gccobj,cd gccobj, 然后在"gcc源码路径/configure ",查看我贴的文章里面的介绍。

我安装gcc的过程都很正常,只是之前不知道要用这个core的版本,从3.1到4.3的gcc-source我都一个个试过了,没有一个行的,后来看了那个文章,才一步搞定。

[ 本帖最后由 mill888 于 2006-9-6 08:39 编辑 ]
作者: snow888    时间: 2006-09-06 08:55
原帖由 mill888 于 2006-9-6 08:32 发表


估计是gcc版本不够,gcc版本到3.3后会有很大的不同,所以建议你升级到3.3后的版本。
我用的是3.4.3,gcc -v得到的结果如下:
gcc -v
Reading specs from /var/opt/K/SCO/Unix/5.0.6Ga/usr/local/gcc343/bi ...


感谢楼上的 mill888 兄弟。

我已经搞定了!

我使用的是 4.0.2 的 gcc 版本,完整包。如果不是误操作造成系统崩溃,我会把编译的这个软件包贡献出来给大家。(需要说明的是,前面我一直编译不成功的原因是安装了 开发包的拓展部分,如果安装了这个拓展包,会在编译 gcc 的过程中产生库涵数冲突)。

其他的部分也一切正常了。

另:编译完成后需要将:
/usr/local/lib/libiconv.so.5.3.0 连接到 /usr/lib/libiconv.so.2
/usr/local/lib/libxml2.so.8 连接到 /usr/lib/libxml2.so.8

否则 apachectl 将无法启动(提示找不到这两个动态连接库).
作者: mill888    时间: 2006-09-06 09:24
原帖由 snow888 于 2006-9-6 08:55 发表


感谢楼上的 mill888 兄弟。

我已经搞定了!

我使用的是 4.0.2 的 gcc 版本,完整包。如果不是误操作造成系统崩溃,我会把编译的这个软件包贡献出来给大家。(需要说明的是,前面我一直编译不成功的原因 ...



恭喜,恭喜。
我要请问两个问题:
(1)怎么编译gcc的完整包成功?我试了多次,都不行,只能用core的。
(2)我在文章里面也是提到了一个问题,就是关于os646C的问题,装了os646C后,不管configure哪个软件,出现:
checking host system type... i386-pc-sco3.2v5.0.6
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... no
configure: error: installation or configuration problem: C compiler cannot creat
e executables.

好像是你也提到了的:无法生成可执行....

不知道你怎么解决的。
(3)你说的开发系统的扩展包,是指的哪个??

还有既然你能用编译成功gcc的完整包,何不把你的安装过程贴出来让大家共赏一下,你的方法说不定更好、更健康。

[ 本帖最后由 mill888 于 2006-9-6 10:03 编辑 ]
作者: snow888    时间: 2006-09-07 22:44
原帖由 mill888 于 2006-9-6 09:24 发表
恭喜,恭喜。
我要请问两个问题:
(1)怎么编译gcc的完整包成功?我试了多次,都不行,只能用core的。
(2)我在文章里面也是提到了一个问题,就是关于os646C的问题,装了os646C后,不管configure哪个软件,出现:
checking host system type... i386-pc-sco3.2v5.0.6
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... no
configure: error: installation or configuration problem: C compiler cannot creat
e executables.

好像是你也提到了的:无法生成可执行....

不知道你怎么解决的。
(3)你说的开发系统的扩展包,是指的哪个??

还有既然你能用编译成功gcc的完整包,何不把你的安装过程贴出来让大家共赏一下,你的方法说不定更好、更健康。


兄弟,你的这三个问题,我依次做如下回答:

一、我确实成功编译了 gcc 4.0.2 的完整包,准确的说是 gnu development tools 4.0.2 。其中包括 c、c++、ada 、fotran、java 等开发语言包,同时由于这些个版本的 gcc 包里面均不包括 gmake 、yacc、gwak、sed、flex 等工具,我又将这些软件包一同编译进了gcc的软件包,使之可以独立使用而不再需要安装 gmake 等工具。但 gdb 我没有安装成功。

二、编译过程中主要是部分程序代码有问题,需要修改。另:也有 configure 配置文件的错误,反正是边修改边编译,最后搞定的。模糊记得好像有几个 .cc 的文件缺少 "}" , math.h 文件中缺少 #endif , cstring 中的几个内联函数("inline" 部分的)重复定义,予以封掉。还有就是在编译的时候出现找不到头文件的现象,其实那些头文件都是存在的,直接把他们拷贝到相应的编译目录下,然后再次 gmake bootstrap 就可以了。

三、关于 os646c Gnu 支持包的问题,我确实遇到过,出现的问题是在本机上可以运行,不需要删除 os646c ,但如果转移到新的机器上,则需要卸载 os646c 的软件包,但卸载该软件包后,gmake 等变得不可用,这也是我自己重新编译 gmake 等工具包为静态模式的主要原因。

四、那个拓展的开发工具包,你在安装 osr 5.0.6 的时候使用custom 安装可以看到。在包里面有两个包含 development 字符的软件包,其中前面的是基本集,后面的是拓展包。我在安装拓展包后编译 gcc 的时候出现了很多头文件中函数定义冲突(可能是我的水平不够吧,一直没有找到原因)。

[ 本帖最后由 snow888 于 2006-9-7 22:46 编辑 ]
作者: mill888    时间: 2006-09-08 08:10
原帖由 snow888 于 2006-9-7 22:44 发表


兄弟,你的这三个问题,我依次做如下回答:

一、我确实成功编译了 gcc 4.0.2 的完整包,准确的说是 gnu development tools 4.0.2 。其中包括 c、c++、ada 、fotran、java 等开发语言包,同时由于这些个版本 ...




你说的拓展包是:SCO OpenServer Linker and Application Development Libraries这个吗?
custom里面有development的就如下两个:
SCO OpenServer Development System
SCO OpenServer Linker and Application Development Libraries???
作者: snow888    时间: 2006-09-08 08:31
原帖由 mill888 于 2006-9-8 08:10 发表




你说的拓展包是:SCO OpenServer Linker and Application Development Libraries这个吗?
custom里面有development的就如下两个:
SCO OpenServer Development System
SCO OpenServer Linker and Appl ...


对,正是这个!

不过,我编译成功的 gcc 4.0.2 也有一个问题,那就是不能脱离前面的编译环境来运行.具体说就是在你的系统上还必须要安装 rs506a、oss646c、gnutools 5.0.7Kj 这三个软件包,目前这个原因是什么我还没有找到。
作者: snow888    时间: 2006-09-08 09:06
问题已经找到。

我目前编译的完整包是 gcc 3.4.6 ,已经可以脱离 gnu development tools 5.0.7Kj 来运行了。

如果需要,请提供一个 ftp .


不过,我编译 gdb 没有成功。

[ 本帖最后由 snow888 于 2006-9-8 09:08 编辑 ]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2