From: Robert Heller Date: 2008-09-18T01:03:35+09:00 Subject: Re: Gem program -- cannot install libxslt-ruby-0.3.6.gem At Wed, 17 Sep 2008 02:43:39 -0500 Brian Candler wrote: > > > I've narrowed things down to a problem with mkmf.rb -- it is missing a > > method named find_header. I don't really know ruby, but if someone can > > send me a suitable code fragment, I can certainly patch mkmf.rb. > > Well, the latest is available at > http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8/lib/mkmf.rb > > However, I found all sorts of things didn't work with 1.8.1 (which is > really ancient), so under RHEL 4 I moved to the 1.8.5 packages from the > CentOS testing repository: > http://dev.centos.org/centos/4/testing/i386/RPMS/ > and everything was fine. If at all possible in your situation, I'd > strongly recommend it. It still does not work: /usr/local/share/bard-spock/spock update.rdf -i deepwoodstoolbar@deepsoft.com -d ~/.mozilla/mccoy/08c43j81.default/ >update.rdf.signed /usr/local/share/bard-spock/normalize_update_rdf.rb:22:in `require': no such file to load -- xml/libxslt (LoadError) from /usr/local/share/bard-spock/normalize_update_rdf.rb:22 from /usr/local/share/bard-spock/spock:53:in `require' from /usr/local/share/bard-spock/spock:53 I upgraded to the ruby-1.8.5 pavkages from the centos 4 testing repo, downloaded and did a 'gem install' of libxml-ruby and libxslt-ruby: sauron.deepsoft.com% wget -c http://rubyforge.rubyuser.de/gems/libxml-ruby-0.8.3.gem http://rubyforge.rubyuser.de/gems/libxslt-ruby-0.8.2.gem --11:49:35-- http://rubyforge.rubyuser.de/gems/libxml-ruby-0.8.3.gem => `libxml-ruby-0.8.3.gem' Resolving rubyforge.rubyuser.de... 80.237.222.133 Connecting to rubyforge.rubyuser.de|80.237.222.133|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 167,424 (164K) [application/octet-stream] 100%[====================================>] 167,424 2.50K/s ETA 00:00 11:50:43 (2.42 KB/s) - `libxml-ruby-0.8.3.gem' saved [167424/167424] --11:50:43-- http://rubyforge.rubyuser.de/gems/libxslt-ruby-0.8.2.gem => `libxslt-ruby-0.8.2.gem' Connecting to rubyforge.rubyuser.de|80.237.222.133|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 37,376 (36K) [application/octet-stream] 100%[====================================>] 37,376 2.49K/s ETA 00:00 11:50:59 (2.49 KB/s) - `libxslt-ruby-0.8.2.gem' saved [37376/37376] FINISHED --11:50:59-- Downloaded: 204,800 bytes in 2 files sauron.deepsoft.com% sudo gem install libxml-ruby libxslt-ruby Password: Building native extensions. This could take a while... ruby extconf.rb install libxml-ruby libxslt-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 libiconv_open() in -liconv... no checking for libiconv_open() in -llibiconv... no checking for iconv_open() in -llibiconv... no checking for iconv_open() in -lc... yes checking for xmlParseDoc() in -lxml2... yes checking for libxml/xmlversion.h... yes checking for xmlDocFormatDump()... yes checking for docbCreateFileParserCtxt()... yes creating extconf.h creating Makefile make gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c cbg.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c libxml.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_attr.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_attributes.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_document.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_dtd.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_html_parser.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_input_cbg.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_node.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_node_set.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_ns.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_parser.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_parser_context.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_reader.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_relaxng.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_sax_parser.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_schema.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_state.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_xinclude.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_xpath.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_xpath_context.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_xpath_object.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_xpointer.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/local/include -c ruby_xml_xpointer_context.c gcc -shared -rdynamic -Wl,-export-dynamic -L"/usr/lib" -L"/usr/lib" -o libxml_ruby.so cbg.o libxml.o ruby_xml_attr.o ruby_xml_attributes.o ruby_xml_document.o ruby_xml_dtd.o ruby_xml_html_parser.o ruby_xml_input_cbg.o ruby_xml_node.o ruby_xml_node_set.o ruby_xml_ns.o ruby_xml_parser.o ruby_xml_parser_context.o ruby_xml_reader.o ruby_xml_relaxng.o ruby_xml_sax_parser.o ruby_xml_schema.o ruby_xml_state.o ruby_xml_xinclude.o ruby_xml_xpath.o ruby_xml_xpath_context.o ruby_xml_xpath_object.o ruby_xml_xpointer.o ruby_xml_xpointer_context.o -lruby -lxml2 -lc -lz -lm -lnsl -lpthread -ldl -lcrypt -lm -lc make install /usr/bin/install -c -m 0755 libxml_ruby.so /usr/lib/ruby/gems/1.8/gems/libxml-ruby-0.8.3/lib make clean Successfully installed libxml-ruby, version 0.8.3 Installing ri documentation for libxml-ruby-0.8.3... No definition for ruby_xml_html_parser_new_file No definition for ruby_xml_html_parser_new_io No definition for ruby_xml_html_parser_filename_get No definition for ruby_xml_html_parser_filename_set No definition for ruby_xml_html_parser_io_get No definition for ruby_xml_html_parser_io_set No definition for input_callbacks_add_scheme No definition for input_callbacks_remove_scheme No definition for ruby_xml_node2_new_native No definition for ruby_xml_parser_context_options_get No definition for ruby_xml_parser_context_options_set Enclosing class/module 'cXMLSaxParser' for module Callbacks not known Installing RDoc documentation for libxml-ruby-0.8.3... No definition for ruby_xml_html_parser_new_file No definition for ruby_xml_html_parser_new_io No definition for ruby_xml_html_parser_filename_get No definition for ruby_xml_html_parser_filename_set No definition for ruby_xml_html_parser_io_get No definition for ruby_xml_html_parser_io_set No definition for input_callbacks_add_scheme No definition for input_callbacks_remove_scheme No definition for ruby_xml_node2_new_native No definition for ruby_xml_parser_context_options_get No definition for ruby_xml_parser_context_options_set Enclosing class/module 'cXMLSaxParser' for module Callbacks not known Building native extensions. This could take a while... ruby extconf.rb install libxml-ruby libxslt-ruby checking for atan() in -lm... no checking for atan() in -lm... yes checking for inflate() in -lz... yes checking for xmlXPtrNewRange() in -lxml2... yes checking for libxml/xmlversion.h... yes checking for xsltApplyStylesheet() in -lxslt... yes checking for xslt.h... no checking for #include .. yes checking for libxml/ruby_libxml.h... yes checking for libxml/ruby_xml_document.h... yes creating extconf.h creating Makefile make gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/lib/ruby/gems/1.8/gems/libxml-ruby-0.8.3/ext -I/usr/include/libxslt -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -c libxslt.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/lib/ruby/gems/1.8/gems/libxml-ruby-0.8.3/ext -I/usr/include/libxslt -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -c ruby_xslt_stylesheet.c gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -I/usr/lib/ruby/gems/1.8/gems/libxml-ruby-0.8.3/ext -I/usr/include/libxslt -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC -c ruby_xslt_transform_context.c gcc -shared -L"/usr/lib" -L"/usr/lib" -o libxslt_ruby.so libxslt.o ruby_xslt_stylesheet.o ruby_xslt_transform_context.o -lruby -lxslt -lxml2 -lz -lm -lpthread -ldl -lcrypt -lm -lc make install /usr/bin/install -c -m 0755 libxslt_ruby.so /usr/lib/ruby/gems/1.8/gems/libxslt-ruby-0.8.2/lib make clean Successfully installed libxslt-ruby, version 0.8.2 Installing ri documentation for libxslt-ruby-0.8.2... While generating documentation for libxslt-ruby-0.8.2 .. MESSAGE: Unhandled special: Special: type=33, text="The" .. RDOC args: --ri --op /usr/lib/ruby/gems/1.8/doc/libxslt-ruby-0.8.2/ri --quiet lib ext/libxslt (continuing with the rest of the installation) Installing RDoc documentation for libxslt-ruby-0.8.2... What do I need to do now??? All I really want to do is sign a couple of FF3 Toolbar extensions in a Makefile using a pure CLI command, and not have to manually sign them with a pointy-clicky tool! I may end up re-writing this spock tool in Tcl. > > Regards, > > Brian. > > P.S. To get even more up-to-date, you could consider rebuilding the > RHEL5 or Fedora packages for CentOS 4. You need to change one line in > the .spec file (dependency on libX11-devel needs to be changed to > xorg-x11-devel) -- Robert Heller -- Get the Deepwoods Software FireFox Toolbar! Deepwoods Software -- Linux Installation and Administration http://www.deepsoft.com/ -- Web Hosting, with CGI and Database heller@deepsoft.com -- Contract Programming: C/C++, Tcl/Tk