D-commands; data processing utility : D-2.4 unix package

[ English | Japanese ]

WHAT IS D? -> see Brief Introduction to D.

THIS VERSION? -> see Release Note.

HOW TO INSTALL? -> see following INSTALLATION GUIDE section.

INSTALLATION GUIDE

1. Install

First step is to try

./install

from this directory. Unless you install the files in your private directory, you need to be root by

su

before ./install.

In Mac OS X, (or if your OS has sudo), try

sudo ./install

The installer checks if pre-built or compiled binaries are available, tests them on your environment. After the test, you will be asked where to install binaries, HTML manuals and the uninstall script. You may answer your directory name, or type RETURN to select the default directory. The installer checks the directory is writable, copies the required files and print finishing messages. Then, you can go to 8. Setting path.

The senario above is when all are going well. There are following cases that causes the installation fail.

Table 1. ./install failure cases
messagedescriptionSee
can't create platform directory platform. Current directory is not writable! 5. Failures in install
Pre-built binary is not available for platform.
You need make.
Your system is not binary supported platform. You have to build binaries. 5. Failures in install
Binary files are not yet made.
Please accomplish make first and re-run installer.
One or more binary files are not found in your platform/bin directory. 5. Failures in install
Pre-built binaries can not work on your system. Your system environment does not fit pre-built binaries. 3. Manual configuration
Compiled binaries can not work on your system. Something must be wrong. 5. Failures in install
Pre-built DfromHtml DfromXml can not work on your system. Your system environment does not fit pre-built binaries. 5. Failures in install
Compiled DfromHtml DfromXml can not work on your system. You need some tuning of your environment. 5. Failures in install
2. General information

This package has essentially 34 binaries, 4 command scripts, 2x43+1 HTML manuals, 66 source files and some resources for build, an installer script and several supporting documents. Binaries and some resources for build are platform dependent. They are stored in the platform name directories.

Table 2. Contents of this distribution
File/Directory Description
License.txt License notice
README-jpn.html Japanese version of this file
README.html This file
ReleaseNote-jpn.html Japanese version of Release Note
ReleaseNote.html Release Note
bin.sh/ Command scrtipts
generic/ Makefile and config.h prototype
html/ HTML manuals
install Installer script
linux/ Platform binaries and resources for build
macosx/ Platform binaries and resources for build
solaris-sparc/ Platform binaries and resources for build
solaris-i386/ Platform binaries and resources for build
src/ Source files

What the installer does is:

3. Manual configuration

This distribution does not have configure script. You have to configure by hand.

First, you have to find your platform directory. If your platform is not found in the Table 2, your platform directory must be found in the current directory. You have your platform directory under the current directory. The directory is created by your first call of ./install. If you are not sure, uname -s command will report your directory name.

You will find config.h, Makefile in the directory. You have to edit these files to fit for your environment. Both files have comments to guide you.

In config.h, you change #undef to #define when applicable, or set proper value. You have to know what the double type alignment, availability of some of the APIs (e.g., fgetwc), and your system's internal code. You will need C-language knowledge for these. But, configurable variables are not so many, and most of them are quite straight-forward. You may consult other platform's config.h.

In Makefile, you have to give where libxml2 and libiconv are found. These libraries may not be installed in your system. In this case, you have to choose to give up DfromHtml and DfromXml, or to install these components. To give up these two D-commands, change ALL = $(NONXMLBINS) $(XMLBINS) in the Makefile to ALL = $(NONXMLBINS). To install these components, see 7. Upgrade your system, or install components.

If header files for libxml2 are at /usr/include/libxml/, you don't need macro XINCLUDE defined. But, if your libxml2 headers are, for example, at /usr/local/include/libxml/, you have to define XINCLUDE = /usr/local/include. (Here, we assume that /usr/local/include is not included in the standard include path of CC command). Similaraly, libiconv needs header iconv.h. If this is not in standard include directory (/usr/include), you have to give the directory name in XINCLUDE.

For the linker, you need libxml2.a and libiconv.a. They are usually in the standard library directory (/usr/lib). You need to define XLIBD = when they are not in the standard library directory. Option -lxml2 -liconv for CC should work, usually. But, if it is not the case, you need to define XLIBS =.

