Difference between revisions of "Compiling from Source"

From TexGen
Jump to navigationJump to search
Line 106: Line 106:
 
  ccmake ../
 
  ccmake ../
  
Use the up and down arrows to reach BUILD_PYTHON_INTERFACE and press Enter to switch it on. Then press 'c' to configure. You will probably get a warning saying you need to specify the location of SWIG and/or Python, press 'e' to close it.
+
Use the up and down arrows to reach BUILD_PYTHON_INTERFACE and press Enter to set it to ON. Then press 'c' to configure. You will probably get a warning saying you need to specify the location of SWIG and/or Python, press 'e' to close it.
  
Set the PYTHON_INCLUDE_PATH, PYTHON_LIBRARY, PYTHON_SITEPACKAGES_DIR, SWIG_DIR and SWIG_EXECUTABLE parameters correctly where necessary. If you have installed packages to your home directory then they should look something like this:
+
Set the PYTHON_INCLUDE_PATH, PYTHON_SITEPACKAGES_DIR, SWIG_DIR and SWIG_EXECUTABLE parameters correctly where necessary. If you have installed packages to your home directory then they should look something like this:
  
 
PYTHON_INCLUDE_PATH: ~/include/python2.5
 
PYTHON_INCLUDE_PATH: ~/include/python2.5
Line 117: Line 117:
 
Once that is done press 'c' again. You may need perform this process over several iterations. When everything is set correctly press 'g' to generate the makefiles.
 
Once that is done press 'c' again. You may need perform this process over several iterations. When everything is set correctly press 'g' to generate the makefiles.
  
Now type:
+
At the shell type:
 
  make
 
  make
 
  make install
 
  make install
 +
 +
Assuming the build completed without errors you should now be able to access TexGen functions from within Python. In order to check everything worked as planned open Python in interactive mode by typing:
 +
Python
 +
 +
Then from within Python type:
 +
from TexGen.Core import *
 +
 +
If this command completes without error everything should be set up correctly.

Revision as of 16:40, 9 March 2007

More to come on compiling from source...

The following programs are needed to build TexGen:

The following libraries are needed to link to TexGen:

However it is possible to build modules individually without compiling modules you do not need. Refer to the TexGen API for a list of modules and their dependencies.

The latest source release can be downloaded here. Download the latest file release named texgen-3.x.x.tar.gz.

Alternatively the very latest development source can be downloaded using the Subversion version control system. This code may be unstable, it is not recommended unless there is a good reason to have the very latest version. The Subversion server is hosted on SourceForge, instructions on downloading from it are available here.

Unix

To get a minimum build of TexGen with none of the additional modules you only require CMake and of course the standard C++ compiling tools. It is recommended to begin with a minimum build, once that is working try adding modules one at a time. A list of modules along with dependencies is shown below:

  • Python interface: Python, SWIG
  • Renderer: VTK
  • Export: OpenCascade
  • GUI: wxWidgets, Renderer, Python interface
  • Unit tests: CPPUnit

If you want to get the source code from the Subversion repository (recommended) you will need to following the instructions below. Alternatively the stable source code can be downloaded as a tarball.

Notes

If you are installing to a system where you don't have root access (i.e. this computer does not belong to you) you won't be able to install the software using the default configure script. This is because by default software is installed to the /usr/local directory. If you are not a systems administrator then you will quite rightly not have write access to this folder. All is not lost! You can still install software into your home directory. In order to do this you should always call the configure script with the following parameter: --prefix=$HOME. This goes for all the software to be installed below. All executables will then be placed in ~/bin, libraries in ~/lib, includes in ~/include, etc...

In the guide below the parameter is included in italic. If you do in fact have root access then it is recommended to omit this parameter and install to the default directory so that other users will also have access to the software.

Get TexGen from Subversion repository

Install Subversion

Download Subversion and unpack Open shell in extracted folder and type:

./configure --with-ssl --prefix=$HOME
make
make install

Notes:

  • You will need to install Subversion with SSL support since TexGen is hosted on sourceforge which uses SSL. If you don't configure with the --with-ssh flag you will get an error when trying to checkout TexGen in the next step.
  • If you have trouble installing the latest version of Subversion, try installing version 1.3 as it does not require a seperate dependencies package.

Checkout

Open shell in folder to install (e.g. ~/):

svn checkout https://texgen.svn.sourceforge.net/svnroot/texgen/TexGen/trunk/ TexGen

Notes:

  • The first parameter tells SVN to get the files for the first time
  • The second parameter is the location of the TexGen svn repository
  • The final parameter is the subfolder to put the files in

Update

The checkout command only needs to performed once. SVN keeps track of where the code was originally obtained and can update to the latest version without having to re-specify the location. In order to do that open a shell in the folder where TexGen was originally checkout (e.g. ~/TexGen) and type:

svn update

or if you are in a hurry you can type the shorter version:

svn up

Compile source

Install CMake

Download CMake and unpack Open shell in extracted folder and type:

./configure --prefix=$HOME
make
make install

Compile TexGen core

Open shell in TexGen and type:

mkdir bin
cd bin
ccmake ../

Press 'c' to configure. When a warning pops up telling you it can't find such and such a file press 'e' to close it. You will now need to specify which components of TexGen to build and where their dependencies can be found. Use the up and down arrows to move the caret and press enter to modify options. Do this to set BUILD_GUI, BUILD_PYTHON_INTERFACE and BUILD_RENDERER to OFF. You are basically telling CMake not to attempt to build these components, which means that you won't need to have installed their dependencies.

Similarly to the --prefix=$HOME parameter to the configure script, you can tell CMake to install TexGen to your home directory by changing CMAKE_INSTALL_PREFIX to ~/. Note that it won't actually install anything until you get type make install.

Now press 'c' again to update the changes.

Hopefully now that all the additional modules have been switched off no errors will be shown. Press 'g' to generate the makefiles and exit. At the shell type:

make
make install

Note that at this point you have only built and installed the TexGen Core library which doesn't actually do anything on its own. If you plan to incorporate TexGen into your own C++ program then this is enough, however if you would like to interface with TexGen from a Python script or Graphical User Interface then follow the steps below.

Compiling optional modules

Python interface

Download Python and unpack Open shell in extracted folder and type:

./configure --prefix=$HOME
make
make install

Download SWIG and unpack Open shell in extracted folder and type:

./configure --prefix=$HOME
make
make install

Open shell at TexGen/bin folder and type:

ccmake ../

Use the up and down arrows to reach BUILD_PYTHON_INTERFACE and press Enter to set it to ON. Then press 'c' to configure. You will probably get a warning saying you need to specify the location of SWIG and/or Python, press 'e' to close it.

Set the PYTHON_INCLUDE_PATH, PYTHON_SITEPACKAGES_DIR, SWIG_DIR and SWIG_EXECUTABLE parameters correctly where necessary. If you have installed packages to your home directory then they should look something like this:

PYTHON_INCLUDE_PATH: ~/include/python2.5 PYTHON_SITEPACKAGES_DIR: ~/lib/python2.5/site-packages SWIG_DIR: ~/bin SWIG_EXECUTABLE: ~/bin/swig

Once that is done press 'c' again. You may need perform this process over several iterations. When everything is set correctly press 'g' to generate the makefiles.

At the shell type:

make
make install

Assuming the build completed without errors you should now be able to access TexGen functions from within Python. In order to check everything worked as planned open Python in interactive mode by typing:

Python

Then from within Python type:

from TexGen.Core import *

If this command completes without error everything should be set up correctly.