----- Original Message ----- 
From: "Arie Kusuma Atmaja" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, May 10, 2007 1:55 PM
Subject: [id-ruby] ruby1.9


| buat yang suka mainan ruby1.9, yarv, etc
| disini ada yg bikin ngiler:
| http://eigenclass.org/hiki/Changes+in+Ruby+1.9
|
| agenda ruby yarv juga ada di eigenclass.
|
| buat ridho kali aja mau dishare cara nginstallnya (kalau sempat
| dicopypaste aja dari console) soalnya kali aja disini juga banyak yg
| gatel sama mainan hot itu ;-) # yg jelas setau saya kalau nekat nyoba2
| nginstal ngompail dari source lumayan banyak. tapi curhatnya gak
| tersampaikan
|
| ps.ini sekadar berbagi aja, karena dulu saya pernah di japri suka banget
|  sama mainan ruby yarv ini sampai-sampai membanding-bandingkan dengan
| agenda pugs
|

hehe, actually, cara nginstall via source di *n[i|u]x based system
is as easy as:

./configure
make
make install

last week saya coba svn ruby trunk, lupa kemarin udah sampe revision berapa,
yang pasti, sampai dengan saat ini, (barusan svn update di revisi 12272),
berhasil saya compile (dengan beberapa catatan*):

[EMAIL PROTECTED]:~/svn_data/ruby> ./ruby-19 -v
ruby 1.9.0 (2007-05-10 patchlevel 0) [i386-freebsd6.2]

Namun:

[EMAIL PROTECTED]:~/svn_data/ruby> ./ruby-19 -e 'print "hi"'
: -- stack frame ------------
0000 (0x8366000): 00000000 <- lfp <- dfp
-- control frame ----------
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------
---------------------------
[BUG] Segmentation fault
ruby 1.9.0 (2007-05-10) [i386-freebsd6.2]

Abort (core dumped)

Haha.. the engine still blow up :D



* buat yang mau playing, berikut beberapa catatan sekuen saat
saya mengcompile: (i do with freebsd, should be same on linux)

1. get the directory to work:

[EMAIL PROTECTED]:~> cd ~/svn_data/
[EMAIL PROTECTED]:~/svn_data>

2. get latest ruby svn trunk:

Jika belum pernah checkout sebelumnya, maka:

    svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby

atau jika sebelumnya sudah pernah checkout, cukup dengan:

    cd ruby    # point to directory where your svn checkout goes
    svn update

3. Use *autoconf* untuk membuat file *configure*, mine here use
autoconf259, so:

    autoconf259

4. Sekarang sudah ada file script configure-nya, so, after here is
just doing the triple build mantra (configure && make && make install),
but, baiknya kita kasih beberapa opsi disini biar supaya aman
dan tidak menimbulkan clash atau dugaan yang tidak2 kalo server
bermasalah :D

+  set --prefix ke lokasi yang aman
+  set --program-suffix supaya tidak bentrok dan gampang manggilnya
+  afaik, ruby-19 memerlukan lib openSSL 0.9.8.
    up to versi 6.2 of FreeBSD, bundled openssl is OpenSSL 0.9.7e-p1
    i can not compile ruby openssl extension with this, so i 
use --without-openssl

jadi, full configure args yang saya gunakan adalah sbb:

    ./configure --prefix=/home/reedho/opt --program-suffix=-19 --without-openssl

Watch for the console, apa yang ada disitu, selama ini saya rasakan
akan membantu mempertajam insting sysadmin :-), then:

    make

Again, if you not busy enough, watch for the console.. those lines tell
us what is going on and give us enough summary what inside ruby..
and ... wait... error catch our eye :-|

ripper.y: In function `ripper_yyparse':
ripper.y:3178: error: syntax error before '}' token
*** Error code 1

Stop in /usr/home/reedho/svn_data/ruby/ext/ripper.
*** Error code 1

Stop in /usr/home/reedho/svn_data/ruby.


Don't panic.. easy scan the line and think what is goin on,
Note: read from the bottom, not the top. it say we should
investigate ripper.y line 33178, no problem, fire up vi and
go to line 33178

vi ext/ripper/ripper.y

hmm, bahasa aneh, tapi yang pasti katanya syntax error before '}',
usut punya usut, sepertinya baris diatasnya kurang titik koma,
jadi saya tambah saja titik koma di akhir barisnya, kira2 menjadi
sbb:

bvar            :  f_norm_arg
                    {
#if 0
                        new_bv($1);
#endif
                        $$ = dispatch0(new_blockvars);

                    }
                ;

save it, and continue our building:

    make


wew... finally, it is success making ruby-19.

but, before we *make install*, better we try *make test* before:

    make test

and the engine blow :D

[EMAIL PROTECTED]:~/svn_data/ruby> make test
: -- stack frame ------------
0000 (0x8366000): 00000000 <- lfp <- dfp
-- control frame ----------
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------
---------------------------
[BUG] Segmentation fault
ruby 1.9.0 (2007-05-10) [i386-freebsd6.2]


next quick inspection is to run:

    ./ruby-19 -e 'puts "hello"'

but the engine still blow up :(


Hehe.. sorry kepanjangan, metode diatas juga berlaku untuk
semua instalasi via source under unix atau linux :-)

if u wish try yarv, get the source here:
http://www.atdot.net/~ko1/archive/yarv-latest.tar.gz
http://www.atdot.net/yarv/yarv-0.4.1.tar.gz


As bonus, read this interview for a rest :-)
http://blog.grayproductions.net/articles/2007/02/16/the-ruby-vm-serial-interview


regards,
reedho.




Kirim email ke