> 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 <xslt.h>
.. 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.
···
At Wed, 17 Sep 2008 02:43:39 -0500 Brian Candler <b.candler@pobox.com> wrote:
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