爱爽爽

详细的SCO下的libxml2安装

上一篇 / 下一篇  2007-09-30 10:07:27 / 天气: 阴雨 / 心情: 平静 / 个人分类:Linux

系统环境 SCO5.0.6DOIT博客2JYS(??`@sD
经过2天的鏖战,终于成功的完成了SCO上libxml2的安装和应用程序的编译,
2K8HE4b1[0SCO上安装libxml2不必安装gcc,只要有gnu make即可,以下列出我安装libxml2DOIT博客PZ$U;_7?V
的详细过程和应用程序的编译。很多人都为SCO上libxml2的安装折腾得要命,DOIT博客c'C6fO.\
浪费时间和精力,因此我安装第一遍成功后,又在一个干净的SCO虚拟机上成功
#yHZ+|5R6ST0实现了一次,并记录了每一个步骤,希望以此能减少各位朋友在SCO上安装libxml2
9fR Y)d(tG0所浪费的时间和精力.DOIT博客5?Ks(OgP3V*o.b
警告:按此方法安装libxml2后,就无法使用db2 for sco了,原因请看后面的跟贴。DOIT博客;u1YLE1dW3i`4p
本文未经作者同意,不得用于商业用途!联系方式 [email=dawn_chunlind@sina.com]dawn_chunlind@sina.com[/email]
^x0U1?!|e1g0DOIT博客T,V Ks%k6`W7`T
1 SCO补丁包的安装DOIT博客:x1gg&I0A}x*}
    使用SCO开发环境自带的make编译libxml2时会因为对Makefile中的某些
p;U0fE,K].a0    语法无法解析而导致编译失败,因此需要以GNU Make来进行编译。DOIT博客0V-r?X2D#?
    首先下载安装以下文件
