RPM for 1.8.0

I would like to get / build a Mandrake 9.1 RPM for Ruby-1.8.0 Preview 3
for distribution to a bunch of machines.

Does anybody have such a beast or a 1.8 .spec file?

Thanks,

John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand

A Million Monkeys can inflict worse things than just Shakespeare on
your system.

I would like to get / build a Mandrake 9.1 RPM for Ruby-1.8.0 Preview 3
for distribution to a bunch of machines.

Does anybody have such a beast or a 1.8 .spec file?

Thanks,

John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand

A Million Monkeys can inflict worse things than just Shakespeare on
your system.

ruby.spec (6.92 KB)

ruby-info.patch (2.49 KB)

ruby-curses-terminfo.patch (723 Bytes)

···

On Wed, 2003-06-25 at 19:44, John Carter wrote:

Aredridel’s .spec file was a good start. It seems to be a RedHat rather
than Mandrake .spec, but using
%configure
instead of
%configure2_13
solved the first problem.

And removing the --enable-shared solved the
next.

However I’m stuck on another problem.

Although I can build 1.8.0 Preview3 straight out the box, no problem, as
part of the
rpm -bb
I now get…
/usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:785:in init_mkmf': uninitialized constant CONFIG (NameError) from /usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:816 from ./ext/extmk.rb:28:inrequire’
from ./ext/extmk.rb:28

Which is a bit weird.

Any ideas?

John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand

A Million Monkeys can inflict worse things than just Shakespeare on
your system.

You can get RPMs of Ruby 1.8 from my Web site:

Ruby Projects

You’ll also find many, many modules and extensions in RPM form here:

http://www.caliban.org/files/redhat/RPMS/i386/

Ian

···

On Thu 26 Jun 2003 at 11:44:00 +0900, John Carter wrote:

Aredridel’s .spec file was a good start. It seems to be a RedHat rather
than Mandrake .spec, but using
%configure
instead of
%configure2_13
solved the first problem.

And removing the --enable-shared solved the
next.

However I’m stuck on another problem.

Although I can build 1.8.0 Preview3 straight out the box, no problem, as
part of the
rpm -bb
I now get…
/usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:785:in init_mkmf': uninitialized constant CONFIG (NameError) from /usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:816 from ./ext/extmk.rb:28:in require’
from ./ext/extmk.rb:28


Ian Macdonald | Love is staying up all night with a sick
System Administrator | child, or a healthy adult.
ian@caliban.org |
http://www.caliban.org |
>

Hi,

Aredridel’s .spec file was a good start. It seems to be a RedHat rather
than Mandrake .spec, but using
%configure
instead of
%configure2_13
solved the first problem.

What does %configure2_13? 1.8.0 needs autoconf 2.50 or later.

And removing the --enable-shared solved the
next.

What problem?

Although I can build 1.8.0 Preview3 straight out the box, no problem, as
part of the
rpm -bb
I now get…
/usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:785:in init_mkmf': uninitialized constant CONFIG (NameError) from /usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:816 from ./ext/extmk.rb:28:in require’
from ./ext/extmk.rb:28

Has rbconfig.rb been made properly? Maybe empty?

···

At Thu, 26 Jun 2003 11:44:00 +0900, John Carter wrote:


Nobu Nakada

Removing the --enable-shared stops the following crash…
/usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:367: [BUG] Segmentation fault
ruby 1.8.0 (2003-06-23) [i586-linux-gnu]

rbconfig.rb does exist, (a bizp2 compress version of it is attached)
and seems to have reasonable things in it,
“miniruby -c rbconfig.rb”
reports “Syntax OK”

Trying to run mkmf.rb reports a BUG…

cd /usr/src/RPM/BUILD/ruby-1.8.0/lib/
…/miniruby -I… mkmf.rb
: [BUG] unknown node type 0
ruby 1.8.0 (2003-06-23) [i586-linux-gnu]

Running…
valgrind …/miniruby -I… mkmf.rb

I get a lot of… (in addition to usual gc stuff)

