sparklemotion / nokogiri

Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.
https://nokogiri.org/
MIT License
6.14k stars 896 forks source link

Compile issue on OS X Mavericks 10.9.5 #1206

Closed baburdick closed 8 years ago

baburdick commented 9 years ago

Despite saying that it's using a special bundled libxml2, the process fails to find it. Here is the interesting excerpt from ~/.rvm/gems/ruby-2.1.2@my_service/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/mkmf.log. Suspicious lines (there is no "travis" user on my system):

ld: warning: directory not found for option '-L/Users/travis/.sm/pkg/active/lib'
ld: library not found for -llibxml2
conftest.c:15:27: error: too few arguments to function call, single argument 'cur' was not specified
int t(void) { xmlParseDoc(); return 0; }
              ~~~~~~~~~~~ ^
/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/include/libxml2/libxml/parser.h:841:11: note: 'xmlParseDoc' declared here
XMLPUBFUN xmlDocPtr XMLCALL
          ^
have_library: checking for xmlParseDoc() in -llibxml2... -------------------- no

"gcc -o conftest -I/Users/bruce/.rvm/rubies/ruby-2.1.2/include/ruby-2.1.0/x86_64-darwin13.0 -I/Users/bruce/.rvm/rubies/ruby-2.1.2/include/ruby-2.1.0/ruby/backward -I/Users/bruce/.rvm/rubies/ruby-2.1.2/include/ruby-2.1.0 -I. -I/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/include -I/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/include/libxml2 -I/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/include/libxml2 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -DNOKOGIRI_LIBXML2_PATH\=\"/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2\" -DNOKOGIRI_LIBXML2_PATCHES\=\"0001-Revert-Missing-initialization-for-the-catalog-module.patch\ 0002-Fix-missing-entities-after-CVE-2014-3660-fix.patch\" -DNOKOGIRI_LIBXSLT_PATH\=\"/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28\" -DNOKOGIRI_LIBXSLT_PATCHES\=\"0001-Adding-doc-update-related-to-1.1.28.patch\ 0002-Fix-a-couple-of-places-where-f-printf-parameters-wer.patch\ 0003-Initialize-pseudo-random-number-generator-with-curre.patch\ 0004-EXSLT-function-str-replace-is-broken-as-is.patch\ 0006-Fix-str-padding-to-work-with-UTF-8-strings.patch\ 0007-Separate-function-for-predicate-matching-in-patterns.patch\ 0008-Fix-direct-pattern-matching.patch\ 0009-Fix-certain-patterns-with-predicates.patch\ 0010-Fix-handling-of-UTF-8-strings-in-EXSLT-crypto-module.patch\ 0013-Memory-leak-in-xsltCompileIdKeyPattern-error-path.patch\ 0014-Fix-for-bug-436589.patch\ 0015-Fix-mkdir-for-mingw.patch\" -O3 -I/Users/travis/.sm/pkg/active/include -fPIC -mmacosx-version-min=10.6 -pipe  -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/Users/bruce/.rvm/rubies/ruby-2.1.2/lib -L/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/lib -L/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/lib -L. -L/Users/travis/.sm/pkg/active/lib -fPIC -Bstatic -fstack-protector   -arch x86_64  /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/lib/libexslt.a -lm -liconv -lpthread -lz /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/lib/libxml2.a /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/lib/libxslt.a -lm -liconv -lpthread -lz /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/lib/libxml2.a -llzma -lruby-static -framework CoreFoundation -llibxml2 /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/lib/libexslt.a -lm -liconv -lpthread -lz /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/lib/libxml2.a /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/lib/libxslt.a -lm -liconv -lpthread -lz /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/lib/libxml2.a -llzma -lpthread -ldl -lobjc  "
ld: warning: directory not found for option '-L/Users/travis/.sm/pkg/active/lib'
ld: library not found for -llibxml2
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlParseDoc; return 0; }
/* end */

