Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Building Ruby extensions on OS X Tiger

1 view
Skip to first unread message

Richard Kilmer

unread,
Apr 29, 2005, 8:35:22 PM4/29/05
to
Tony Arnold posted this on the Rails wiki:
_____

Mac OS X Tiger ships with Ruby 1.8.2 pre-installed. However,
rbconfig.rb needs to be edited if you want to build any gems. (from
Rich...not gems, native extensions)

Edit rbconfig.rb

sudo pico -w /usr/lib/ruby/1.8/powerpc-darwin8.0/rbconfig.rb
Now remove -arch i386 from the CFLAGS and LDFLAGS variables.

You will also need to change:
CONFIG["LIBRUBYARG_STATIC"] = "-l$(RUBY_SO_NAME)-static"
to:
CONFIG["LIBRUBYARG_STATIC"] = ""
_____


NOTE: This is only important if you are building native extensions
(not pure ruby ones)...but it does suck when you run into it...so its
worth fixing.

Wiki link: http://wiki.rubyonrails.com/rails/show/HowtoInstallOnOSXTiger

Chad is working on a gem that you can install which fixes this too.

-rich


Chad Fowler

unread,
Apr 29, 2005, 8:52:26 PM4/29/05
to

sudo gem install fixrbconfig
sudo fixrbconfig

--

Chad Fowler
http://chadfowler.com
http://rubycentral.org
http://rubygarden.org
http://rubygems.rubyforge.org (over 300,000 gems served!)

Phil Tomson

unread,
Apr 29, 2005, 9:00:23 PM4/29/05
to
In article <a2347a0405042...@mail.gmail.com>,

Chad Fowler <chadf...@gmail.com> wrote:
>On 4/29/05, Richard Kilmer <ri...@infoether.com> wrote:
>> Tony Arnold posted this on the Rails wiki:
>> _____
>>
>> Mac OS X Tiger ships with Ruby 1.8.2 pre-installed. However,
>> rbconfig.rb needs to be edited if you want to build any gems. (from
>> Rich...not gems, native extensions)
>>
>> Edit rbconfig.rb
>>
>> sudo pico -w /usr/lib/ruby/1.8/powerpc-darwin8.0/rbconfig.rb
>> Now remove -arch i386 from the CFLAGS and LDFLAGS variables.
>>
>> You will also need to change:
>> CONFIG["LIBRUBYARG_STATIC"] = "-l$(RUBY_SO_NAME)-static"
>> to:
>> CONFIG["LIBRUBYARG_STATIC"] = ""
>> _____
>>
>> NOTE: This is only important if you are building native extensions
>> (not pure ruby ones)...but it does suck when you run into it...so its
>> worth fixing.
>>
>> Wiki link: http://wiki.rubyonrails.com/rails/show/HowtoInstallOnOSXTiger
>>
>> Chad is working on a gem that you can install which fixes this too.
>>
>> -rich
>>
>>
>
>sudo gem install fixrbconfig
>sudo fixrbconfig
>

You are indeed on the cutting edge ;-)

Phil

Jim Freeze

unread,
Apr 30, 2005, 11:56:09 AM4/30/05
to
* Chad Fowler <chadf...@gmail.com> [2005-04-30 09:52:26 +0900]:

> On 4/29/05, Richard Kilmer <ri...@infoether.com> wrote:

[snipped patch instructions]

> sudo gem install fixrbconfig
> sudo fixrbconfig

You know, it's this kind of tenderfoot gem file that takes
the machismo out of hacking a few core ruby files.

--
Jim Freeze
Code Red. Code Ruby


nobu....@softhome.net

unread,
Apr 30, 2005, 8:30:33 PM4/30/05
to
Hi,

At Sat, 30 Apr 2005 09:35:22 +0900,
Richard Kilmer wrote in [ruby-talk:140540]:


> Mac OS X Tiger ships with Ruby 1.8.2 pre-installed. However,
> rbconfig.rb needs to be edited if you want to build any gems. (from
> Rich...not gems, native extensions)
>
> Edit rbconfig.rb
>
> sudo pico -w /usr/lib/ruby/1.8/powerpc-darwin8.0/rbconfig.rb
> Now remove -arch i386 from the CFLAGS and LDFLAGS variables.
>
> You will also need to change:
> CONFIG["LIBRUBYARG_STATIC"] = "-l$(RUBY_SO_NAME)-static"
> to:
> CONFIG["LIBRUBYARG_STATIC"] = ""
> _____

ARCH_FLAG should be "-arch ppc" on darwin. As what is it
defined, and RUBY_SO_NAME?

--
Nobu Nakada


Chad Fowler

unread,
Apr 30, 2005, 10:09:13 PM4/30/05
to

CONFIG["ARCH_FLAG"] = ""
CONFIG["RUBY_SO_NAME"] = "$(RUBY_INSTALL_NAME)"

Should we update the rbconfig.rb again? KirinDave on irc also found
another problem with the RC_CFLAGS environment variable causing
problems with, for example, RubyInline.

