On 6 Apr 2005, at 15:38, nobu.nokada / softhome.net wrote:

>> sorry for such n00b question, but just can't figure it out, tried
>> several different LDFLAGS options after googling, and currently have
>> the following options set:
>
> If you need libstdc++, using have_library instead would be best
> right now.
>
>   have_library("stdc++")
>   dir_config("fmod", "/usr/local")

I included have_library("stdc++") in extconf.rb and took out the LDFLAG 
stuff calling libstdc++ from there;

I get:

waldorf:~/Development/music/hail-ruby dc$ ./extconf.rb
checking for fmod.h... yes
checking for main() in -lstdc++... yes
checking for main() in -lfmod... yes
creating Makefile

After running make, the bottom of the output reads:

g++ -dynamic -bundle -undefined suppress -flat_namespace  
-L'/usr/local/lib' -L'/usr/local/lib' -o hail.bundle Audio.o Channel.o 
Channel2D.o Channel3D.o ChannelEax.o EaxMaterial.o Hail.o Listener.o 
ListenerEax.o Log.o Manager.o Memory.o RbVector3.o Sample.o Scheduler.o 
Signal.o Sound.o SparseSwitcher.o Stream.o Timer.o Vector3.o  -lruby 
-lfmod -lstdc++  -ldl -lobjc

And the output of 'sudo make install' gives;

install -c -p -m 0755 hail.bundle 
/usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin
install -c -p -m 0644 ./lib/hail/AudioExtensions.rb 
/usr/local/lib/ruby/site_ruby/1.8/hail
install -c -p -m 0644 ./lib/hail/CrowdSynth.rb 
/usr/local/lib/ruby/site_ruby/1.8/hail
install -c -p -m 0644 ./lib/hail/EAX.rb 
/usr/local/lib/ruby/site_ruby/1.8/hail
install -c -p -m 0644 ./lib/hail/Log.rb 
/usr/local/lib/ruby/site_ruby/1.8/hail

However, to answer Sam's question below, I'm still getting 'dyld: ruby 
Undefined symbols'...will list some below:

On 6 Apr 2005, at 15:39, Sam Roberts wrote:

> Could you include some of the symbols?
>
> Ruby expects an extension to have known entry points and those points
> must be declared extern C, i.e. to have C linkage:

waldorf:~/Development/music/hail-ruby dc$ irb
irb(main):001:0> require 'hail'
dyld: ruby Undefined symbols:
_AbsoluteToDuration
_AddDurationToAbsolute
_BitClr
_BitTst
_CloseOpenTransportInContext
_Dequeue
_DisposePtr
_Enqueue
_Fix2Long

<snip>

_SndDoImmediate
_SndNewC_SndSoundManagerVersion
_UpTime
_YieldToAnyThread
__MPIsFullyInitialized
Trace/BPT trap

Unfortunately, I'm not sure what Sam means by 'entry points', due my 
total lack of C and newbie programmer skills in Ruby...

Does this throw more light on the problem?

Hope you guys see something I don't...

d