"SfR Fresh" - the SfR Freeware/Shareware Archive 
Member "libdap-3.8.2/INSTALL" of archive libdap-3.8.2.tar.gz:
As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers.
Alternatively you can here view or download the uninterpreted source code file.
That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
1
2 $Id: INSTALL 18929 2008-06-23 19:56:53Z jimg $
3
4 Updated for version 3.8.2 of the OPeNDAP DAP 3.1 library software.
5
6 Installing the DAP2 library
7
8 ---------------------------------------------------------------------------
9
10 BUILDING THE SOFTWARE
11 REQUIREMENTS
12 NOTES
13
14 ---------------------------------------------------------------------------
15
16 BUILDING THE SOFTWARE
17
18 To build the OPeNDAP DAP2 library and the getdap client program, follow
19 these steps:
20
21 0. Please skim REQUIREMENTS and NOTES sections of this file
22 before reporting problems. Thanks.
23
24 1. Type `./configure' at the system prompt. On some systems you may have
25 to type `sh configure'.
26
27 2. Type `make' to build the library, `make check' to run the tests. You
28 must have DejaGNU and CppUnit to run `make check.' CppUnit is optional,
29 but recommended. On a Mandrake/Mandriva system, you need to copy or
30 link conf/config.guess into the 'tests' directory and then run the
31 tests.
32
33 3. Type `make install' to install the library files. The libraries
34 (libdap.a. libdapclient.a and libdapserver.a), their header files and
35 the getdap and dap-config utilities install under /usr/local/ in lib,
36 include/libdap and bin by default. The deflate utility is installed in
37 /usr/local/sbin by default. Use the --prefix option to specify a
38 different root directory. For example, './configure
39 --prefix=/opt/opendap' would set the build so that the library was
40 installed in /opt/opendap/lib, ...
41
42 Building from Our SVN Repository
43
44 If you are building from a SVN checkout, run 'autoreconf --verbose' before
45 './configure; make'. If you try to run autoconf, et c., by hand and wind up
46 with build files that don't work, use 'autoreconf --force --verbose' and
47 then './configure; make'.
48
49 AFTER INSTALLING
50
51 o Set the PATH environment variable to include the bin directory where
52 libdap was installed. For example, if using the default installation
53 directory, which is /usr/local, make sure that /usr/local/bin is on your
54 path. This is important because often libdap is built so that some other
55 software can then be built, but without setting PATH, those other
56 packages might not detect the newly installed libdap.
57
58 o Set the LD_LIBRARY_PATH environment variable to include the lib directory
59 where libdap was installed. For example, if using the default
60 installation directory, which is /usr/local, make sure that
61 /usr/local/lib is part of LD_LIBRARY_PATH. If you have set $prefix so
62 that the libraries are installed in a directory that's included in
63 ld.so.conf (on linux; other systems may use a slightly different name)
64 you don't have to use LD_LIBRARY_PATH but, but if you don't use
65 LD_LIBRARY_PATH, **make sure to re-run ldconfig**.
66
67 REQUIREMENTS
68
69 o To build from a fresh SVN checkout, you'll need automake 1.9.6, autoconf
70 2.59 and libtool 1.5.18. Earlier versions may work, but may cause
71 problems, particularly with the 'distcheck' target for make. Given those
72 requirements, use 'autoreconf --force --verbose' and then build as
73 described above. You also need bison and flex as of version 3.7.9. If you
74 don't have these tools, you can try the copies of the generated files
75 in the 'grammarfiles' directory.
76
77 o The library uses libcurl and libxml2. You will need these libraries
78 installed on your system to successfully run configure and build the
79 library. You must have libcurl version 7.10.6 or newer and libxml2 2.5.7
80 or newer. We provide source versions of the packages on the web site; the
81 web pages for these projects are: http://curl.haxx.se/ and
82 http://xmlsoft.org/. Modern Linux and recent OS/X distributions include
83 these libraries.
84
85 o If you are concerned about introducing problems with your OS's package
86 system, build and install curl, et c., into a special directory (e.g.,
87 /opt/opendap/) and then be sure to set PATH to include the curl-config
88 and xml2-config scripts before running configure (e.g., run configure as
89 'PATH="$PATH:/opt/opendap/bin';./configure'). You probably should install
90 libdap.a under /opt/opendap as well, so set prefix to that path:
91
92 'PATH="$PATH:/opt/opendap/bin';./configure --prefix=/opt/opendap'
93
94 o You should have gcc/g++ 2.95.x or greater (really, you should probably be
95 using gcc/++ 4.x, but you _can_ use 2.95 on our code). You'll also need
96 to get the stdc++ library that matches the compiler (whatever version).
97 NB: gcc 2.8.x and earlier *won't* build the software. We're working on
98 modifying the software so that it will build with a variety of compilers.
99 As of 01/22/03 we have built the code using Microsoft's Visual C++ 6.0
100 and GNU gcc/++ 3.2.1, 3.3, 3.4, 4.0 and 4.1. The library has also been
101 built using the native AIX compiler; see INSTALL.AIX.
102
103 o We ship the C++ source files generated using bison and flex so these
104 programs are no longer required to build the source code. However, to
105 build the C++ sources from the grammar files, you'll need bison 1.25 and
106 flex 2.5.4.
107
108 NOTES
109
110 o Check for other INSTALL.* files to see if there's information specific to
111 your OS (e.g., AIX).
112
113 o If you are building on a new platform (one for which we don't supply
114 binaries), please run the tests and tell us about any failures. To do a
115 really complete job of this you'll need to get the GNU test system called
116 DejaGNU and the CppUnit unit testing package. It is very simple to
117 install these and we're very willing to help, so don't be shy!
118
119 o If you are developing code that uses the DAP, get autoconf and subversion
120 (SVN). We maintain a SVN-managed source tree that people outside the
121 group may access. See http://scm.opendap.org:8090/trac/
122
123 o The gnulib software is used to provide replacement functions when
124 autoconf detects that is necessary. To update the gnulib, check it out
125 from CVS and run '$gnulib_home/gnulib-tool --lgpl --import' in this
126 directory. Macros in configure.ac supply gnulib-tool with all the
127 information it needs. Only developers working on libdap should ever have
128 to do this.
129
130 o To build a rpm file for a source or binary distribution use 'make rpm' or
131 'make srpm'. These targets should run 'make dist' to build the required
132 tar.gz file first. You may need root privileges for these targets to work.
133
134 o To build a Mac OS/X package, use the 'pkg' target. Read over the target
135 to get a feel for how it works. You will need PackageMaker, which should
136 already be installed on your system, and you will need DropDMG, which
137 can be obtained at http://c-command.com/dropdmg/. The target has been
138 automated to generate a ReadMe.txt file, update the Info.plist file, run
139 PackageMaker and DropDMG.
140
141 o DEBUGGING AIDS
142
143 - The DAP API includes the following debugging aids that may be of help
144 to you in developing new OPeNDAP applications.
145
146 - DBG: simple program instrumentation -- see the file debug.h.
147
148 - DBG2: more elaborate program instrumentation -- by convention this is
149 used for output that is half a page or more, while DEBUG is used for
150 single line output.
151
152 - In the past we used efence and dbnew to help debug dynamic memory
153 programming errors. We are now using valgrind and suggest you do the
154 same. On some Linux platforms you should export MALLOC_CHECK_=0 in the
155 shell before running valgrind. This is true for the unit tests and may
156 be true for other code. You'll also notice that the Makefile contains
157 CXX and C compile-time flags for debugging. These will greatly simplify
158 using valgrind and/or a debugger. To use these, don't hack up the
159 Makefile.am. Instead export CXXFLAGS with the values you want and then
160 run configure. For example:
161
162 export CXXFLAGS="-g3 -O0 -Wall -fno-defer-pop"; ./configure
163
164 - To build with program instrumentation use `--enable-debug=<level>'
165 where <level> is 1 or 2.