>> However this requires *all* authors who want their gems to compile on
>> windows to add this rather ugly, non-intuitive block:
>
> Instead .def file should be used. =A0Isn't it created?

I am unfamiliar with .def files.

Is it supposed to be created by mkmf? Are the author's supposed to create i=
t?

@Luis
I've seen the problem also on windows (non cross compilation), for
example with the rjb gem.

C:\dev\PIG-2.3>gem install rjb
Building native extensions.  This could take a while...

>> require 'rjb'
LoadError: 127: The specified procedure could not be found.   - Init_rjbcor=
e
c:/ruby19/lib/ruby/gems/1.9.1/gems/rjb-1.2.5/lib/rjbcore.so
        from c:/ruby19/lib/ruby/site_ruby/1.9.1/faster_rubygems/prelude_cac=
hed_load.rb:6:in
`require'
        from c:/ruby19/lib/ruby/site_ruby/1.9.1/faster_rubygems/prelude_cac=
hed_load.rb:6:in
`require_prelude'
        from c:/ruby19/lib/ruby/gems/1.9.1/gems/rjb-1.2.5/lib/rjb.rb:21:in
`<top (required)>'
        from c:/ruby19/lib/ruby/site_ruby/1.9.1/faster_rubygems/prelude_cac=
hed_load.rb:9:in
`require'
        from c:/ruby19/lib/ruby/site_ruby/1.9.1/faster_rubygems/prelude_cac=
hed_load.rb:9:in
`rescue in require_prelude'
        from c:/ruby19/lib/ruby/site_ruby/1.9.1/faster_rubygems/prelude_cac=
hed_load.rb:5:in
`require_prelude'
        from (irb):1
        from c:/ruby19/bin/irb:12:in `<main>'

(Init_rjbcore was not exported...).
It occurs with some gems and not with others.

-r