[ English | Japanese ]
WHAT IS D? -> see Brief Introduction to D.
THIS VERSION? -> see Release Note.
HOW TO INSTALL? -> see following INSTALLATION GUIDE section.
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.
message | description | See |
---|---|---|
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 |
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.
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:
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.
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.
make. See 3. Manual configuration.
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.
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.
Here, only typical errors are explained.
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
libcis old version or componets such as
libxml2or
libiconvis not installed in your system. See 7. Upgrade your system, or install components.
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.
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.
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
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.
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.