You may set macros BVS and LVS. These are optional and affect only to --version option output. If you want to use them, follow the commented line in the Makefile, and remove # character at the top of the line.

After you go through config.h and Makefile editing, you can go to 4. Build step.

4. Build

Go to your platform directory and

make

If there is no problem, make finshes successfully. You can re-try 1. Install. But, before that, you may use cd .. to go back to the main directory.

Threre are hundreds of reasons that may cause the make command failure. Not all, but typical reasons are listed in 6. Failures in make section. In any case, you have to repeat 3. Manual configuration and 4. Build until make command finishes normally.

5. Failures in install
can't create platform directory platform.
If you are using the same user account as you downloaded this package, this does not happen. Or, if you are using root acount, usually this does not happen. The most possible situation is you are using root account (by su command), and the current directory is NFS mounted. In this case you cannot write in the current directory, unless the NFS server allows root mount. Recommended is to move this package to local mounted volume.
Pre-built binaries can not work on your system.
This happens, usually, when your system is old one, and your shared libarary's version is older than required one. See 7. Upgrade your system, or install components.
Pre-built binary is not available for platform.
  You need make.
In this distribution, only linux and solaris binary files are supported. In other platform, you have to build binary files using make. See 3. Manual configuration.
Binary files are not yet made.
  Please accomplish make first and re-run installer.

One or more binary files are not found in your platform/bin directory. One possibility is you just skipped 4.Build part. If you did, please make sure you did this under your platform directory. Follow 3. Manual configuration section to find your platform directory.

Another possibility is your make did not finish normally. Please check messages from make and see 6. Failures in make.

Pre-built DfromHtml DfromXml can not work on your system.

Since other pre-built binaries can work, most likely your system does not have libxml2. Another possibility is that your libxml2.so is not in the default library path.

There are several ways to check your system has libxml2. Perhaps, most primitive and general way is

find /usr -name libxml2.so

Depending on your platform, you may add find /opt or other, where libraries may be installed. Find command prints the path name if found, or report nothing. If you don't have libxml2.so, you need to install it. See 7. Upgrade your system, or install components.

If you have libxml2.so, add it's directory to LD_LIBRARY_PATH, or to appropriate environment, following the manual of ld command.

Compiled binaries can not work on your system.
If this happens, please send mail to the author.
Compiled DfromHtml DfromXml can not work on your system.
Most likely, your libxml2.so library is not in the default library path. Usually, adding the directory to LD_LIBRARY_PATH works.
6. Failures in make

Here, only typical errors are explained.

No include file.
Error message may be different depending on the compiler. It's something like XXX.h: No such file or directory. If XXX is libxml related or libiconv related, you have to check XINCLUDE macro definition of you Makefile. Otherwise, usually, your libc is old version or componets such as libxml2 or libiconv is not installed in your system. See 7. Upgrade your system, or install components.
Library module is not found.

Typically, error message is like undefined reference to XXX. Maybe you have to give proper value for XLIBD, XLIBS or even to ALIBS in your Makefile.

Another case is that you may avoid these errors by editing config.h. For example, usage of fgetwc() can be avoided by defining CANT_USE_FGETWC in config.h. See 3. Manual configuration.

7. Upgrade your system, or install components

If available, use your system's package manager to upgrade or install software component. There are plenty of package managers in linux distributions. Such as rpm, yum, dpkg, apt, aptitude, synaptic...

What you need is essentially, libc with I18N (Internationalization) capability, libm (for Dl), libiconv and libxml2 (for DfromHtml, DfromXml). Libc and libm are part of the base system, and libxml2 and libiconv are very popular components. You will not find diffculties to get and install these components.

8. Setting path

Following the message from ./install script, you may set your PATH. Usually, your PATH is set from your shell initializing script, such as .profile, .cshrc or .bashrc. Current setting of your PATH is shown by:

echo $PATH

9. Manual entry (OPTIONAL)

You may add D-manual entry point, which is shown by ./install script, to your web browser's bookmark. There are many other ways to make shortcut for documents. This is just a suggestion.

10. Uninstall

The installer creates D-2.4-uninstall script. Running this script will uninstall D-2.4.

This uninstaller just removes binaries and HTML manuals installed by the installer. Your PATH or manual entry points must be remove by hand.