Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > How to build a distributable Solaris binary for Ruby 1.8?

Reply
Thread Tools

How to build a distributable Solaris binary for Ruby 1.8?

 
 
Venkat
Guest
Posts: n/a
 
      08-11-2003
Hello all:

I apologize if I have missed any other posts that addressed this.

For our company's internal use I have always used the GCC compiler and
followed the simple instructions in the README.TXT for compiling Ruby
1.8 in Solaris as well as in Linux. Now I need to run Ruby code in one
of our customer's place and the Information Security guys there are so
paranoid they are making a big fuss about installing GCC in their
boxes. I know SunFreeware has a 1.6.7 binary but I need 1.8.

Instead of fighting with them, is there any way I can compile Ruby 1.8
in our Sun boxes to create a build I can take and and install in the
customer's Solaris box?

I appreicate your help.

Thanks and Best Regards,
Venkat.
 
Reply With Quote
 
 
 
 
Brian Candler
Guest
Posts: n/a
 
      08-11-2003
On Tue, Aug 12, 2003 at 12:39:12AM +0900, Venkat wrote:
> Instead of fighting with them, is there any way I can compile Ruby 1.8
> in our Sun boxes to create a build I can take and and install in the
> customer's Solaris box?


Something like this ought to do the trick:

tar -czf rubydist.tar.gz \
/usr/local/lib/ruby/1.8 /usr/local/lib/ruby/site-ruby/1.8 \
/usr/local/bin/ruby /usr/local/bin/irb /usr/local/bin/erb \
/usr/local/lib/libruby-static.a

This has the advantage that any RAA packages you added to the core will also
be in your tarball.

If you configured with --enable-dynamic then you'll have to include
/usr/local/lib/libruby.so* as well.

Oh, that assumes you have a sensible GNU tar, if stock Solaris then
tar -cf rubydist.tar ...list of files...
gzip -9 rubydist.tar

You should do 'ldd /usr/local/bin/ruby' to see what it's dynamically linked
against, and make sure the target system has the same libraries: e.g.

$ ldd /usr/local/bin/ruby
libdl.so.1 => /lib/libdl.so.1
libcrypt_i.so.1 => /lib/libcrypt_i.so.1
libm.so.1 => /lib/libm.so.1
libc.so.1 => /lib/libc.so.1
libgen.so.1 => /lib/libgen.so.1
/usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1

HTH,

Brian.

 
Reply With Quote
 
 
 
 
Daniel Berger
Guest
Posts: n/a
 
      08-11-2003
Brian Candler wrote:
>
> On Tue, Aug 12, 2003 at 12:39:12AM +0900, Venkat wrote:
> > Instead of fighting with them, is there any way I can compile Ruby 1.8
> > in our Sun boxes to create a build I can take and and install in the
> > customer's Solaris box?

>
> Something like this ought to do the trick:
>
> tar -czf rubydist.tar.gz \
> /usr/local/lib/ruby/1.8 /usr/local/lib/ruby/site-ruby/1.8 \
> /usr/local/bin/ruby /usr/local/bin/irb /usr/local/bin/erb \
> /usr/local/lib/libruby-static.a
>
> This has the advantage that any RAA packages you added to the core will also
> be in your tarball.
>
> If you configured with --enable-dynamic then you'll have to include
> /usr/local/lib/libruby.so* as well.
>
> Oh, that assumes you have a sensible GNU tar, if stock Solaris then
> tar -cf rubydist.tar ...list of files...
> gzip -9 rubydist.tar
>
> You should do 'ldd /usr/local/bin/ruby' to see what it's dynamically linked
> against, and make sure the target system has the same libraries: e.g.
>
> $ ldd /usr/local/bin/ruby
> libdl.so.1 => /lib/libdl.so.1
> libcrypt_i.so.1 => /lib/libcrypt_i.so.1
> libm.so.1 => /lib/libm.so.1
> libc.so.1 => /lib/libc.so.1
> libgen.so.1 => /lib/libgen.so.1
> /usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1
>
> HTH,
>
> Brian.


I just noticed that sunfreeware.com doesn't appear to have a 1.8 package
yet. The only one I see is a 1.6.7 (!) package for Solaris 8 and
earlier. If I knew how to build one, I'd submit it. Anyone else?

Would your admins be willing to install a package?

Regards,

Dan

 
Reply With Quote
 
Brian Candler
Guest
Posts: n/a
 
      08-11-2003
On Tue, Aug 12, 2003 at 01:07:02AM +0900, Daniel Berger wrote:
> I just noticed that sunfreeware.com doesn't appear to have a 1.8 package
> yet. The only one I see is a 1.6.7 (!) package for Solaris 8 and
> earlier. If I knew how to build one, I'd submit it. Anyone else?
>
> Would your admins be willing to install a package?


Ah, I misunderstood if you wanted a pkgadd-type package.

We just compile from source, it's a 2-minute job (well, a 2-minute job under
FreeBSD, but a 10-minute job under Slowlaris)

B.

 
Reply With Quote
 
google-venkatp@sneakemail.com
Guest
Posts: n/a
 
      08-11-2003