I thought I might release another version of my fixer upper gem.

nobu....@softhome.net

unread,
Apr 30, 2005, 10:55:05 PM4/30/05
to
Hi,

At Sun, 1 May 2005 11:09:13 +0900,
Chad Fowler wrote in [ruby-talk:140626]:


> > > Mac OS X Tiger ships with Ruby 1.8.2 pre-installed. However,
> > > rbconfig.rb needs to be edited if you want to build any gems. (from
> > > Rich...not gems, native extensions)
> > >
> > > Edit rbconfig.rb
> > >
> > > sudo pico -w /usr/lib/ruby/1.8/powerpc-darwin8.0/rbconfig.rb
> > > Now remove -arch i386 from the CFLAGS and LDFLAGS variables.
> > >
> > > You will also need to change:
> > > CONFIG["LIBRUBYARG_STATIC"] = "-l$(RUBY_SO_NAME)-static"
> > > to:
> > > CONFIG["LIBRUBYARG_STATIC"] = ""
> > > _____
> >
> > ARCH_FLAG should be "-arch ppc" on darwin. As what is it
> > defined, and RUBY_SO_NAME?
> >
>
> CONFIG["ARCH_FLAG"] = ""

From where has the flag come?

> CONFIG["RUBY_SO_NAME"] = "$(RUBY_INSTALL_NAME)"

Do you have a problem at linking with the static library?

> Should we update the rbconfig.rb again? KirinDave on irc also found
> another problem with the RC_CFLAGS environment variable causing
> problems with, for example, RubyInline.

For what is RC_CFLAGS used, and where is it set? I think ruby
never use it.

--
Nobu Nakada

Chad Fowler

unread,
May 1, 2005, 2:18:10 PM5/1/05
to
> Hi,
>
> At Sun, 1 May 2005 11:09:13 +0900,
> Chad Fowler wrote in [ruby-talk:140626]:
> > > > Mac OS X Tiger ships with Ruby 1.8.2 pre-installed. However,
> > > > rbconfig.rb needs to be edited if you want to build any gems. (from
> > > > Rich...not gems, native extensions)
> > > >
> > > > Edit rbconfig.rb
> > > >
> > > > sudo pico -w /usr/lib/ruby/1.8/powerpc-darwin8.0/rbconfig.rb
> > > > Now remove -arch i386 from the CFLAGS and LDFLAGS variables.
> > > >
> > > > You will also need to change:
> > > > CONFIG["LIBRUBYARG_STATIC"] = "-l$(RUBY_SO_NAME)-static"
> > > > to:
> > > > CONFIG["LIBRUBYARG_STATIC"] = ""
> > > > _____
> > >
> > > ARCH_FLAG should be "-arch ppc" on darwin. As what is it
> > > defined, and RUBY_SO_NAME?
> > >
> >
> > CONFIG["ARCH_FLAG"] = ""
>
> From where has the flag come?
>

rbconfig.rb

> > CONFIG["RUBY_SO_NAME"] = "$(RUBY_INSTALL_NAME)"
>
> Do you have a problem at linking with the static library?
>

Haven't tried it.

> > Should we update the rbconfig.rb again? KirinDave on irc also found
> > another problem with the RC_CFLAGS environment variable causing
> > problems with, for example, RubyInline.
>
> For what is RC_CFLAGS used, and where is it set? I think ruby
> never use it.

$ grep RC_CFLAG /usr/lib/ruby/1.8/powerpc-darwin8.0/rbconfig.rb

CONFIG["LDSHARED"] = "cc $(RC_CFLAGS) -dynamic -bundle -undefined
suppress -flat_namespace"
CONFIG["LIBRUBY_LDSHARED"] = "cc $(RC_CFLAGS) -dynamic -bundle
-undefined suppress -flat_namespace"

This is looking like a plain error. Maybe a typo? RC_CFLAGS appears
to be used in darwin to allow for customized CFLAG settings. Does
this make sense to anyone? Seems like it should be changed.

nobu....@softhome.net

unread,
May 7, 2005, 12:38:17 PM5/7/05
to
Hi,

At Mon, 2 May 2005 03:18:10 +0900,
Chad Fowler wrote in [ruby-talk:140661]:


> > > CONFIG["ARCH_FLAG"] = ""
> >
> > From where has the flag come?
>
> rbconfig.rb

> This is looking like a plain error. Maybe a typo? RC_CFLAGS appears


> to be used in darwin to allow for customized CFLAG settings. Does
> this make sense to anyone? Seems like it should be changed.

Do you mean they are misconfiguration by Apple, but not a bug
of configure.in? Sorry for noise.

--
Nobu Nakada


Chad Fowler

unread,
Jul 1, 2005, 4:04:59 PM7/1/05
to


Sorry for the VERY delayed response. It is a misconfiguration by Apple.

http://rubygems.rubyforge.org (over 500,000 gems served!)


0 new messages