==2840== Conditional jump or move depends on uninitialised value(s)
==2840== at 0x806D918: mark_locations_array (in
/usr/src/RPM/BUILD/ruby-1.8.0/miniruby)
==2840== by 0x808D25A: yycompile (in
/usr/src/RPM/BUILD/ruby-1.8.0/miniruby)

rbconfig.rb.bz2 (1.82 KB)

···

On Thu, 26 Jun 2003 nobu.nokada@softhome.net wrote:

Hi,

At Thu, 26 Jun 2003 11:44:00 +0900, > John Carter wrote:

Aredridel’s .spec file was a good start. It seems to be a RedHat rather
than Mandrake .spec, but using
%configure
instead of
%configure2_13
solved the first problem.

What does %configure2_13? 1.8.0 needs autoconf 2.50 or later.

And removing the --enable-shared solved the
next.

What problem?

Although I can build 1.8.0 Preview3 straight out the box, no problem, as
part of the
rpm -bb
I now get…
/usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:785:in init_mkmf': uninitialized constant CONFIG (NameError) from /usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:816 from ./ext/extmk.rb:28:in require’
from ./ext/extmk.rb:28

Has rbconfig.rb been made properly? Maybe empty?


Nobu Nakada

John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand

A Million Monkeys can inflict worse things than just Shakespeare on
your system.

Unfortunately Mandrake 9.1 seems to have diverged too far from RedHat for
these to be usable.

Thanks,

John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand

A Million Monkeys can inflict worse things than just Shakespeare on
your system.

···

On Thu, 26 Jun 2003, Ian Macdonald wrote:

You can get RPMs of Ruby 1.8 from my Web site:

Ruby Projects

In article 200306260507.h5Q57vuG016989@sharui.nakada.kanuma.tochigi.jp,

Hi,

Aredridel’s .spec file was a good start. It seems to be a RedHat rather
than Mandrake .spec, but using
%configure
instead of
%configure2_13
solved the first problem.

What does %configure2_13? 1.8.0 needs autoconf 2.50 or later.

One thing which tripped me up for a while in mandrake was that I needed
two autoconfs to be installed to be able to build a lot of open source
software - what does the original poster have installed?

[mike@ratdog mike]$ rpm -qa | grep autoconf
autoconf-2.13-16mdk
autoconf2.5-2.57-3mdk

Sorry if this is a red herring (false lead)

Mike

···

nobu.nokada@softhome.net wrote:

At Thu, 26 Jun 2003 11:44:00 +0900, >John Carter wrote:

mike@stok.co.uk | The “`Stok’ disclaimers” apply.
http://www.stok.co.uk/~mike/ | GPG PGP Key 1024D/059913DA
mike@exegenix.com | Fingerprint 0570 71CD 6790 7C28 3D60
http://www.exegenix.com/ | 75D2 9EC4 C1C0 0599 13DA

Hi,

Aredridel’s .spec file was a good start. It seems to be a RedHat rather
than Mandrake .spec, but using
%configure
instead of
%configure2_13
solved the first problem.

What does %configure2_13? 1.8.0 needs autoconf 2.50 or later.

My PLD spec file uses %configure2_13 until I can figure out why the 2.5
version puts blanks on the commandline and causes the build error I had
a couple days ago. The 2_13 version happens to work well enough, just
gives a single warning.

And removing the --enable-shared solved the
next.

What problem?

Although I can build 1.8.0 Preview3 straight out the box, no problem, as
part of the
rpm -bb
I now get…
/usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:785:in init_mkmf': uninitialized constant CONFIG (NameError) from /usr/src/RPM/BUILD/ruby-1.8.0/lib/mkmf.rb:816 from ./ext/extmk.rb:28:in require’
from ./ext/extmk.rb:28

Has rbconfig.rb been made properly? Maybe empty?

That sounds like problems with your distro’s configure macro as well.
You might try doing it manually, with:

./configure --prefix=/usr

Though I hate to do that with PLD since it puts things in totally
FHS-compliant places with it’s native macro.

Ari

···

On Wed, 2003-06-25 at 23:08, nobu.nokada@softhome.net wrote:

At Thu, 26 Jun 2003 11:44:00 +0900, > John Carter wrote:

Hi,

cd /usr/src/RPM/BUILD/ruby-1.8.0/lib/
…/miniruby -I… mkmf.rb
: [BUG] unknown node type 0
ruby 1.8.0 (2003-06-23) [i586-linux-gnu]

It’s a bug of ruby. Could you show us the stack trace?

Running…
valgrind …/miniruby -I… mkmf.rb

I get a lot of… (in addition to usual gc stuff)

==2840== Conditional jump or move depends on uninitialised value(s)
==2840== at 0x806D918: mark_locations_array (in
/usr/src/RPM/BUILD/ruby-1.8.0/miniruby)
==2840== by 0x808D25A: yycompile (in
/usr/src/RPM/BUILD/ruby-1.8.0/miniruby)

I’m not sure if it would be a problem.

···

At Thu, 26 Jun 2003 14:42:48 +0900, John Carter wrote:


Nobu Nakada

How hard would it be to write a ruby program that generated a set of
{S,}RPMs from the tarball? (A genuine question - I don’t know too much
about packaging issues).

martin

···

John Carter john.carter@tait.co.nz wrote:

On Thu, 26 Jun 2003, Ian Macdonald wrote:

You can get RPMs of Ruby 1.8 from my Web site:

Ruby Projects

Unfortunately Mandrake 9.1 seems to have diverged too far from RedHat for
these to be usable.

PLD takes another stance – instead of installing both, they patch all
the source to be 2.5 compatible. It’s pretty easy, usually.

Ari

···

On Thu, 2003-06-26 at 05:53, Mike Stok wrote:

In article 200306260507.h5Q57vuG016989@sharui.nakada.kanuma.tochigi.jp,
nobu.nokada@softhome.net wrote:

Hi,

At Thu, 26 Jun 2003 11:44:00 +0900, > >John Carter wrote:

Aredridel’s .spec file was a good start. It seems to be a RedHat rather
than Mandrake .spec, but using
%configure
instead of
%configure2_13
solved the first problem.

What does %configure2_13? 1.8.0 needs autoconf 2.50 or later.

One thing which tripped me up for a while in mandrake was that I needed
two autoconfs to be installed to be able to build a lot of open source
software - what does the original poster have installed?

rpm -qa | grep autoconf
autoconf-2.13-16mdk
autoconf2.5-2.57-3mdk

Nope, that doesn’t seem to be the problem. In any case autoconf is the
step before configure, and isn’t run by the .spec file.

John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand

A Million Monkeys can inflict worse things than just Shakespeare on
your system.

···

On Thu, 26 Jun 2003, Mike Stok wrote:

One thing which tripped me up for a while in mandrake was that I needed
two autoconfs to be installed to be able to build a lot of open source
software - what does the original poster have installed?

[mike@ratdog mike]$ rpm -qa | grep autoconf
autoconf-2.13-16mdk
autoconf2.5-2.57-3mdk

Sorry, thats all there is. There is no stack trace. Nothing more than that
is printed out.

···

On Thu, 26 Jun 2003 nobu.nokada@softhome.net wrote:

Hi,

At Thu, 26 Jun 2003 14:42:48 +0900, > John Carter wrote:

cd /usr/src/RPM/BUILD/ruby-1.8.0/lib/
…/miniruby -I… mkmf.rb
: [BUG] unknown node type 0
ruby 1.8.0 (2003-06-23) [i586-linux-gnu]

It’s a bug of ruby. Could you show us the stack trace?

Running…
valgrind …/miniruby -I… mkmf.rb

I get a lot of… (in addition to usual gc stuff)

==2840== Conditional jump or move depends on uninitialised value(s)
==2840== at 0x806D918: mark_locations_array (in
/usr/src/RPM/BUILD/ruby-1.8.0/miniruby)
==2840== by 0x808D25A: yycompile (in
/usr/src/RPM/BUILD/ruby-1.8.0/miniruby)

I’m not sure if it would be a problem.


Nobu Nakada

John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand

A Million Monkeys can inflict worse things than just Shakespeare on
your system.

That’s what the .spec file is – a set of instructions for packaging a
set of sources as an RPM.

Ari

···

On Thu, 2003-06-26 at 00:51, Martin DeMello wrote:

John Carter john.carter@tait.co.nz wrote:

On Thu, 26 Jun 2003, Ian Macdonald wrote:

You can get RPMs of Ruby 1.8 from my Web site:

Ruby Projects

Unfortunately Mandrake 9.1 seems to have diverged too far from RedHat for
these to be usable.

How hard would it be to write a ruby program that generated a set of
{S,}RPMs from the tarball? (A genuine question - I don’t know too much
about packaging issues).

Hi,

Sorry, thats all there is. There is no stack trace. Nothing more than that
is printed out.

Try

$ gdb …/miniruby

run -I… mkmf.rb

and “bt” after SEGV.

BTW, what CFLAGS do you compile with?

···

At Thu, 26 Jun 2003 15:34:51 +0900, John Carter wrote:


Nobu Nakada

bt
#0 0x400a0481 in kill () from /lib/i686/libc.so.6
#1 0x400a0215 in raise () from /lib/i686/libc.so.6
#2 0x400a176b in abort () from /lib/i686/libc.so.6
#3 0x080d5a6e in rb_bug (fmt=0x0) at error.c:191
#4 0x0805a771 in module_setup (module=1076033948, n=0x4022fa78) at eval.c:3675
#5 0x08059a96 in rb_eval (self=1075685964, n=0x0) at eval.c:3600

Which flags? Well that was interesting. If I tried with my standard
see everything in the stack frame flags -g -O0, the problem went away!

So I put the old flags back one by one and found the old
vomit-frame-point, (sorry that should be -fomit), was the culprit.

Sounds to me like an uninitialised variable somewhere. (Anybody have a
Valgrind suppressions file for ruby-1.8.0?)

Since it has -fomit-frame-pointer, in I’m not sure how helpful the
backtrace really is.

Going up to frame #4
frame 4
#4 0x0805a771 in module_setup (module=1076033948, n=0x4022fa78) at eval.c:3675
3675 result = rb_eval(ruby_cbase, node->nd_next);

p *node
$3 = {flags = 84940863, nd_file = 0x8161919 “./rbconfig.rb”, u1 = {node = 0x0, id = 0, value = 0,
cfunc = 0, tbl = 0x0}, u2 = {node = 0x0, id = 0, argc = 0, value = 0}, u3 = {
node = 0x40233dd0, id = 1076051408, state = 1076051408, entry = 0x40233dd0, cnt = 1076051408,
value = 1076051408}}

(gdb) p n
$6 = (NODE *) 0x4022fa78
(gdb) p *n
$7 = {flags = 2787391, nd_file = 0x8161919 “./rbconfig.rb”, u1 = {node = 0x401aebf4,
id = 1075506164, value = 1075506164, cfunc = 0x401aebf4, tbl = 0x401aebf4}, u2 = {
node = 0x4022fa8c, id = 1076034188, argc = 1076034188, value = 1076034188}, u3 = {node = 0x0,
id = 0, state = 0, entry = 0x0, cnt = 0, value = 0}}

···

On Thu, 26 Jun 2003 nobu.nokada@softhome.net wrote:

Hi,

At Thu, 26 Jun 2003 15:34:51 +0900, > John Carter wrote:

Sorry, thats all there is. There is no stack trace. Nothing more than that
is printed out.

Try

$ gdb …/miniruby

run -I… mkmf.rb

and “bt” after SEGV.

BTW, what CFLAGS do you compile with?


Nobu Nakada

John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand

A Million Monkeys can inflict worse things than just Shakespeare on
your system.