Make install question

Hi:

I am about 90% done with creating a binary install
for ruby. Here is what I have done so far:

On a build capable machine (ie, has gcc, ld, etc…)

  1. set --prefix (may also support --with-site-dir , --with-search-path)
    to a path larger than the install path. E.g.,
    –prefix=/A12345678901234567890A
  2. make
  3. Copy an update script I created and make to the ruby directory
  4. tar it all up for the binary install

At the install location

  1. Untar the file
  2. Run the install script giving it the install path.
    This script does:
    a) patches ruby and miniruby with the correct install path
    b) runs the update script which replaces the build prefix
    with the install prefix in the Makefiles and rbconfig.rb.
    c) add ‘.’ to the path (for the next step)
    d) runs ‘make install’

The only remaining item left is to figure out how to get
ruby to install all the .so files that were built when
the shared libraries (they reference) don’t exist.

If the install machine has a path set only to ‘.’, then no
.so files get installed under lib/ruby/1.8/sparc-solaris2.8/.

Apparently the installer will not copy a .so library if
the libraries given by ldd .so are not in some path.

But I must be missing something, because I copied all the
.so libs that ruby refers to to the install machine and
set both my path and LD_LIBRARY_PATH to the directory, but
no .so files were installed.

Can someone explain what is happening here?

Thanks

···


Jim Freeze

The fact that it works is immaterial.
– L. Ogborn