2
by mhalcrow@us.ibm.com
Initial import of eCryptfs filesystem userspace utilities (mount helper, daemon component, |
1 |
Basic Installation
|
2 |
==================
|
|
3 |
||
4 |
For more information specific to this package, please read the README |
|
5 |
file. This source code distribution is autoconfiguring and you should be |
|
6 |
able to compile it and install it without manual interventions such as |
|
7 |
editing Makefiles, configuration files, and so on. These are generic |
|
8 |
instructions for people who are not familiar with installing autoconfiguring |
|
9 |
software. |
|
10 |
||
11 |
The simplest way to compile this package is to enter the source code |
|
12 |
main directory and do the following: |
|
13 |
||
14 |
1. Configure the source code by typing:
|
|
15 |
% sh ./configure |
|
16 |
||
17 |
If you are planning to install the package into your home |
|
18 |
directory or to a location other than `/usr/local' then add the |
|
19 |
flag `--prefix=PATH' to `configure'. For example, if your home
|
|
20 |
directory is `/home/luser' you can configure the package to |
|
21 |
install itself there by invoking: |
|
22 |
% sh ./configure --prefix=/home/luser |
|
23 |
||
24 |
If you are running a version of eCryptfs that ships as part of |
|
25 |
kernel version 2.6.18-rc6-mm2 or earlier, you need to pass the |
|
26 |
--enable-old-auth-tok option to the ./configure script: |
|
27 |
% sh ./configure --prefix=/home/luser \ |
|
28 |
--enable-old-auth-tok |
|
29 |
||
30 |
While running, `configure' prints some messages telling which |
|
31 |
features is it checking for. |
|
32 |
||
33 |
2. Compile the package by typing:
|
|
34 |
% make |
|
35 |
Running `make' takes a while. If this is a very large package, now |
|
36 |
is the time to go make some coffee. |
|
37 |
||
38 |
3. Type `make install' to install the programs and any data files and
|
|
39 |
documentation. Type `make uninstall' to undo the installation. |
|
40 |
During installation, the following files go to the following directories: |
|
41 |
Executables -> /prefix/bin |
|
42 |
Libraries -> /prefix/lib |
|
43 |
Public header files -> /prefix/include |
|
44 |
Man pages -> /prefix/man/man? |
|
45 |
Info files -> /prefix/info |
|
46 |
where `prefix' is either `/usr/local' or the PATH that you specified
|
|
47 |
in the `--prefix' flag. |
|
48 |
||
49 |
If any of these directories do not presently exist, they will be |
|
50 |
created on demand. |
|
51 |
||
52 |
This step will attempt to install the ecryptfs.ko kernel module: |
|
53 |
/lib/modules/`uname -r`/kernel/fs/ecryptfs/ecryptfs.ko
|
|
54 |
||
55 |
If you are installing in your home directory make sure that |
|
56 |
`/home/luser/bin' is in your path. If you're using the bash shell |
|
57 |
add this line at the end of your .cshrc file: |
|
58 |
PATH="/home/luser/bin:${PATH}" |
|
59 |
export PATH |
|
60 |
If you are using csh or tcsh, then use this line instead: |
|
61 |
setenv PATH /home/luser/bin:${PATH} |
|
62 |
By prepending your home directory to the rest of the PATH you can |
|
63 |
override systemwide installed software with your own custom installation. |
|
64 |
||
65 |
4. You can remove the program binaries and object files from the
|
|
66 |
source code directory by typing `make clean'. To also remove the |
|
67 |
files that `configure' created (so you can compile the package for |
|
68 |
a different kind of computer), type `make distclean'. |
|
69 |
||
70 |
Compiler configuration
|
|
71 |
======================
|
|
72 |
||
73 |
The `configure' shell script is responsible for choosing and configuring |
|
74 |
the compiler(s). |
|
75 |
||
76 |
The following options allow you to specify whether you |
|
77 |
want to enable or disable various debugging mechanisms: |
|
78 |
||
79 |
`--with-warnings' |
|
80 |
Make the compilers very picky about warnings. Try this whenever you |
|
81 |
write new code since it may catch a few bugs. This is not active by |
|
82 |
default because all too often warnings can be too picky and scare |
|
83 |
the end-user. |
|
84 |
||
85 |
`--disable-assert' |
|
86 |
Compile without using assertions. This results in faster code, |
|
87 |
but should not be used during developerment, or to run `make check' |
|
88 |
which depends on assertions. It should only be used for production |
|
89 |
runs on code that you believe is bug free. |
|
90 |
||
91 |
All programs are compiled with optimization level 2 by default (-O2). |
|
92 |
Occasionally that confuses the debugger when code is inlined. To disable |
|
93 |
optimization and enable debugging, set the shell environment variables |
|
94 |
CFLAGS, CXXFLAGS, FFLAGS to `-g'. On the bash shell, you can do this |
|
95 |
like this: |
|
96 |
$ export CFLAGS="-g" |
|
97 |
$ export CXXFLAGS="-g" |
|
98 |
$ export FFLAGS="-g" |
|
99 |
On the tcsh shell, use the `setenv' command instead: |
|
100 |
% setenv CFLAGS "-g" |
|
101 |
...etc...
|
|
102 |
For other shell, please consult your shell's documentation. |
|
103 |
||
104 |
Similarly, you can increase the optimization level by assigning these |
|
105 |
variables to "-g -O3". |
|
106 |
||
107 |
The following options allow you to reconsider the `configure' shell script's |
|
108 |
choice of Fortran compilers. |
|
109 |
||
110 |
`--with-f2c' |
|
111 |
Compile the Fortran code by translating it to C, even if a native |
|
112 |
Fortran compiler is available. A copy of the f2c translator should be |
|
113 |
bundled in the distribution. It will be compiled and then used to |
|
114 |
compile your Fortran code. |
|
115 |
`--with-g77' |
|
116 |
Compile the Fortran code with g77 even if a proprietary Fortran |
|
117 |
compiler is available |
|
118 |
`--with-f77=F77' |
|
119 |
Compile the Fortran code with the specified Fortran compiler. |
|
120 |
||
121 |
Depending on what languages the package uses, some of these options may |
|
122 |
or may not be available. To see what is available, type: |
|
123 |
% sh ./configure --help |
|
124 |
||
125 |
About the configure script
|
|
126 |
==========================
|
|
127 |
||
128 |
The `configure' shell script attempts to guess correct values for |
|
129 |
various system-dependent variables used during compilation. It uses |
|
130 |
those values to create a `Makefile' in each directory of the package. |
|
131 |
It may also create one or more `.h' files containing system-dependent |
|
132 |
definitions. Finally, it creates a shell script `config.status' that |
|
133 |
you can run in the future to recreate the current configuration, a file |
|
134 |
`config.cache' that saves the results of its tests to speed up |
|
135 |
reconfiguring, and a file `config.log' containing compiler output |
|
136 |
(useful mainly for debugging `configure'). |
|
137 |
||
138 |
If you need to do unusual things to compile the package, please try |
|
139 |
to figure out how `configure' could check whether to do them, and mail |
|
140 |
diffs or instructions to the address given in the `README' so they can |
|
141 |
be considered for the next release. If at some point `config.cache' |
|
142 |
contains results you don't want to keep, you may remove or edit it. |
|
143 |
||
144 |
The file `configure.in' is used to create `configure' by a program
|
|
145 |
called `autoconf'. You only need `configure.in' if you want to change
|
|
146 |
it or regenerate `configure' using a newer version of `autoconf'.
|
|
147 |
||
148 |
Advanced installation options.
|
|
149 |
==============================
|
|
150 |
||
151 |
The `configure' script also understands the following more advanced |
|
152 |
options, to handle situations for which `--prefix' alone is not sufficient. |
|
153 |
||
154 |
You can specify separate installation prefixes for |
|
155 |
architecture-specific files and architecture-independent files. If you |
|
156 |
give `configure' the option `--exec-prefix=PATH', the package will use
|
|
157 |
PATH as the prefix for installing programs and libraries. |
|
158 |
Documentation and other data files will still use the regular prefix. |
|
159 |
||
160 |
In addition, if you use an unusual directory layout you can give |
|
161 |
options like `--bindir=PATH' to specify different values for particular |
|
162 |
kinds of files. Run `configure --help' for a list of the directories |
|
163 |
you can set and what kinds of files go in them. |
|
164 |
||
165 |
If the package supports it, you can cause programs to be installed |
|
166 |
with an extra prefix or suffix on their names by giving `configure' the |
|
167 |
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
|
168 |
||
169 |
Optional Features
|
|
170 |
=================
|
|
171 |
||
172 |
Some packages pay attention to `--enable-FEATURE' options to |
|
173 |
`configure', where FEATURE indicates an optional part of the package. |
|
174 |
They may also pay attention to `--with-PACKAGE' options, where PACKAGE |
|
175 |
is something like `gnu-as' or `x' (for the X Window System). The
|
|
176 |
`README' should mention any `--enable-' and `--with-' options that the
|
|
177 |
package recognizes. |
|
178 |
||
179 |
For packages that use the X Window System, `configure' can usually |
|
180 |
find the X include and library files automatically, but if it doesn't, |
|
181 |
you can use the `configure' options `--x-includes=DIR' and
|
|
182 |
`--x-libraries=DIR' to specify their locations. |
|
183 |