|
|
Dmalloc Tutorial: 2.1 How to Install the Library
2.1 How to Install the Library
To configure, compile, and install the library, follow these steps
carefully.
- Make sure you have the latest version of the library available
from the home page at URL http://dmalloc.com/.
- You may want to edit or at least review the settings in
`settings.dist' to tune specific features of the library. The
`configure' script will copy this file to `settings.h' which
is where you should be adding per-architecture settings.
- Type sh ./configure to configure the library. You may want
to first examine the `config.help' file for some information about
configure. You may want to use the --disable-cxx option if you do
not want the Makefile to build the C++ version of dmalloc. You may want
to use the --enable-threads option to build the threaded version
of dmalloc. You may want to use the --enable-shlib option to
build the shared versions of the dmalloc libraries. sh ./configure
--help lists the available options to configure. Configure should
generate the `Makefile' and configuration files automatically.
- You may want to examine the `Makefile' and `conf.h' files
created by configure to make sure it did its job correctly.
- You might want to tune the settings in `settings.h' file to
tune the library to the local architecture. This file contains relevant
settings if you are using pthreads or another thread library.
See section Using the Library with a Thread Package. The `configure' script created this
file from the `settings.dist' file. Any permanent changes to these
settings should made to the `settings.dist' file. You then can run
`config.status' to re-create the `settings.h' file.
- The
DMALLOC_SIZE variable gets auto-configured in
`dmalloc.h.2' but it may not generate correct settings for all
systems. You may have to alter the definitions in this file to get
things to stop complaining when you go to compile about the size
arguments to malloc routines. Comments on this please.
- Typing make should be enough to build `libdmalloc.a',
and `dmalloc' program. If it does not work, please see if there
are any notes in the contrib directory about your system-type. If not
and you figure your problem out, please send me some notes so future
users can profit from your experiences.
NOTE: You may experience some errors compiling some of the
return.h assembly macros which attempt to determine the callers address
for logging purposes. You may want to first try disabling any compiler
optimization flags. If this doesn't work then you may need to disable
the `USE_RETURN_MACROS' variable in the `settings.h' file.
NOTE: The code is dependent on an ANSI-C compiler. If the
configure script gives the `WARNING' that you do not have an ANSI-C
compiler, you may still be able to add some sort of option to your
compiler to make it ANSI. If there such is an option, please send it to
the author so it can be added to the configure script.
- If you use threads and did not add the --enable-threads
argument to configure, typing make threads should be enough to
build `libdmallocth.a' which is the threaded version of the
library. This may or may not work depending on the configuration
scripts ability to detect your local thread functionality. Feel free to
send me mail with improvements.
See the "Using With Threads" section for more information about the
operation of the library with your threaded program. See section Using the Library with a Thread Package.
- If you have a C++ compiler installed, the library should have
automatically built `libdmallocxx.a' which is the C++ version of
the library. If it was not done automatically, you can build it by
typing make cxx. You should link this library into your C++
programs instead of `libdmalloc.a'. See the `dmallocc.cc' C++
file which contains basic code to overload the
new, new[],
delete, and delete[] C++ operators. My apologies on the
minimal C++ support. I am still living in a mostly C world. Any help
improving this interface without sacrificing portability would be
appreciated.
- Typing make light should build and run the `dmalloc_t' test
program through a set of light trials. By default this will execute
`dmalloc_t' 5 times - each time will execute 10,000 malloc
operations in a very random manner. Anal folks can type make
heavy to up the ante. Use dmalloc_t --usage for the list of all
`dmalloc_t' options.
- Typing make install should install the `libdmalloc.a'
library in `/usr/local/lib', the `dmalloc.h' include file in
`/usr/local/include', and the `dmalloc' utility in
`/usr/local/bin'. You may also want to type make installth
to install the thread library into place and/or make installcc to
install the C++ library into place.
You may have specified a `--prefix=PATH' option to configure in
which case `/usr/local' will have been replaced with `PATH'.
See the "Getting Started" section to get up and running with the
library. See section Getting Started with the Library.
This document was generated by Gray Watson on May, 16 2007 using texi2html 1.76.
This work is licensed by Gray Watson
under the Creative Commons
Attribution-Share Alike 3.0 License.
This page should be W3C Valid
XHTML and should work with most browsers.
|