Giter Site home page Giter Site logo

Comments (13)

mxcl avatar mxcl commented on August 27, 2024

Unexpected, your system fails to require 'osx/cocoa'

I can't really explain that if it was a clean install. I'm on 10.6 myself. Maybe Alloy will have some light to shed?

from legacy-homebrew.

alloy avatar alloy commented on August 27, 2024

Please double check with this:

% ruby -r osx/cocoa -e "p OSX::RUBYCOCOA_VERSION"
"0.13.2"

I assume that that won't work either, in which case something has really messed up your system install of RubyCocoa… Which version of RubyCocoa did you install into /Library? Also, I'm assuming you are using the default Apple Ruby.

So if you haven't done anything special to Ruby/RubyCocoa, then I can only imagine that the upgrade process from dev. seeds has left you with this.

I would suggest re-installing your OS or installing RubyCocoa 0.13.2 which you can download as an installer, but you'll have to hack the Info.plist in the installer to let you install it on 10.6

from legacy-homebrew.

caius avatar caius commented on August 27, 2024

You're right, it can't find rubycocoa strangely.

Julius:~ caius$ ruby -r osx/cocoa -e "p OSX::RUBYCOCOA_VERSION"
/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle: dlopen(/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle, 9): no suitable image found.  Did find: (LoadError)
        /Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle: no matching architecture in universal wrapper - /Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle
        from /Library/Ruby/Site/1.8/osx/foundation.rb:8
        from /Library/Ruby/Site/1.8/osx/cocoa.rb:8:in `require'
        from /Library/Ruby/Site/1.8/osx/cocoa.rb:8

I can't remember which version I installed into /Library, but it was about a month ago I installed it I think. Limechat would just crash upon opening, so I installed RubyCocoa manually, which fixed Limechat. Although oddly Limechat still works fine with just the RubyCocoa in /System installed, so I guess it's linked against that directly.

It is the default ruby, yes. And I don't think I've done anything to it (that I can remember.) I'll give installing RubyCocoa a go again and see if that fixes it.

from legacy-homebrew.

alloy avatar alloy commented on August 27, 2024

Yes, LimeChat links directly against the framework, in our case however, the bundle will link against the RubyCocoa that should be used. Do you remember if you compiled it from source or downloaded an installer?

Looking at the output you just pasted, I'm curious why you get the message that the wrapper is of an incorrect architecture. What do the following commands return for you? And on what arch are you?

% file /Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle
/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle: Mach-O universal binary with 3 architectures
/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle (for architecture i386): Mach-O bundle i386
/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle (for architecture x86_64): Mach-O 64-bit bundle x86_64
/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle (for architecture ppc7400): Mach-O bundle ppc

% file /System/Library/Frameworks/RubyCocoa.framework/Versions/Current/RubyCocoa
/System/Library/Frameworks/RubyCocoa.framework/Versions/Current/RubyCocoa: Mach-O universal binary with 3 architectures
/System/Library/Frameworks/RubyCocoa.framework/Versions/Current/RubyCocoa (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/System/Library/Frameworks/RubyCocoa.framework/Versions/Current/RubyCocoa (for architecture i386): Mach-O dynamically linked shared library i386
/System/Library/Frameworks/RubyCocoa.framework/Versions/Current/RubyCocoa (for architecture ppc7400): Mach-O dynamically linked shared library ppc

% otool -L /Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle
/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle:
@executable_path/../Frameworks/RubyCocoa.framework/Versions/A/RubyCocoa (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.3.0)
/usr/lib/libffi.dylib (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/libruby.1.dylib (compatibility version 1.8.0, current version 1.8.7)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0)

from legacy-homebrew.

caius avatar caius commented on August 27, 2024

I downloading + installed it using an installer pkg, was going to install it through macports but that requires compiling ruby amongst other things, which is why I was trying homebrew initially. grin

Julius:~ caius$ file /Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle
/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle: Mach-O universal binary with 2 architectures
/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle (for architecture ppc):    Mach-O bundle ppc
/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle (for architecture i386):   Mach-O bundle i386


Julius:~ caius$ file /System/Library/Frameworks/RubyCocoa.framework/Versions/Current/RubyCocoa
/System/Library/Frameworks/RubyCocoa.framework/Versions/Current/RubyCocoa: Mach-O universal binary with 3 architectures
/System/Library/Frameworks/RubyCocoa.framework/Versions/Current/RubyCocoa (for architecture x86_64):    Mach-O 64-bit dynamically linked shared library x86_64
/System/Library/Frameworks/RubyCocoa.framework/Versions/Current/RubyCocoa (for architecture i386):      Mach-O dynamically linked shared library i386
/System/Library/Frameworks/RubyCocoa.framework/Versions/Current/RubyCocoa (for architecture ppc7400):   Mach-O dynamically linked shared library ppc


Julius:~ caius$ otool -L /Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle
/Library/Ruby/Site/1.8/universal-darwin10.0/rubycocoa.bundle:
        @executable_path/../Frameworks/RubyCocoa.framework/Versions/A/RubyCocoa (compatibility version 1.0.0, current version 1.0.0)
        /usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
        /usr/lib/libruby.1.dylib (compatibility version 1.8.0, current version 1.8.2)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.3)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)

Looks like rubycocoa.bundles doesn't have the x86_64 arch in it, I'm running 10.6 on a first-gen unibody Macbook Pro 15", booted using the 32-bit kernel.

from legacy-homebrew.

alloy avatar alloy commented on August 27, 2024

Yeah rubycocoa.bundle missing the x86_64 arch is definitely a problem, how that has happened is beyond me. As I said, it might be a problem upgrading from dev. seeds, as the earlier version where not 64 bit compatible.

I have uploaded my copy of the bundle here, please see if that fixes it for you: http://dl.getdropbox.com/u/1002796/rubycocoa.bundle.zip

from legacy-homebrew.

caius avatar caius commented on August 27, 2024

Fixed it. Turns out I had a couple of rubycocoa.bundle's on my system, the one that was being loaded was in /Library/Ruby/Site/1.8/universal-darwin10.0/, which only had 2 architectures in it.

I also noticed /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0/ in my ruby loadpath, and noted there was a rubycocoa.bundle in there as well, tested that with file and it had 3 architectures, same as yours.

Removed the one in /Library/Ruby/Site/1.8/universal-darwin10.0/, and it all started working:

Julius:~ caius$ ruby -r osx/cocoa -e "p OSX::RUBYCOCOA_VERSION"
"0.13.2"

Looks like I had a rogue rubycocoa.bundle installed on my system at some point, probably as part of the dev seeds I guess.

from legacy-homebrew.

caius avatar caius commented on August 27, 2024

Trying to close it again.

from legacy-homebrew.

alloy avatar alloy commented on August 27, 2024

Great!

I don't see a close button… :-/

from legacy-homebrew.

mxcl avatar mxcl commented on August 27, 2024

I think I have to close it as it's "my" issue tracker. Is there anyway we can give the user a better error message if this should happen to someone else in future.

As generally if you have had 400 clones this month and one person had this issue, you can assume others will have too.

from legacy-homebrew.

alloy avatar alloy commented on August 27, 2024

Well, since it raises a LoadError we could provide at least a warning that there's a problem with RubyCocoa. I'm not sure if you want to keep that general or specific?

from legacy-homebrew.

mxcl avatar mxcl commented on August 27, 2024

We may as well be specific as we get bug reports for them, eg. at the very least we can point them to the URL for this issue.

from legacy-homebrew.

alloy avatar alloy commented on August 27, 2024

Yes indeed.

Also, in case of a LoadError, we should warn people that if they're using custom Ruby's they probably still have to install RubyCocoa from source, if they want to use the feature.

from legacy-homebrew.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.