"gcc -o conftest -I/Users/bruce/.rvm/rubies/ruby-2.1.2/include/ruby-2.1.0/x86_64-darwin13.0 -I/Users/bruce/.rvm/rubies/ruby-2.1.2/include/ruby-2.1.0/ruby/backward -I/Users/bruce/.rvm/rubies/ruby-2.1.2/include/ruby-2.1.0 -I. -I/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/include -I/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/include/libxml2 -I/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/include/libxml2 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -DNOKOGIRI_LIBXML2_PATH\=\"/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2\" -DNOKOGIRI_LIBXML2_PATCHES\=\"0001-Revert-Missing-initialization-for-the-catalog-module.patch\ 0002-Fix-missing-entities-after-CVE-2014-3660-fix.patch\" -DNOKOGIRI_LIBXSLT_PATH\=\"/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28\" -DNOKOGIRI_LIBXSLT_PATCHES\=\"0001-Adding-doc-update-related-to-1.1.28.patch\ 0002-Fix-a-couple-of-places-where-f-printf-parameters-wer.patch\ 0003-Initialize-pseudo-random-number-generator-with-curre.patch\ 0004-EXSLT-function-str-replace-is-broken-as-is.patch\ 0006-Fix-str-padding-to-work-with-UTF-8-strings.patch\ 0007-Separate-function-for-predicate-matching-in-patterns.patch\ 0008-Fix-direct-pattern-matching.patch\ 0009-Fix-certain-patterns-with-predicates.patch\ 0010-Fix-handling-of-UTF-8-strings-in-EXSLT-crypto-module.patch\ 0013-Memory-leak-in-xsltCompileIdKeyPattern-error-path.patch\ 0014-Fix-for-bug-436589.patch\ 0015-Fix-mkdir-for-mingw.patch\" -O3 -I/Users/travis/.sm/pkg/active/include -fPIC -mmacosx-version-min=10.6 -pipe  -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/Users/bruce/.rvm/rubies/ruby-2.1.2/lib -L/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/lib -L/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/lib -L. -L/Users/travis/.sm/pkg/active/lib -fPIC -Bstatic -fstack-protector   -arch x86_64  /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/lib/libexslt.a -lm -liconv -lpthread -lz /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/lib/libxml2.a /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/lib/libxslt.a -lm -liconv -lpthread -lz /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/lib/libxml2.a -llzma -lruby-static -framework CoreFoundation -llibxml2 /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/lib/libexslt.a -lm -liconv -lpthread -lz /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/lib/libxml2.a /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxslt/1.1.28/lib/libxslt.a -lm -liconv -lpthread -lz /Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/lib/libxml2.a -llzma -lpthread -ldl -lobjc  "
conftest.c:15:27: error: too few arguments to function call, single argument 'cur' was not specified
int t(void) { xmlParseDoc(); return 0; }
              ~~~~~~~~~~~ ^
/Users/bruce/.rvm/gems/ruby-2.1.2@my_service/gems/nokogiri-1.6.5/ports/x86_64-apple-darwin13.1.0/libxml2/2.9.2/include/libxml2/libxml/parser.h:841:11: note: 'xmlParseDoc' declared here
XMLPUBFUN xmlDocPtr XMLCALL
          ^
1 error generated.
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: int t(void) { xmlParseDoc(); return 0; }
/* end */

--------------------
tmichaelrogers commented 8 years ago

I am using Homebrew and having this issue on OS X 10.11. I tried everything here: http://www.nokogiri.org/tutorials/installing_nokogiri.html#mac_os_x

Here is the output of the build failure:

I am running the command:

bundle install --path ./vendor/

Running 'install' for libxslt 1.1.28... OK
Activating libxslt 1.1.28 (from /Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxslt/1.1.28)...
checking for main() in -llzma... yes
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
-----
libxml2 is missing.  Please locate mkmf.log to investigate how it is failing.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Here is the output in mkmf.log:

