Masashi Shimbo wrote:

 > [...]
> I'd like to know if you have libxml_so.so in
> /opt/ruby-1.8.4/lib/ruby/gems/1.8/gems/libxml-ruby-0.3.8/ext/xml/
> at this point (i.e., after 'gem install libxml-ruby').
> 
> In my Ubuntu system, the original gem erases that shared library file
> after 'make clean'.  

    Here's a transcript of the "plain" gem installation.  Once
    again I apologize for the length of this message!


$ sudo gem uninstall libxml-ruby
Password:
Successfully uninstalled libxml-ruby version 0.3.8
$ sudo gem install libxml-ruby
Need to update 1 gems from http://gems.rubyforge.org
.
complete
Building native extensions.  This could take a while...
Makefile:116: warning: overriding commands for target 
`/opt/ruby-1.8.4/lib/ruby/gems/1.8/gems/libxml-ruby-0.3.8/ext/xml'
Makefile:114: warning: ignoring old commands for target 
`/opt/ruby-1.8.4/lib/ruby/gems/1.8/gems/libxml-ruby-0.3.8/ext/xml'
Makefile:116: warning: overriding commands for target 
`/opt/ruby-1.8.4/lib/ruby/gems/1.8/gems/libxml-ruby-0.3.8/ext/xml'
Makefile:114: warning: ignoring old commands for target 
`/opt/ruby-1.8.4/lib/ruby/gems/1.8/gems/libxml-ruby-0.3.8/ext/xml'
Makefile:116: warning: overriding commands for target 
`/opt/ruby-1.8.4/lib/ruby/gems/1.8/gems/libxml-ruby-0.3.8/ext/xml'
Makefile:114: warning: ignoring old commands for target 
`/opt/ruby-1.8.4/lib/ruby/gems/1.8/gems/libxml-ruby-0.3.8/ext/xml'
ruby extconf.rb install libxml-ruby
checking for socket() in -lsocket... no
checking for gethostbyname() in -lnsl... yes
checking for atan() in -lm... no
checking for atan() in -lm... yes
checking for inflate() in -lz... yes
checking for iconv_open() in -liconv... no
checking for iconv_open() in -lc... yes
checking for xmlParseDoc() in -lxml2... yes
checking for libxml/xmlversion.h... no
checking for libxml/xmlversion.h... yes
checking for xmlDocFormatDump() in -lxml2... yes
checking for docbCreateFileParserCtxt()... yes
creating extconf.h
creating Makefile

make
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_parser_context.cgcc -fPIC 
-g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_sax_parser.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_xpath.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_schema.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_ns.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_document.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_attr.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_xpath_context.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c cbg.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_node.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_dtd.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_node_set.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_parser.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_tree.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c libxml.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_attribute.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_xpointer_context.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_input_cbg.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_xinclude.c
gcc -fPIC -g -O2 -Wall -I. -I/usr/include/libxml2  -I. 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux 
-I/opt/ruby-1.8.4/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H 
-DHAVE_DOCBCREATEFILEPARSERCTXT  -c ruby_xml_xpointer.c
gcc -shared -rdynamic -Wl,-export-dynamic   -L'/opt/ruby-1.8.4/lib' 
-Wl,-R'/opt/ruby-1.8.4/lib' -L'/opt/ruby-1.8.4/lib' 
-Wl,-R'/opt/ruby-1.8.4/lib' -o libxml_so.so ruby_xml_parser_context.o 
ruby_xml_sax_parser.o ruby_xml_xpath.o ruby_xml_schema.o ruby_xml_ns.o 
ruby_xml_document.o ruby_xml_attr.o ruby_xml_xpath_context.o cbg.o 
ruby_xml_node.o ruby_xml_dtd.o ruby_xml_node_set.o ruby_xml_parser.o 
ruby_xml_tree.o libxml.o ruby_xml_attribute.o 
ruby_xml_xpointer_context.o ruby_xml_input_cbg.o ruby_xml_xinclude.o 
ruby_xml_xpointer.o  -lxml2 -lxml2 -lc -lz -lm -lnsl  -ldl -lcrypt -lm   -lc

make install
make: Nothing to be done for `install'.

make clean
Successfully installed libxml-ruby-0.3.8
Installing ri documentation for libxml-ruby-0.3.8...

Enclosing class/module 'mXML' for class Attribute not known

No definition for input_callbacks_register_input_callbacks

No definition for input_callbacks_add_scheme

No definition for input_callbacks_remove_scheme

Enclosing class/module 'mXML' for class Attribute not known

No definition for input_callbacks_register_input_callbacks

No definition for input_callbacks_add_scheme

No definition for input_callbacks_remove_scheme
Installing RDoc documentation for libxml-ruby-0.3.8...

Enclosing class/module 'mXML' for class Attribute not known

No definition for input_callbacks_register_input_callbacks

No definition for input_callbacks_add_scheme

No definition for input_callbacks_remove_scheme

Enclosing class/module 'mXML' for class Attribute not known

No definition for input_callbacks_register_input_callbacks

No definition for input_callbacks_add_scheme

No definition for input_callbacks_remove_scheme
$

-------------------------- Now check for .so ----------------

$ ls /opt/ruby-1.8.4/lib/ruby/gems/1.8/gems/libxml-ruby-0.3.8/ext/xml/
./               ruby_xml_attr.h       ruby_xml_node_set.h 
ruby_xml_tree.h
../              ruby_xml_attribute.c  ruby_xml_ns.c 
ruby_xml_xinclude.c
cbg.c            ruby_xml_attribute.h  ruby_xml_ns.h 
ruby_xml_xinclude.h
extconf.h        ruby_xml_document.c   ruby_xml_parser.c 
ruby_xml_xpath.c
extconf.rb       ruby_xml_document.h   ruby_xml_parser_context.c 
ruby_xml_xpath_context.c
gem_make.out     ruby_xml_dtd.c        ruby_xml_parser_context.h 
ruby_xml_xpath_context.h
libxml.c         ruby_xml_dtd.h        ruby_xml_parser.h 
ruby_xml_xpath.h
libxml.h         ruby_xml_input_cbg.c  ruby_xml_sax_parser.c 
ruby_xml_xpointer.c
libxml.rb        ruby_xml_input_cbg.h  ruby_xml_sax_parser.h 
ruby_xml_xpointer_context.c
Makefile         ruby_xml_node.c       ruby_xml_schema.c 
ruby_xml_xpointer_context.h
mkmf.log         ruby_xml_node.h       ruby_xml_schema.h 
ruby_xml_xpointer.h
ruby_xml_attr.c  ruby_xml_node_set.c   ruby_xml_tree.c 
sax_parser_callbacks.inc

-------------------------- Usage ----------------

This may be an unrelated issue, but here's two XML files I
use with libxml-ruby on Ubuntu and OS/X successfully:

$ wc *.xml
  1229094  1370730 19273537 big.xml
     1229     2466    42956 small.xml
  1230323  1373196 19316493 total

On the patched and unpatched Centos version though this
happens:

 >> doc = XML::Document.file("small.xml")
[...]
 >> doc = XML::Document.file("big.xml")
(irb):5: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-24) [x86_64-linux]

Aborted

-------------------------------------------------

Thanks,

Stu

-- 

Stuart Hungerford
ANUSF Data Intensive Projects

_______________________________________________
libxml-devel mailing list
libxml-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/libxml-devel

Reply via email to