D*E@3J z u0    (顺序安装rs506a、os646c、gwxlibs-1.3.1)DOIT博客 ?/VC#K*H;^1B&~w
    下载地址:DOIT博客2],K#kh+O)D#V
        [url=ftp://ftp.sco.com/pub/openserver5/rs506a]ftp://ftp.sco.com/pub/openserver5/rs506aDOIT博客Wv4t3C2u e/^#U5i4g
        [url=ftp://ftp.sco.com/pub/openserver5/os646c]ftp://ftp.sco.com/pub/openserver5/os646c
cN.KLU4\0        [url=ftp://ftp.sco.com/pub/openserver5/opensrc/gwxlibs-1.3.1Ba]ftp://ftp.sco.com/pub/openserver5/opensrc/gwxlibs-1.3.1Ba
PP,g&M1F P1bX5P0    DOIT博客D(J7_$p+~2pXL
    1.1 安装rs506a:
7e \w4_V7\N0        以root用户登陆sco系统
8rS#[`]D q1UXhl6R0        #cd /tmpDOIT博客6w1ff[*Xf
        #mkdir rs506a
L@t"@CuMj/m0        (用ftp工具,将下载的rs506a.tar传递到sco的/tmp/rs506a目录下)DOIT博客FUh"AR
        #cd rs506a              #进入rs506a目录
7W2L,j_1nL0        #tar -xvf rs506a.tar    #解包
'z? y O)OE.n h0        DOIT博客g}:` L_,pJ0I&ur i
        #custom                 #执行安装DOIT博客f)Nc1p?wCH`
          ->Software->Install New..DOIT博客V/Is)Csr
                        ->本地
K+`:?*_ o a'G*L0                        ->media device   [Media Images    ]DOIT博客@EMz4K
                        ->Image Directory[/tmp/rs506a     ]DOIT博客&f,W2Sn,Q)aI_
                        ->Select software to installDOIT博客+a#F4v:Q#K
                          一共4个项目,我们只安装第2、3项,
g|m;F o0                          移动光标,按空格键将要安装项目的前面打上'*'DOIT博客i$ZMyr/}UeC
                          后续过程默认
EDZu,?3T0        #reboot                 #安装后要重启系统DOIT博客XAO6_#{ [
       DOIT博客#Ved~8z _/f*cV
    1.2 安装os646c:DOIT博客F _fd2`4b~d"C
        os646c下载后是个文件夹,直接ftp到sco的tmp目录下,后续安装与rs506a雷同,但不用重启系统
`y6y-K8Q0wMR@0    1.3 安装gwxlibs-1.3.1BaDOIT博客0esi9E[&j
        与os646c的安装类同,不用重启系统
e#iI't2k0        DOIT博客 tC0\*a0T/f
    1.4 修改.profile:DOIT博客WD*}/Ef1ojk
        #vi /.profile
-_uT Q u&RY^g3_7s0            在PATH赋值中,加上"/usr/gnu/bin/msgfmt",如下:
1lT)U)Y.o X0                PATH=/bin:/etc:/usr/bin:/tcb/bin:/usr/gnu/bin/msgfmt
x#W8F_"H _7K8W e0    1.5 重新登陆rootDOIT博客0p'H;x b!xh9V5zq
        DOIT博客$f_-My)o6lv/e,C
DOIT博客_ ` f!l%L v9p qD(t5L
2 下载并安装gnu make包:DOIT博客 d:DR'xe}4N4G
    如果sco没有事先安装gnu make,那么make时会报告格式错。
&k'n-d'HWF%A0    这个地址可以高速下载([url=http://download.enet.com.cn/html/242262000111301.html]http://download.enet.com.cn/html/242262000111301.html)
D7M'Ij bQ:I:w!G0    下载的文件是:make-3.79.1.tar.gzDOIT博客9v N:_6UG`%l
    因为我的sco没有gzip,所以就用windows下的rar进行解压缩,
o'S[:]%e0    解压后的文件夹是 make-3.79.1
w(WOcs"V3cw l,`f^0    通过ftp工具,将make-3.79.1文件夹传到sco的/tmp目录下
3{^f6_*r"M0    DOIT博客2BOg4LC&O
    以root用户登陆scoDOIT博客3ByXL.Q
    次序执行以下命令;
y fD%fC4R eB0        #cd /tmp                        #进入tmp目录
{$gf4z,q,P0        #chmod -R 755 make-3.79.1       #将目录内文件设置可执行权限DOIT博客R&@8edc {
        #mkdir make-build               #建立安装目录
5E&?*H2f1YBqJg0        #cd make-build                  #进入安装目录
z tNYc0        #../make-3.79.1/configure       #执行配置文件
rx+L Kq^0        #make                           #编译后,会生成一个"make"文件在当前目录下DOIT博客/Zi7b&Kc!N&HT M:KJ&K
        #cd /usr/binDOIT博客"|)`4pMp6l
        #mv make make.old               #备份原始的make命令
[tM$t8Q&^*B2{9k0        #cp /tmp/make-build/make .      #拷贝新的make到bin目录下
1Y9UpHoG+yGy9\0    DOIT博客:gtI5lj
3 下载并编译libiconv和libxml2
9Y"oU+Cz c#T[0    3.1 libiconv的安装
v8])K$N MT2I%jb:r0        到 ftp.gnu.org/pub/gnu/libiconv/
Vs7t6|} KZb"Ss!Y0        下载的libiconv-1.11.tar.tar在windows下解压(我的sco没有gzip)DOIT博客0`2o;RM}"JC6] m
        然后将目录 ibiconv-1.11 传到sco的/tmp目录中DOIT博客;t%p]9fRAlb
        DOIT博客 Tgl7Emm&W
        以root用户登陆sco
C.Q$xmn"m5`0        次序执行以下命令;DOIT博客PW(?Q b(f-O$O)|
            #cd /tmpDOIT博客K8c K B wi#o,`3w
            #chmod -R 755 ibiconv-1.11
.V.d$g'G;w[4K0            #mkdir ibiconv-buildDOIT博客4x9hG HL8~~fx
            #cd ibiconv-build 
'M%Z+LBu0            #../libiconv-1.11/configure --enable-static=yes         #配置并生成静态库模式DOIT博客@3G:S }(O*|C3|nkI}
            #make                                                   #创建编译环境
t_5GAQF:_c"{0            #make install                                           #安装环境
^u;`!QC0        
(J4UF5~j G)z-y0    3.2 libxml2的安装DOIT博客vO9d9v8m
            到[url=ftp://xmlsoft.org/libxml2/]ftp://xmlsoft.org/libxml2/
HZ]3Kiz0        下载的libxml2-2.6.29.tar.gz在windows下解压(我的sco没有gzip)DOIT博客Yq8`5q/DoP+@
        然后将目录 libxml2-2.6.29 传到/tmp目录中
n+a'CR;_"HZ0        以root用户登陆sco
8|rGH`Gi }0        次序执行以下命令;
f,zaTpa A2{0            #cd /tmpDOIT博客$j/v&PGO:i?3m
            #chmod -R 755 libxml2-2.6.29
x-L(b)u!yaG5_uV0            #cd libxml2-2.6.29DOIT博客E[4Z ZRk/i]o
            #vi testModule.c
}zN+y ~$KK7T^0                在程序开始处增加以下代码:DOIT博客 eWz*k_kk7|.t+t!s
                    #ifndef PATH_MAX
T6ay+D%z0                    #ifdef _POSIX_PATH_MAXDOIT博客;F:b'K,yJ8N ?.u
                    #define PATH_MAX _POSIX_PATH_MAX
T(Rh C2aF0                    #else
db| h8j$C z0                    #define PATH_MAX 255
sL3@1K&s's0                    #endif
Y7dGq;U C0                    #endifDOIT博客$e i5v+q$zx2f\
            #cd /tmp
Q g&F`.F!u~;}0            #mkdir libxml-build
n:yf B0{Z"^&k0            #cd libxml-build DOIT博客 ZuE,_~-d
            #../libxml2-2.6.29/configure --with-iconv=/usr/local         #配置并生成静态库模式DOIT博客 zp q8g*r'ox.`%?!{
            #make                                                        #编译
2b#tSz8tJ#^7K q0            #make install                                                #安装DOIT博客4rr-?7@BX)I

5}:S `e9N;I]1HI04 配置开发环境DOIT博客/p~yB"[Yla.[+Q${
    要想编译基于xml得程序,要做以下步骤DOIT博客@8Xi`b*w%Z t
    4.1连接库,否则应用程序启动后报告动态连接库不存在
J2a"ha,[#?0        #cd /usr/libDOIT博客Hb7y(A S5]:ul ?
        #ln -s /usr/local/lib/libiconv.so.6 libiconv.so.6DOIT博客j pg.i6j} YQ9S
        #ln -s /usr/local/lib/libxml2.so.8 libxml2.so.8     
z H~RYj$X8y y:w0    4.2在一普通用户下编写测试程序和xml文档
PA)t z!@X*t5I.D0        test.c文件内容DOIT博客I(RVW3yz3X t\
            #include "libxml/xmlexports.h"
+g:Wf#vlw0            #include "libxml/parser.h"DOIT博客1a8jq4y$kgQ m)QE t
            DOIT博客!{F Kid4fw+v!A
            main( int argc, char **argv )
-@-kb2]/KZ0            {DOIT博客!l2R#po0A4uL2D Y
                xmlDocPtr doc;
inE7H6? ^0                if( (doc = xmlReadFile( argv[1], NULL, 0)) == NULL )DOIT博客c*F5b!Q`2|0r
                {DOIT博客B@h-y^!v3h
                    printf( "error!\n" );DOIT博客Bg1Cf&\k;YX w
                    exit( -1 );
oGO w"x v\a0                }DOIT博客eE/\#e |v H c
                printf( "OK!\n" );
W%yp/u'b0                xmlCleanupParser();
*o@ o;ad%|c0                exit( 0 );DOIT博客],r+u4a+t z#Q'^bN"z
            }
J |Kf o:|KT0        DOIT博客,`y.m^;n7V$FY&q
        test.xml文件内容:DOIT博客:H;LP6k8?TP
            <?xml version="1.0" encoding="GBK"?>DOIT博客%k? f^U f+| \
            <CFX>DOIT博客QSQ*B9QDFp
             <HEAD>DOIT博客_fX5sJ
             <VER>1.0</VER>DOIT博客 tWk:X.~#K
             <SRC>202010000000</SRC>DOIT博客9XSLdyS)\ m(a
             <DES>100000000000</DES>DOIT博客uh;J6g/c5PkX
             <APP>tips</APP>
v'O2}B7B@(Hw*e0             <MsgNo>1102</MsgNo>DOIT博客H;YM7|W"q
             <MsgID>20051024092733000440</MsgID>
~` qc5c/y t0             <MsgRef>20051024092733000440</MsgRef>DOIT博客G]-xXD9r,b)w
             <WorkDate>20051024</WorkDate>DOIT博客U7Fhx7r R(m2_8kt/I]
             <Reserve>String</Reserve>DOIT博客c"av$]L9o r_)d
             </HEAD>DOIT博客 lL3ledt D:c8}
            </CFX>DOIT博客"D L'd2htHPkG7w
    4.3编译并执行测试程序DOIT博客&qX.Z0UX-J@k%M B
        编写makefile文件:
HBi!uc5T0            makefile文件内容
i|gmc Fb(h0            # Define System CommandDOIT博客4f&q"@5Sw;S!t
            CC=ccDOIT博客0T jR4|![ x.l,h4h
            DOIT博客 ZR7rz3z`*i
            # Define Compile FlagsDOIT博客w/j.~2W6t
            LIBS=/usr/lib/libz.so -L/usr/local/lib -lxml2 -liconv -lm -lsocket
qFa8If"vl?0            INCDIR=-I/usr/local/include/libxml2 -I/usr/local/include
-M|+c sK]0            
BX;W3r[0Q Pr0            # Define All Objects
? \+R|G'ud0            all: test
a+w6w$a6IW0            
_%GP2u9hm5T-YM0            test:test.oDOIT博客,Z:ue&Js%cH
                    $(CC) -o $@ $(INCDIR) $(LIBS) test.o
G"@SN7q@0            DOIT博客\H3R3R$v S
            # Define Complile RulesDOIT博客?p Ih"|,^|%B|
            .SUFFIXES:.c
DpD:g;VX-h(a&pg%a0            .c.o:
#sw.a E:a P0                    $(CC) -c -o $*.o $(INCDIR) $<
q @(H,Rf7VTW0        DOIT博客!G/TE:sq+Kl2`nkW
        编译:DOIT博客` P,L1r"`-XSC+C
            执行make命令即可,在当前目录下生成test程序。DOIT博客(Fb5fK5w'xn0O0y@n
        执行:
;yI*pF&[\8G G0            在当前目录下执行 ./test test.xml 如果显示"OK!"表示编译环境安装成功。

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-05  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 3475
  • 日志数: 22
  • 图片数: 1
  • 建立时间: 2007-09-13
  • 更新时间: 2007-10-02

RSS订阅

Open Toolbar