/usr/local/lib/libz.1.dylib, the file was created for i386, which is not related to architecture (x86_64)

with this problem when installing several things on my mac, I think this problem comes from updating my leopard to the snow leopard. Also this problem is also related to macports, I think.

/usr/local/lib/libz.1.dylib, file was built for i386 which is not the architecture being linked (x86_64)

Any ideas?

Update

To be more specific, this happens when you install nokogiri gem

and the log is as follows:

xslt_stylesheet.c:127: warning: passing argument 1 of ‘Nokogiri_wrap_xml_document’ with different width due to prototype
cc -dynamic -bundle -undefined suppress -flat_namespace -o nokogiri.bundle     
html_document.o html_element_description.o html_entity_lookup.o   html_sax_parser_context.o nokogiri.o xml_attr.o xml_attribute_decl.o xml_cdata.o xml_comment.o xml_document.o xml_document_fragment.o xml_dtd.o xml_element_content.o xml_element_decl.o xml_encoding_handler.o xml_entity_decl.o xml_entity_reference.o xml_io.o xml_libxml2_hacks.o xml_namespace.o xml_node.o xml_node_set.o xml_processing_instruction.o xml_reader.o xml_relax_ng.o xml_sax_parser.o xml_sax_parser_context.o xml_sax_push_parser.o xml_schema.o xml_syntax_error.o xml_text.o xml_xpath_context.o xslt_stylesheet.o -L. -L/usr/local/lib -L/opt/local/lib -L/usr/local/lib -L/usr/lib -L.     -lruby -lexslt -lxslt -lxml2  -lpthread -ldl -lobjc   
ld: in /usr/local/lib/libz.1.dylib, file was built for i386 which is not the architecture being linked (x86_64)
collect2: ld returned 1 exit status
make: *** [nokogiri.bundle] Error 1
+5
source share
3 answers

macport , , macports , . wiki : https://trac.macports.org/wiki/Migration

0

MacPorts: zlib i386, x86-64. :

  • . , zlib : sudo rm /opt/local/lib/libz*
  • zlib -
  • ./configure, make sudo make install
  • , ruby ​​ ( RVM)

, .

+14
  • Perhaps you have x86_64 compiled zlib installed in   /usr/local/opt/zlib/or, alternatively, brew install zlib this will install zlib in /usr/local/Cellar/.
  • Temporarily delete libz.*from the /usr/local/lib/backup folder.
  • Do gem install nokogiri -v '<version>' --with-zlib-dir=<zlib directory path from step 1>

Nokogiri should now be installed. Restore your libz backup again.

+1
source

All Articles