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