Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail From: Steve Gooberman-Hill Newsgroups: comp.lang.ruby Subject: ARM Port - Ruby1.8.7 on Techbase NPE Industrial Computer (GSM / GPRS / EDGE Modem) Date: Mon, 6 Feb 2012 02:20:57 -0800 (PST) Organization: http://groups.google.com Lines: 79 Message-ID: <5178771.72.1328523657375.JavaMail.geo-discussion-forums@yqds15> Reply-To: comp.lang.ruby@googlegroups.com NNTP-Posting-Host: 2.29.80.100 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1328523657 19214 127.0.0.1 (6 Feb 2012 10:20:57 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 6 Feb 2012 10:20:57 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=2.29.80.100; posting-account=Yo5vdwoAAABwM3_Ud-3Tzlr1N-lEK6lf User-Agent: G2/1.0 X-Google-Web-Client: true Xref: x330-a1.tempe.blueboxinc.net comp.lang.ruby:6447 Hi, I'd just like to let folks know that I have a successful port of ruby1.8.7p= 357 onto the Techbase NPE series. The Techbase modem is a nice little device (and no, I don't work for them!)= . It has variants either without or with various flavours of cellular coms)= , and also has an RS485 (Modbus) port as well as Ether which makes it suita= ble for industrial monitoring. Unfortunately, ruby 1.9 won't run properly on this device - threading is br= oken as the current ulibc installed on the NPE series is quite old, and a b= it broken, so we are stuck with ruby1.8 at the moment. Techbase claim there= is no demand for embedded ruby (maybe they are right!), so they are unlike= ly to update their toolchain. However if there is demand, they will update = the toolchain. Anyway, for those who are interested, here is how the port was done - it is= n't too painful, but ruby1.8 does not run quickly on this device! if you want to discuss - please use my work email address steve at ucratos = dot com. kind regards steve Cross compile instructions for the Techbase NPE range =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D Steve Gooberman-Hill=20 Feb 2012 1. download ruby (1.8.7-p357 ) from ruby-lang.org, and unpack gunzip ruby-1.8.7-p357.tar.gz =20 tar -xvf ruby-1.8.7-p357.tar 2. Obtain the NPE toolchain and unpack. Note - this really need to be in a = /home/user directory, so creating a "user" user is probably the easiest way= to do this.=20 3. At the moment I have an npe user which uses the /home/user directory, so= I login as npe =20 4. There is an error in the configure file when cross-compiling. comment ou= t or remove lines 9040-9078, as setpgrp is not needed for a cross compile =20 5. Now configure and build npe@steve-laptop:/home/user/ruby-1.8.7-p357$ ./configure --build=3Di686-= linux --host=3Darm-linux CC=3D/home/user/ARMLinux/buildroot/build_arm/stagi= ng_dir/bin/arm-linux-cc --prefix /mnt/nand-user/ruby1.8.7=20 6. The generated makefile doesn't work as stock. Assuming you have an exist= ing ruby 1.8 installation with binary ruby1.8 (I haven't tried using ruby1.= 9 existing installation but may work): a. replace the MINIRUBY definition with MINIRUBY =3D ruby1.8 -I/home/user/ruby-1.8.7-p357 -I /home/user/ruby-1= .8.7-p357/lib -rfake $(MINIRUBYOPT) b. Socket support: IPV6 enable/disable at the configure line appears brok= en, so edit ext/socket/extconfig.rb, comment out lines 52 and 53 so they re= ad # $defs << "-DENABLE_IPV6" << "-DINET6" # ipv6 =3D true 7. now you should be able to make ruby and install npe@steve-laptop:/home/user/ruby-1.8.7-p357$ make; make install =20 8. Finally, copy /mnt/nand-user/ruby1.8.7 onto the NPE device, into mnt/nan= -user/ruby1.8.7. Then use symbolic links to make it available (I simply ln = -s / mnt/nand-user/ruby1.8.7 /usr/local = = = =20