From: Eric Armstrong Date: 2006-05-16T06:58:37+09:00 Subject: Re: Solaris Install: Non-standard location Whoops. Forget to list messages in threaded view, and didn't realize folks had already responded. Kindly disregard the duplicate posting. (Where's that pullback button...) Eric Armstrong wrote: > (Resending after a bit more refactoring. Guidance > would be most appreciated.) > > 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 > > OPTION 1: Do things manually > ---------------------------- > Is this the right way to go? > > The process seems to be > a) Run configure to create config.h and the Makefile. > b) Edit config.h to set the environment variables. > (Yes? Not clear from the installation instructions) > c) Build, specifying the destination options: > % make install prefix=/foo > > I did (a) and (c) last time, but not (b). The result was > a "successful" build. But running ruby with the debug > option showed that Ruby's internal variables matched > the values contained in 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" > #define RUBY_SITE_ARCHLIB > "/usr/local/lib/ruby/site_ruby/1.8/sparc-solaris2.9" > > Questions: > > * Should I change those from "/usr/local/lib" to my > target destination before running make? > > * If I do that, is prefix=/myDestinationPath still > needed when running make? > > * What's the difference between LIB, SITE_LIB, and > SITE_LIB2 ? > > > OPTION 2: Specify command line options during configure > -------------------------------------------------------- > This seems like it should be the right way to go, but > there are /many/ options (below), and only one of them > looks to be at all relevant: > > --with-sitedir=DIR site libraries in DIR > Default: PREFIX/lib/ruby/site_ruby > > But I set PREFIX when I ran make last time. So it's > not clear that changing that one setting would do > much good. > > 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. > They all default to PREFIX/... and I set that on makefile command line. > > Options > ....... > 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 > [PREFIX/share] > --sysconfdir=DIR read-only single-machine data [PREFIX/etc] > --sharedstatedir=DIR modifiable architecture-independent data > [PREFIX/com] > --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 names: > --program-prefix=PREFIX prepend PREFIX to installed program names > --program-suffix=SUFFIX append SUFFIX to installed program names > --program-transform-name=PROGRAM > run sed PROGRAM on installed program names > > System types: > --build=BUILD configure for building on BUILD [guessed] > --host=HOST cross-compile to build programs to run on HOST > [BUILD] > --target=TARGET configure for building compilers for TARGET [HOST] > > Optional Features: > --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 > > Optional Packages: > --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] > --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) > --without-gcc never use gcc > --with-default-kcode=CODE specify default value for \$KCODE > (utf8|euc|sjis|none) > --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 > PREFIX/lib/ruby/site_ruby > --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 > nonstandard directory > CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have > headers in a nonstandard directory > CPP C preprocessor > >