"xcrun clang -o conftest -I/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/universal-darwin15 -I/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/backward -I/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0 -I. -I/Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxslt/1.1.28/include -I/Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxml2/2.9.2/include/libxml2 -I/Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxml2/2.9.2/include/libxml2 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -DNOKOGIRI_LIBXML2_PATH\=\"/Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxml2/2.9.2\" -DNOKOGIRI_LIBXML2_PATCHES\=\"0001-Revert-Missing-initialization-for-the-catalog-module.patch\ 0002-Fix-missing-entities-after-CVE-2014-3660-fix.patch\" -DNOKOGIRI_LIBXSLT_PATH\=\"/Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxslt/1.1.28\" -DNOKOGIRI_LIBXSLT_PATCHES\=\"0001-Adding-doc-update-related-to-1.1.28.patch\ 0002-Fix-a-couple-of-places-where-f-printf-parameters-wer.patch\ 0003-Initialize-pseudo-random-number-generator-with-curre.patch\ 0004-EXSLT-function-str-replace-is-broken-as-is.patch\ 0006-Fix-str-padding-to-work-with-UTF-8-strings.patch\ 0007-Separate-function-for-predicate-matching-in-patterns.patch\ 0008-Fix-direct-pattern-matching.patch\ 0009-Fix-certain-patterns-with-predicates.patch\ 0010-Fix-handling-of-UTF-8-strings-in-EXSLT-crypto-module.patch\ 0013-Memory-leak-in-xsltCompileIdKeyPattern-error-path.patch\ 0014-Fix-for-bug-436589.patch\ 0015-Fix-mkdir-for-mingw.patch\"  -g -Os -pipe -DHAVE_GCC_SYNC_BUILTINS  -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib -L/Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxml2/2.9.2/lib -L/Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxslt/1.1.28/lib -L. -L/usr/local/lib   -arch i386 -arch x86_64  /Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxslt/1.1.28/lib/libexslt.a -lm -liconv -lpthread -lz /Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxml2/2.9.2/lib/libxml2.a /Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxslt/1.1.28/lib/libxslt.a -lm -liconv -lpthread -lz /Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxml2/2.9.2/lib/libxml2.a -llzma -lruby.2.0.0 -llibxml2 /Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxslt/1.1.28/lib/libexslt.a -lm -liconv -lpthread -lz /Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxml2/2.9.2/lib/libxml2.a /Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxslt/1.1.28/lib/libxslt.a -lm -liconv -lpthread -lz /Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxml2/2.9.2/lib/libxml2.a -llzma -lpthread -ldl -lobjc  "
conftest.c:7:27: error: too few arguments to function call, single argument 'cur' was not specified
int t(void) { xmlParseDoc(); return 0; }
              ~~~~~~~~~~~ ^
/Users/Mike/Documents/working/nbcolympics-ptcompanion-mobile-rails/vendor/ruby/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin15/libxml2/2.9.2/include/libxml2/libxml/parser.h:841:11: note: 'xmlParseDoc' declared here
XMLPUBFUN xmlDocPtr XMLCALL
          ^
1 error generated.
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int t(void) { xmlParseDoc(); return 0; }
 8: int main(int argc, char **argv)
 9: {
10:   if (argc > 1000000) {
11:     printf("%p", &t);
12:   }
13: 
14:   return 0;
15: }
/* end */

tmichaelrogers commented 8 years ago

I had the same symptoms as @dlech, but different mkmf.log (See above).

Here is my ruby and clang before trying @dlech 's fix:

ike>~$ ruby --version
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]
Mike>~$ clang --version
Apple LLVM version 7.0.0 (clang-700.1.76)
Target: x86_64-apple-darwin15.0.0
Thread model: posix

Installing rbenv and installed 2.2.2, but did NOT switch to 2.2.2. This fixed the compile issue with nokogiri. Maybe there is a missing dependency that gets installed from rbenv?

zenspider commented 8 years ago

@tmichaelrogers "I tried everything here" mmmm, I have doubts about that. You're using osx 10.11, stock ruby, and homebrew. Me too. It works out of the box for me:

10003 % gem i -i xxx nokogiri 
Fetching: mini_portile-0.6.2.gem (100%)
Successfully installed mini_portile-0.6.2
Fetching: nokogiri-1.6.6.2.gem (100%)
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.6.6.2
Parsing documentation for mini_portile-0.6.2
Installing ri documentation for mini_portile-0.6.2
Parsing documentation for nokogiri-1.6.6.2
Installing ri documentation for nokogiri-1.6.6.2
Done installing documentation for mini_portile, nokogiri after 4 seconds
2 gems installed
10004 % ruby -v
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]

Please try the same command and get back to me.

tmichaelrogers commented 8 years ago

@zenspider Mocking me? Honestly?!? And the "it works on my machine" response? I really appreciate the work people put into sharing their software with others, but you need to learn to treat people with respect who are trying to help improve your product. I need this for a new system I have inheirited. The first thing I am going to do is get rid of the dependency on your project.

I ran that command and here is my output. I hope it helps you track down an issue.

gem i -i xxx nokogiri
Fetching: mini_portile-0.6.2.gem (100%)
Successfully installed mini_portile-0.6.2
Fetching: nokogiri-1.6.6.2.gem (100%)
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.6.6.2
Parsing documentation for mini_portile-0.6.2
Installing ri documentation for mini_portile-0.6.2
Parsing documentation for nokogiri-1.6.6.2
unable to convert "\xCA" from ASCII-8BIT to UTF-8 for lib/nokogiri/nokogiri.bundle, skipping
Installing ri documentation for nokogiri-1.6.6.2
2 gems installed

ruby -v
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]

But as I said already, I was able to get it installed using Bundler after I installed rbenv. So my problem is fixed. Try not to be such a pompous ass.

zenspider commented 8 years ago

I was trying to figure out if bundler is the main variable causing this problem. Using the same OS version, the same stock ruby, both having homebrew, but only one using bundler made that possible. That's it. That's your whole conspiracy behind my "worked for me" response. The experiment is tainted by rbenv being thrown into the middle and I'm not sure how I'm going to isolate that, but that's an issue that I'll work out with someone else and while I'm not on my birthday vacation.

For the record, I don't even have (or want) commit bit on this project. I simply help out @flavorjones debug osx build issues because he doesn't primarily use osx. Mocking you? Disrespecting you? Pompous ass? Grow a professional backbone and go back and read my comment again. I didn't mock you and I don't need or deserve your abusive bullshit.

To quote @flavorjones:

I'd also like to caution everyone on this thread to check the loaded language. Let's be constructive with each other and work towards reproducing the issue and finding a solution.

@flavorjones Please lock this ticket down. I'm absolutely done with it. If more issues come up, then new issues can be filed.

cabo commented 8 years ago

Before this ticket gets locked down, let's summarize what we know so far: The build system is brittle, as the system that builds the subcomponents may not arrive at the same assumptions and outcomes as the system that then goes on trying to use the built subcomponents. The symptom hits people in varying circumstances; Macports has been cited as a frequent one. Further confounding this, it is generally hard to isolate and communicate the influences that are different on a system where the build fails from one where the build succeeds. Apart from aligning the build system with the system using the builds, one other way forward may be to reduce the reliance on subcomponents built together with Nokogiri.

zenspider commented 8 years ago

Macports is a separate issue and really needs a separate issue filed.

flavorjones commented 8 years ago

Hey, everybody. Holy cow.

Look, I get that it's frustrating when Nokogiri won't install. Lots of things about this thread are frustrating, including its length, the relative irreproducibility of the issue, and presence of a couple of "me toos".

None of those frustrations justify the lack of empathy I'm seeing on this thread.


So, this ticket has been open for quite a while, and I actually think that at least some of the problems described on this thread will be solved when we ship the fix described at #1345 and #1218.

I'm going to close and lock this conversation, because I don't see any meaningful progress on reproducing the issue in the last month or so, and because of the unproductive conversations and noise.


@cabo - Thanks so much for sticking with this issue. Can you please reach out to me directly via email and we can continue working on this? I still don't believe I understand what's going on, but it's software, and so if we can reproduce it we can fix it.