中国青基会
RSS
热门关键字:  None  linux+moodle安装  mac  rhel5  199
当前位置 : Nixsky>UNIX>SCO UNIX>列表

详细的SCO下的libxml2安装

来源:www.chinaunix.net 作者: 时间:2007-12-08 点击:

  系统环境 SCO5.0.6

  经过2天的鏖战,终于成功的完成了SCO上libxml2的安装和应用程序的编译,

  SCO上安装libxml2不必安装gcc,只要有gnu make即可,以下列出我安装libxml2

  的详细过程和应用程序的编译。很多人都为SCO上libxml2的安装折腾得要命,

  浪费时间和精力,因此我安装第一遍成功后,又在一个干净的SCO虚拟机上成功

  实现了一次,并记录了每一个步骤,希望以此能减少各位朋友在SCO上安装libxml2

  所浪费的时间和精力.

  非常感谢sunlan、snow888的支持,不然我是无法安装成功的,谢谢!

  本文未经作者同意,不得用于商业用途!

  2 下载并安装gnu make包:

  如果sco没有事先安装gnu make,那么make时会报告格式错。

  这个地址可以下载ftp://ftp.gnu.org/pub/gnu/make/make-3.81.tar.gz)

  下载的文件是:make-3.81.tar.gz

  因为我的sco没有gzip,所以就用windows下的rar进行解压缩,

  解压后的文件夹是 make-3.81

  通过ftp工具,将make-3.81文件夹传到sco的/tmp目录下

  

  以root用户登陆sco

  次序执行以下命令;

  #cd /tmp #进入tmp目录

  #chmod -R 755 make-3.81 #将目录内文件设置可执行权限

  #mkdir make-build #建立安装目录

  #cd make-build #进入安装目录

  #../make-3.81/configure #执行配置文件

  #make #编译后,会生成一个"make"文件在当前目录下

  #make install # make文件会被放到 /usr/local/bin

  #cd /usr/bin

  #mv make make.old #备份原始的make命令

  #cd /bin

  #mv make make.old

  #cp /usr/local/bin/make . #拷贝新的make到bin目录下

  

  3 下载并编译libiconv和libxml2

  3.1 libiconv的安装

  到 ftp.gnu.org/pub/gnu/libiconv/

  下载的libiconv-1.11.tar.tar在windows下解压(我的sco没有gzip)

  然后将目录 ibiconv-1.11 传到sco的/tmp目录中

  

  以root用户登陆sco

  次序执行以下命令;

  #cd /tmp

  #chmod -R 755 ibiconv-1.11

  #mkdir ibiconv-build

  #cd ibiconv-build

  #../libiconv-1.11/configure --enable-static=yes #配置并生成静态库模式

  #make #创建编译环境

  #make install #安装环境

  

  注意,如果编译过程中报告错误如下:

  command line: fatal error: illegal value for -R: /usr/local/lib

  请修改libtool的hardcode_libdir_flag_spec定义:

  #hardcode_libdir_flag_spec="\`test -z \"\$SCOABSPATH\" && echo \${wl}-R,\$libdir\`"

  hardcode_libdir_flag_spec=""

  3.2 libxml2的安装

  到[url=ftp://xmlsoft.org/libxml2/]ftp://xmlsoft.org/libxml2/

  下载的libxml2-2.6.29.tar.gz在windows下解压(我的sco没有gzip)

  然后将目录 libxml2-2.6.29 传到/tmp目录中

  以root用户登陆sco

  次序执行以下命令;

  #cd /tmp

  #chmod -R 755 libxml2-2.6.29

  #cd libxml2-2.6.29

  #vi testModule.c

  在程序开始处增加以下代码:

  #ifndef PATH_MAX

  #ifdef _POSIX_PATH_MAX

  #define PATH_MAX _POSIX_PATH_MAX

  #else

  #define PATH_MAX 255

  #endif

  #endif

  #cd /tmp

  #mkdir libxml-build

  #cd libxml-build

  #../libxml2-2.6.29/configure --with-iconv=/usr/local #配置并生成静态库模式

  #make #编译

  #make install #安装

  4 配置开发环境

  要想编译基于xml得程序,要做以下步骤

  4.1连接库,否则应用程序启动后报告动态连接库不存在

  #cd /usr/lib

  #ln -s /usr/local/lib/libiconv.so.6 libiconv.so.6

  #ln -s /usr/local/lib/libxml2.so.8 libxml2.so.8

  4.2在一普通用户下编写测试程序和xml文档

  test.c文件内容

  #include "libxml/xmlexports.h"

  #include "libxml/parser.h"

  

  main( int argc, char **argv )

  {

  xmlDocPtr doc;

  if( (doc = xmlReadFile( argv[1], NULL, 0)) == NULL )

  {

  printf( "error!\n" );

  exit( -1 );

  }

  printf( "OK!\n" );

  xmlCleanupParser();

  exit( 0 );

  }

  

  test.xml文件内容:

  

  

  

  1.0

  202010000000

  100000000000

  tips

  1102

  20051024092733000440

  20051024092733000440

  20051024

  String

  

  

  4.3编译并执行测试程序

  编写makefile文件:

  makefile文件内容

  # Define System Command

  CC=cc

  

  # Define Compile Flags

  LIBS= -L/usr/local/lib -lxml2 -liconv -lm -lsocket /usr/local/lib/libxml2.a

  INCDIR=-I/usr/local/include/libxml2 -I/usr/local/include

  

  # Define All Objects

  all: test

  

  test:test.o

  $(CC) -o $@ $(INCDIR) $(LIBS) test.o

  

  # Define Complile Rules

  .SUFFIXES:.c

  .c.o:

  $(CC) -c -o $*.o $(INCDIR) $<

  

  编译:

  执行make命令即可,在当前目录下生成test程序。

  执行:

  在当前目录下执行 ./test test.xml 如果显示"OK!"表示编译环境安装成功。

 

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册