In article <(E-Mail Removed)>, Daniel Berger says...
>
>Brian Candler wrote:
>>
>> On Tue, Aug 12, 2003 at 12:39:12AM +0900, Venkat wrote:
>> > Instead of fighting with them, is there any way I can compile Ruby 1.8
>> > in our Sun boxes to create a build I can take and and install in the
>> > customer's Solaris box?

>>
>> Something like this ought to do the trick:
>>
>> tar -czf rubydist.tar.gz \
>> /usr/local/lib/ruby/1.8 /usr/local/lib/ruby/site-ruby/1.8 \
>> /usr/local/bin/ruby /usr/local/bin/irb /usr/local/bin/erb \
>> /usr/local/lib/libruby-static.a
>>
>> This has the advantage that any RAA packages you added to the core will also
>> be in your tarball.
>>
>> If you configured with --enable-dynamic then you'll have to include
>> /usr/local/lib/libruby.so* as well.
>>
>> Oh, that assumes you have a sensible GNU tar, if stock Solaris then
>> tar -cf rubydist.tar ...list of files...
>> gzip -9 rubydist.tar
>>
>> You should do 'ldd /usr/local/bin/ruby' to see what it's dynamically linked
>> against, and make sure the target system has the same libraries: e.g.
>>
>> $ ldd /usr/local/bin/ruby
>> libdl.so.1 => /lib/libdl.so.1
>> libcrypt_i.so.1 => /lib/libcrypt_i.so.1
>> libm.so.1 => /lib/libm.so.1
>> libc.so.1 => /lib/libc.so.1
>> libgen.so.1 => /lib/libgen.so.1
>> /usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1
>>
>> HTH,
>>
>> Brian.

>
>I just noticed that sunfreeware.com doesn't appear to have a 1.8 package
>yet. The only one I see is a 1.6.7 (!) package for Solaris 8 and
>earlier. If I knew how to build one, I'd submit it. Anyone else?
>
>Would your admins be willing to install a package?
>
>Regards,
>
>Dan
>

The admin guys are ok with installing a package. It is just that they are not
comfortable with compilers and stuff. I can handle them better if I am face to
face with them. I am in NJ and they are in Singapore.

Thanks and Regards,
Venkat.

 
Reply With Quote
 
Jim Freeze
Guest
Posts: n/a
 
      08-11-2003
On Tuesday, 12 August 2003 at 0:53:30 +0900, Brian Candler wrote:
> On Tue, Aug 12, 2003 at 12:39:12AM +0900, Venkat wrote:
> > Instead of fighting with them, is there any way I can compile Ruby 1.8
> > in our Sun boxes to create a build I can take and and install in the
> > customer's Solaris box?

>
> Something like this ought to do the trick:
>
> tar -czf rubydist.tar.gz \
> /usr/local/lib/ruby/1.8 /usr/local/lib/ruby/site-ruby/1.8 \
> /usr/local/bin/ruby /usr/local/bin/irb /usr/local/bin/erb \
> /usr/local/lib/libruby-static.a
>


If what you want is a binary install, then Brian's solution
does all but change the paths stored inside the ruby executable.

If you want to do a binary install, I can give you some code
that will allow you to do a binary install and then change
the internally stored paths to the correct location.


--
Jim Freeze
----------
Jone's Law:
The man who smiles when things go wrong has thought of someone
to blame it on.

 
Reply With Quote
 
nobu.nokada@softhome.net
Guest
Posts: n/a
 
      08-12-2003
Hi,

At Tue, 12 Aug 2003 00:53:30 +0900,
Brian Candler wrote:
> If you configured with --enable-dynamic then you'll have to include
> /usr/local/lib/libruby.so* as well.
>
> Oh, that assumes you have a sensible GNU tar, if stock Solaris then
> tar -cf rubydist.tar ...list of files...
> gzip -9 rubydist.tar


You can install ruby into a particular place by DESTDIR,
regardless configured prefix.

$ destdir=/var/tmp/clean/install/ruby
$ make install DESTDIR=$destdir
$ cd $destdir
$ tar -cf $tmpdir/rubydist.tar usr/local/*
$ gzip -9 $tmpdir/rubydist.tar

Note that you have to untar it at the root directory.

--
Nobu Nakada

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
Are there other Ruby folks using "distributable dynamic agents" forproject work? SwarmShepherd Ruby 6 04-25-2011 11:53 PM
Create A Distributable Ruby Program With Minimal Install Wesley Rishel Ruby 5 04-01-2008 12:15 AM
SWsoft Acronis Disk Director Suite 9.0 Build 508, Acronis OS Selector 8.0 Build 917, Acronis Partition Expert 2003 Build 292, Acronis Power Utilities 2004 Build 502, F-SECURE.ANTI vIRUS.PROXY v1.10.17.WINALL, F-SECURE.ANTI vIRUS v5.50.10260 for CITRI vvcd Computer Support 0 09-25-2004 01:38 AM
build a binary for Windows on Linux, Solaris or Mac OSX? Skip Montanaro Python 9 07-19-2004 09:26 AM



Advertisments