This document explains how to install DotGNU Portable.NET by building it from the source distribution. Visit the Portable.NET Packages page for instructions on installing the binary package distributions.
The most recent version can be downloaded from savannah's download area. site.
It may however be best to grab the latest development version from Savannah CVS. This project's CVS repository can be checked out through anonymous CVS with the following instruction set.
cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/dotgnu-pnet co .
NOTE: Before you can build the cvs version, you need to run
auto_gen.sh
in order to create the Makefile.in and
configure files.
There are three main components that you must install in the following order to use DotGNU Portable.NET:
treecc
pnet
pnetlib
And there are two optional components:
pnetC
ml-pnet
You will need "pnetC
" if you wish to use the C compiler.
You may need "ml-pnet
" if you wish to use Mono libraries
such as "System.Data
".
Another component, "cscctest
", is only available via CVS
because it changes very often - always use the most recent CVS version.
See the CVS instructions above for information on obtaining it.
You will need flex and bison to build DotGNU Portable.NET. We use flex 2.5.4 and bison 1.28. Some support is provided for the BSD version of yacc, but bison is recommended. Other versions of lex or yacc may not work.
You typically unpack and install each component as follows:
gunzip -d <name-version.tar.gz | tar xvf -
cd name-version
./configure
make
make install
If you are building the CVS version, you should run ./auto_gen.sh
before ./configure
.
See the "README
" and "HACKING
" files
(where present) in each distribution for further information on
install configuration options.
Most platforms will install and build using the above instructions. The following sections provide special instructions for some platforms.
You will need to install the Cygwin package to build DotGNU Portable.NET under MS Windows. It can be obtained from http://sources.redhat.com/cygwin/.
Follow the instructions in the previous section to build the distribution. This will build the Cygwin version, which can be installed and run from within the Cygwin environment.
If you wish to run DotGNU Portable.NET as a regular MS Windows application, outside the Cygwin environment, then you must build the "mingw32" version instead. To do this, configure and build as follows:
gunzip -d <name-version.tar.gz | tar xvf -
cd name-version
./configure --disable-cygwin
make
make install
Install the development tools from the Developer Tools CD that should be included with your pack of Mac CDs. If you don't have the CD, get an account at connect.apple.com and download from the net. The download is well over 100 megabytes.
Next, install Fink (fink.sourceforge.net). Using the GUI program Fink Commander,
install the package called libtool
. Alternatively, this can
be done from a terminal by typing "sudo apt-get install libtool
"
(without quotes) and entering an administrative password.
For each directory in treecc, pnet, pnetlib, etc, perform the following command:
./configure && make LIBTOOL=glibtool && sudo make install LIBTOOL=glibtool
Type in your usual admin password for the account on your computer when it asks for it (towards the end of each install).
It is important that you use the Fink version of the "glibtool
"
program when compiling "pnetlib
". Other versions of
libtool will not work.
The most recent release version of the source code will always be available on the project's Web site.
However, it is recommended that developers use the CVS version when updating the source code. The CVS version will always be more recent than the release versions.
cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/dotgnu-pnet co .
where component
is the name of the component that you
wish to check out. When prompted for a password, just hit the Enter key.
NOTE: Before you can build the cvs version, you need to run
auto_gen.sh
in order to create the Makefile.in and
configure files.
Once you have built the system, you can test it on the examples within
the "samples
" directory:
$ cd samples
$ ../engine/ilrun hello.exe
$ ../engine/ilrun fib.exe
The PNetMark program, listed above, is a more involved example.
Instructions for running PNetMark can be found within its
README
file. You may also want to have a look at
the "demos and sample programs" webpage.
Online documentation for the tools can be found here.
Information on changes to individual versions can be found in the
NEWS
file within the distribution.
The Converted Virtual Machine (CVM) instruction set has been documented using embedded XML tags in the source. A HTML version of the documentation can be found here.
Some platforms may have problems building "libffi
" and
"libgc
". You can use the configure options
"--without-libffi
" and "--without-libgc
" to
disable them. The system may not fully work if you do this, so you
will probably have to update those packages for your platform.
Sometimes "./auto_gen.sh
" can fail, giving errors about
missing LIBTOOL macros. If this happens, then change the line that
says "aclocal
" to "aclocal -I ./
" and retry.
Verbatim copying and distribution of this entire article are permitted in any medium or format, provided this notice is preserved.
This page is maintained by Norbert Bollow <nb@SoftwareEconomics.biz> with support from the DotGNU Developers mailing list.