Were I able to install at the default location,
things would be golden. Unfortunately, that’s
not an option.
My first attempt at installing failed horribly.
(Couldn’t access GetoptLong, for instance, because
the site variables are pointing to the default location.)
I’m gearing up to try again.
There seem to be two ways to do it:
- Do things manually
- Specify command lone options when running configure
- Specify command line options when running configure.
This seems like the right way to go, but there are /many/ options (below). The ones I could maybe use are: --with-sitedir=DIR site libraries in DIR Default: PREFIX/lib/ruby/site_ruby (But I set PREFIX when I ran make last time!) I tried doing the build without the special instructions, and ran into an error when the script tried to do this: mkdir -p -m 755 /usr/local/lib That fails, here. But there is no option that looks useful. (list below) They all default to PREFIX/... and I set that on makefile command line.
OPTION 1: Do things manually
The process seems to be
a) Run configure to create config.h and the Makefile.
b) Edit config.h to set the environment variables. (??)
c) Build, specifying the destination options:
% make install prefix=/foo
I did (a) and © last time, but not (b).
The important values seem to be at the end of config.h:
#define RUBY_LIB “/usr/local/lib/ruby/1.8”
#define RUBY_SITE_LIB “/usr/local/lib/ruby/site_ruby”
#define RUBY_SITE_LIB2 “/usr/local/lib/ruby/site_ruby/1.8”
#define RUBY_PLATFORM “sparc-solaris2.9”
#define RUBY_ARCHLIB “/usr/local/lib/ruby/1.8/sparc-solaris2.9”
Do I just set change “/usr/local/lib” to my target destination?
OPTION 2: Specify command line options when running configure
Fine tuning of the installation directories:
–bindir=DIR user executables [EPREFIX/bin]
–sbindir=DIR system admin executables [EPREFIX/sbin]
–libexecdir=DIR program executables [EPREFIX/libexec]
–datadir=DIR read-only architecture-independent data
–sysconfdir=DIR read-only single-machine data [PREFIX/etc]
–sharedstatedir=DIR modifiable architecture-independent data
–localstatedir=DIR modifiable single-machine data [PREFIX/var]
–libdir=DIR object code libraries [EPREFIX/lib]
–includedir=DIR C header files [PREFIX/include]
–oldincludedir=DIR C header files for non-gcc [/usr/include]
–infodir=DIR info documentation [PREFIX/info]
–mandir=DIR man documentation [PREFIX/man]
–program-prefix=PREFIX prepend PREFIX to installed program names
–program-suffix=SUFFIX append SUFFIX to installed program names
run sed PROGRAM on installed program
–build=BUILD configure for building on BUILD [guessed]
–host=HOST cross-compile to build programs to run on HOST
–target=TARGET configure for building compilers for TARGET [HOST]
–disable-FEATURE do not include FEATURE
(same as --enable-FEATURE=no)
–enable-FEATURE[=ARG] include FEATURE [ARG=yes]
–enable-frame-address use GCC __builtin_frame_address().
–disable-largefile omit support for large files
–enable-pthread use pthread library.
–enable-setreuid use setreuid()/setregid() according to need
even if obsolete.
–disable-rpath embed run path into extension libraries.
–enable-shared build a shared library for Ruby.
–enable-install-doc build and install rdoc indexes during install
–with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
–without-PACKAGE do not use PACKAGE (same as
–without-gcc never use gcc
–with-default-kcode=CODE specify default value for $KCODE
–with-dln-a-out use dln_a_out if possible
–with-static-linked-ext link external modules statically
–with-sitedir=DIR site libraries in DIR
–with-search-path=DIR specify the additional search path
–with-mantype=TYPE specify man page type; TYPE is one of man and doc
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a
CPPFLAGS C/C++ preprocessor flags, e.g. -I if you
headers in a nonstandard directory
CPP C preprocessor