I have an interest in using EXErb to distribute a windows application.
But I have run into a problem right away. The exe created ends up with a
segment fault in ruby. I isolated the problem down to a very simple
example.
hello.rbc -------------------
kcode none
corename cui
script exetest.rb
library socket.so
hello.rb ---------------------
require “socket”
puts “hello”
···
I run the command (I have copied the ruby 1.8 socket.so into the local
directory)
exerb hello.rbc
hello
generates the output:
exetest.rb:1: [BUG] Segmentation fault
ruby 1.6.8 (2002-12-24) [i586-mswin32]
This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application’s support team for more information.
If I comment out the require “socket”, it works fine. The example1 in
the distribution requires Win32api.so and that works fine. Thanks for
any suggestions.
Ruby version 1.8, exerb version 2.6.6
Steve Tuckner
Hi Steve,
You need to use ruby 1.6.8’s socket.so if you used exerb’s ruby1.6.8
core. You don’t need to copy socket.so into local directory. Please use
ruby -r exerb/mkrbc hello.rb
to generate the rbc file.
Shannon
···
On Fri, 29 Aug 2003 07:11:40 +0900 Steve Tuckner STUCKNER@MULTITECH.COM wrote:
I have an interest in using EXErb to distribute a windows application. But I have run into a problem right away. The exe created ends up with a segment fault in ruby. I isolated the problem down to a very simple example.
hello.rbc -------------------
kcode none
corename cui
script exetest.rb
library socket.so
hello.rb ---------------------
require “socket”
puts “hello”
I run the command (I have copied the ruby 1.8 socket.so into the local directory)
exerb hello.rbc
hello
generates the output:
exetest.rb:1: [BUG] Segmentation fault
ruby 1.6.8 (2002-12-24) [i586-mswin32]
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application’s support team for more information.
If I comment out the require “socket”, it works fine. The example1 in the distribution requires Win32api.so and that works fine. Thanks for any suggestions.
Ruby version 1.8, exerb version 2.6.6
Steve Tuckner
–
Xiangrong Fang xrfang@hotmail.com
It turns out that the problem was that the core file being used was for 1.68
and the ruby version being used was version 1.80 and the socket library was
from 1.80. Once I used only 1.68 code, then it worked fine.
What I was wondering was how to get a core file for 1.80. In the latest
(2.6.6) distribution of Exerb, there are *.rbx files in the lib/exerb
directory.
ruby168c.rbx
ruby168g.rbx
How do I generate a ruby180.rbx?
Thanks,
Steve Tuckner
···
-----Original Message-----
From: Xiangrong Fang [mailto:xrfang@hotmail.com]
Sent: Thursday, August 28, 2003 9:07 PM
To: ruby-talk ML
Subject: Re: EXErb
Hi Steve,
You need to use ruby 1.6.8’s socket.so if you used exerb’s ruby1.6.8
core. You don’t need to copy socket.so into local directory.
Please use
ruby -r exerb/mkrbc hello.rb
to generate the rbc file.
Shannon
On Fri, 29 Aug 2003 07:11:40 +0900 > Steve Tuckner STUCKNER@MULTITECH.COM wrote:
I have an interest in using EXErb to distribute a windows
application. But I have run into a problem right away. The
exe created ends up with a segment fault in ruby. I isolated
the problem down to a very simple example.
hello.rbc -------------------
kcode none
corename cui
script exetest.rb
library socket.so
hello.rb ---------------------
require “socket”
puts “hello”
I run the command (I have copied the ruby 1.8 socket.so
into the local directory)
exerb hello.rbc
hello
generates the output:
exetest.rb:1: [BUG] Segmentation fault
ruby 1.6.8 (2002-12-24) [i586-mswin32]
This application has requested the Runtime to terminate it
in an unusual way.
Please contact the application’s support team for more information.
If I comment out the require “socket”, it works fine. The
example1 in the distribution requires Win32api.so and that
works fine. Thanks for any suggestions.
Ruby version 1.8, exerb version 2.6.6
Steve Tuckner
–
Xiangrong Fang xrfang@hotmail.com