Bugs item #27256, was opened at 2009-10-08 09:14 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=1971&aid=27256&group_id=494
Category: None Group: None Status: Open >Resolution: Accepted Priority: 3 Submitted By: Joshua Lippiner (jlippiner) >Assigned to: Charlie Savage (cfis) Summary: LoadError - Symbol not found: _xmlAddChild Initial Comment: My system appears to have 1.1.2 AND 1.1.3 installed. Im running Snow Leopard. Also, I cannot uninstall 1.1.2 for whatever reason. 11:11 AM ~/projects/v16 => console Loading development environment (Rails 2.3.4) Loading haml-edge gem. >> require 'xml' LoadError: dlopen(/Users/jlippiner/.gem/ruby/1.8/gems/libxml-ruby-1.1.3/lib/libxml_ruby.bundle, 9): Symbol not found: _xmlAddChild Referenced from: /Users/jlippiner/.gem/ruby/1.8/gems/libxml-ruby-1.1.3/lib/libxml_ruby.bundle Expected in: flat namespace in /Users/jlippiner/.gem/ruby/1.8/gems/libxml-ruby-1.1.3/lib/libxml_ruby.bundle - /Users/jlippiner/.gem/ruby/1.8/gems/libxml-ruby-1.1.3/lib/libxml_ruby.bundle from /Users/jlippiner/.gem/ruby/1.8/gems/libxml-ruby-1.1.3/lib/libxml_ruby.bundle ---------------------------------------------------------------------- >Comment By: Charlie Savage (cfis) Date: 2011-04-22 21:47 Message: Hi guys, I know this is pretty old - and I have no idea what could be causing it. Does the latest release have the same problem? Thanks - Charlie ---------------------------------------------------------------------- Comment By: Graeme Mathieson (mathie) Date: 2010-11-23 06:28 Message: Hi, I think I might be stumbling across the same problem. I've had a wee dig around and think I might have some further information, but I'm not entirely sure what to make of it. First of all, some background. We have a CI server to verify that the tests are passing. It runs through the following process: * Grab the latest code * Create an empty RVM gemset * Use gem bundler to install all the gem dependencies * Run the test suite. Sounds good? It is, most of the time. Once in a while, though, when attempting to run the test suite, we get: dlopen(/Users/ci/.rvm/gems/ree-1.8.7-2010.02@cruise-78296/gems/libxml-ruby-1.1.4/lib/libxml_ruby.bundle, 9): Symbol not found: _cXMLNode Referenced from: /Users/ci/.rvm/gems/ree-1.8.7-2010.02@cruise-78296/gems/libxml-ruby-1.1.4/lib/libxml_ruby.bundle Expected in: flat namespace in /Users/ci/.rvm/gems/ree-1.8.7-2010.02@cruise-78296/gems/libxml-ruby-1.1.4/lib/libxml_ruby.bundle - /Users/ci/.rvm/gems/ree-1.8.7-2010.02@cruise-78296/gems/libxml-ruby-1.1.4/lib/libxml_ruby.bundle This doesn't happen on all runs, and re-running the CI build with the same commit often makes it work again later, so I'm reasonably(ish!) confident it's not an app problem. This is a CI server that I'm not actively messing with either, so I'm reasonably happy that the environment is stable. So, I dug in a little. It's right, that bundle doesn't have the symbol it's looking for. In fact, the bundle doesn't have any symbols: $ nm libxml-ruby-1.1.4-broken/lib/libxml_ruby.bundle 0000000000000000 t __mh_bundle_header U dyld_stub_binder That's weird, right? Well, weirder still, none of the object files have any symbols: $ nm libxml-ruby-1.1.4-broken/ext/libxml/ruby_xml.o produces nothing. So, gcc is producing a file without any symbols. What kind of file is it producing? $ file libxml-ruby-1.1.4-broken/ext/libxml/ruby_xml.o libxml-ruby-1.1.4-broken/ext/libxml/ruby_xml.o: 80386 COFF executable not stripped - version 30821 That's weird, because a correctly built version is a Mach-O 64 bit object file as you'd expect: $ file libxml-ruby-1.1.4-working/ext/libxml/ruby_xml.o libxml-ruby-1.1.4-working/ext/libxml/ruby_xml.o: Mach-O 64-bit object x86_64 Apart from the generated objects and bundles, there are no appreciable differences between the broken version and the working version: $ diff -urN libxml-ruby-1.1.4-{broken,working} diff -urN libxml-ruby-1.1.4-broken/ext/libxml/Makefile libxml-ruby-1.1.4-working/ext/libxml/Makefile --- libxml-ruby-1.1.4-broken/ext/libxml/Makefile 2010-11-23 12:02:32.000000000 +0000 +++ libxml-ruby-1.1.4-working/ext/libxml/Makefile 2010-11-23 11:32:32.000000000 +0000 @@ -96,8 +96,8 @@ BINDIR = $(bindir) RUBYCOMMONDIR = $(sitedir)$(target_prefix) -RUBYLIBDIR = /Users/ci/.rvm/gems/ree-1.8.7-2010.02@cruise-5839/gems/libxml-ruby-1.1.4/lib$(target_prefix) -RUBYARCHDIR = /Users/ci/.rvm/gems/ree-1.8.7-2010.02@cruise-5839/gems/libxml-ruby-1.1.4/lib$(target_prefix) +RUBYLIBDIR = /Users/ci/.rvm/gems/ree-1.8.7-2010.02@cruise-3367/gems/libxml-ruby-1.1.4/lib$(target_prefix) +RUBYARCHDIR = /Users/ci/.rvm/gems/ree-1.8.7-2010.02@cruise-3367/gems/libxml-ruby-1.1.4/lib$(target_prefix) TARGET_SO = $(DLLIB) CLEANLIBS = $(TARGET).bundle $(TARGET).il? $(TARGET).tds $(TARGET).map diff -urN libxml-ruby-1.1.4-broken/ext/libxml/mkmf.log libxml-ruby-1.1.4-working/ext/libxml/mkmf.log --- libxml-ruby-1.1.4-broken/ext/libxml/mkmf.log 2010-11-23 12:02:32.000000000 +0000 +++ libxml-ruby-1.1.4-working/ext/libxml/mkmf.log 2010-11-23 11:32:32.000000000 +0000 @@ -1,7 +1,7 @@ have_library: checking for socket() in -lsocket... -------------------- no "gcc -o conftest -I. -I/Users/ci/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin10.4.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -g -O2 -pipe -fno-common conftest.c -L. -L/Users/ci/.rvm/rubies/ree-1.8.7-2010.02/lib -L/Users/ci/.rvm/rubies/ree-1.8.7-2010.02/lib -L. -lruby-static -lsocket -ldl -lobjc " -/Users/ci/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/mkmf.rb:266: warning: Insecure world writable dir /Users/ci/.rvm/gems/ree-1.8.7-2010.02@cruise-5839/bin in PATH, mode 040777 +/Users/ci/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/mkmf.rb:266: warning: Insecure world writable dir /Users/ci/.rvm/gems/ree-1.8.7-2010.02@cruise-3367/bin in PATH, mode 040777 conftest.c: In function ‘t’: conftest.c:3: error: ‘socket’ undeclared (first use in this function) conftest.c:3: error: (Each undeclared identifier is reported only once The host environment here is Mac OS X 10.6.5, we're using Ruby Enterprise Edition 2010.02 (1.8.7), and we're using the Mac OS X-supplied libxml2: $ which xml2-config /usr/bin/xml2-config $ xml2-config --version 2.7.3 I have no idea where to go next while tracking this down! Any suggestions? ---------------------------------------------------------------------- Comment By: Jim Tobin (tobinjim) Date: 2010-04-18 06:06 Message: I see this, too. Both the reporting of 1.1.2 and 1.1.3 installed, and the missing symbol. Curiously, my Leopard machine does not report a missing symbol, and it has 1.1.3, 0.9.5 and 0.3.8.4 installed ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=1971&aid=27256&group_id=494 _______________________________________________ libxml-devel mailing list libxml-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/libxml-devel