You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							258 lines
						
					
					
						
							8.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							258 lines
						
					
					
						
							8.7 KiB
						
					
					
				| %* glpk07.tex *% | |
|  | |
| \chapter{Installing GLPK on Your Computer} | |
| \label{install} | |
| 
 | |
| \section{Downloading the distribution tarball} | |
| 
 | |
| The distribution tarball of the most recent version of the GLPK | |
| package can be found on \url{http://ftp.gnu.org/gnu/glpk/} [via http] | |
| and \url{ftp://ftp.gnu.org/gnu/glpk/} [via FTP]. It can also be found | |
| on one of the FTP mirrors; see \url{http://www.gnu.org/prep/ftp.html}. | |
| Please use a mirror if possible. | |
| 
 | |
| To make sure that the GLPK distribution tarball you have downloaded is | |
| intact you need to download the corresponding `\verb|.sig|' file and | |
| run a command like this: | |
| 
 | |
| \begin{verbatim} | |
|    gpg --verify glpk-4.38.tar.gz.sig | |
| \end{verbatim} | |
| 
 | |
| \noindent | |
| If that command fails because you do not have the required public key, | |
| run the following command to import it: | |
| 
 | |
| \begin{verbatim} | |
|    gpg --keyserver keys.gnupg.net --recv-keys 5981E818 | |
| \end{verbatim} | |
| 
 | |
| \noindent | |
| and then re-run the previous command. | |
| 
 | |
| \section{Unpacking the distribution tarball} | |
| 
 | |
| The GLPK package (like all other GNU software) is distributed in the | |
| form of packed archive. This is one file named \verb|glpk-X.Y.tar.gz|, | |
| where {\it X} is the major version number and {\it Y} is the minor | |
| version number. | |
| 
 | |
| In order to prepare the distribution for installation you need to copy | |
| the GLPK distribution file to a working subdirectory and then unpack | |
| and unarchive the distribution file with the following command: | |
| 
 | |
| \begin{verbatim} | |
|    tar zx < glpk-X.Y.tar | |
| \end{verbatim} | |
| 
 | |
| \newpage | |
| 
 | |
| \section{Configuring the package} | |
| 
 | |
| After unpacking and unarchiving the GLPK distribution you should | |
| configure the package,\linebreak i.e. automatically tune it for your | |
| platform. | |
| 
 | |
| Normally, you should just \verb|cd| to the subdirectory \verb|glpk-X.Y| | |
| and run the configure script, e.g. | |
| 
 | |
| \begin{verbatim} | |
|    ./configure | |
| \end{verbatim} | |
| 
 | |
| The `\verb|configure|' shell script attempts to guess correct values | |
| for various system-dependent variables used during compilation. It uses | |
| those values to create a `\verb|Makefile|' in each directory of the | |
| package. It also creates file `\verb|config.h|' containing | |
| platform-dependent definitions. Finally, it creates a shell script | |
| `\verb|config.status|' that you can run in the future to recreate the | |
| current configuration, a file `\verb|config.cache|' that saves the | |
| results of its tests to speed up reconfiguring, and a file | |
| `\verb|config.log|' containing compiler output (useful mainly for | |
| debugging `\verb|configure|'). | |
| 
 | |
| Running `\verb|configure|' takes about a minute. While it is running, | |
| it displays some informational messages that tell you what it | |
| is doing. If you don't want to see these messages, run | |
| `\verb|configure|' with its standard output redirected to | |
| `\verb|dev/null|'; for example, `\verb|./configure > /dev/null|'. | |
| 
 | |
| By default both static and shared versions of the GLPK library will be | |
| compiled. Compilation of the shared librariy can be turned off by | |
| specifying the `\verb|--disable-shared|' option to `\verb|configure|': | |
| 
 | |
| \begin{verbatim} | |
|    ./configure --disable-shared | |
| \end{verbatim} | |
| 
 | |
| \noindent | |
| If you encounter problems building the library try using the above | |
| option, because some platforms do not support shared libraries. | |
| 
 | |
| The GLPK package has some optional features listed below. By default | |
| all these features are disabled. To enable a feature the corresponding | |
| option should be passed to the configure script. | |
| 
 | |
| \verb|--with-gmp         | Enable using the GNU MP bignum library | |
| 
 | |
| This feature allows the exact simplex solver to use the GNU MP bignum | |
| library. If it is disabled, the exact simplex solver uses the GLPK | |
| bignum module, which provides the same functionality as GNU MP, however, | |
| it is much less efficient. | |
| 
 | |
| For details about the GNU MP bignum library see its web page at | |
| \url{http://gmplib.org/}. | |
| 
 | |
| \verb|--enable-dl        | The same as `\verb|--enable-dl=ltdl|' | |
| 
 | |
| \verb|--enable-dl=ltdl   | Enable shared library support (GNU) | |
| 
 | |
| \verb|--enable-dl=dlfcn  | Enable shared library support (POSIX) | |
| 
 | |
| Currently this feature is only needed to provide dynamic linking to | |
| ODBC and MySQL shared libraries (see below). | |
| 
 | |
| For details about the GNU shared library support see the manual at | |
| \url{http://www.gnu.org/software/libtool/manual/}. | |
| 
 | |
| \verb|--enable-odbc      | | |
| Enable using ODBC table driver (\verb|libiodbc|) | |
| 
 | |
| \verb|--enable-odbc=unix | | |
| Enable using ODBC table driver (\verb|libodbc|) | |
| 
 | |
| This feature allows transmitting data between MathProg model objects | |
| and relational databases accessed through ODBC. | |
| 
 | |
| For more details about this feature see the supplement ``Using Data | |
| Tables in the GNU MathProg Modeling Language'' (\verb|doc/tables.pdf|). | |
| 
 | |
| \verb|--enable-mysql     | | |
| Enable using MySQL table driver (\verb|libmysql|) | |
| 
 | |
| This feature allows transmitting data between MathProg model objects | |
| and MySQL relational databases. | |
| 
 | |
| For more details about this feature see the supplement ``Using Data | |
| Tables in the GNU MathProg Modeling Language'' (\verb|doc/tables.pdf|). | |
| 
 | |
| \section{Compiling the package} | |
| 
 | |
| Normally, you can compile (build) the package by typing the command: | |
| 
 | |
| \begin{verbatim} | |
|    make | |
| \end{verbatim} | |
| 
 | |
| \noindent | |
| It reads `\verb|Makefile|' generated by `\verb|configure|' and performs | |
| all necessary jobs. | |
| 
 | |
| If you want, you can override the `\verb|make|' variables \verb|CFLAGS| | |
| and \verb|LDFLAGS| like this: | |
| 
 | |
| \begin{verbatim} | |
|    make CFLAGS=-O2 LDFLAGS=-s | |
| \end{verbatim} | |
| 
 | |
| To compile the package in a different directory from the one containing | |
| the source code, you must use a version of `\verb|make|' that supports | |
| `\verb|VPATH|' variable, such as GNU `\verb|make|'. `\verb|cd|' to the | |
| directory where you want the object files and executables to go and run | |
| the `\verb|configure|' script. `\verb|configure|' automatically checks | |
| for the source code in the directory that `\verb|configure|' is in and | |
| in `\verb|..|'. If for some reason `\verb|configure|' is not in the | |
| source code directory that you are configuring, then it will report | |
| that it can't find the source code. In that case, run `\verb|configure|' | |
| with the option `\verb|--srcdir=DIR|', where \verb|DIR| is the | |
| directory that contains the source code. | |
| 
 | |
| Some systems require unusual options for compilation or linking that | |
| the `\verb|configure|' script does not know about. You can give | |
| `\verb|configure|' initial values for variables by setting them in the | |
| environment. Using a Bourne-compatible shell, you can do that on the | |
| command line like this: | |
| 
 | |
| \begin{verbatim} | |
|    CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure | |
| \end{verbatim} | |
| 
 | |
| \noindent | |
| Or on systems that have the `\verb|env|' program, you can do it like | |
| this: | |
| 
 | |
| \begin{verbatim} | |
|    env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure | |
| \end{verbatim} | |
| 
 | |
| Here are the `\verb|make|' variables that you might want to override | |
| with environment variables when running `\verb|configure|'. | |
| 
 | |
| For these variables, any value given in the environment overrides the | |
| value that `\verb|configure|' would choose: | |
| 
 | |
| \verb|CC      | C compiler program. The default is `\verb|cc|'. | |
| 
 | |
| \verb|INSTALL | Program used to install files. The default value is | |
| `\verb|install|' if you have it,\\ | |
| \verb|           | otherwise `\verb|cp|'. | |
| 
 | |
| For these variables, any value given in the environment is added to the | |
| value that `\verb|configure|' chooses: | |
| 
 | |
| \verb|DEFS    | Configuration options, in the form | |
| `\verb|-Dfoo -Dbar| \dots'. | |
| 
 | |
| \verb|LIBS    | Libraries to link with, in the form | |
| `\verb|-lfoo -lbar| \dots'. | |
| 
 | |
| \section{Checking the package} | |
| 
 | |
| To check the package, i.e. to run some tests included in the package, | |
| you can use the following command: | |
| 
 | |
| \begin{verbatim} | |
|    make check | |
| \end{verbatim} | |
| 
 | |
| \section{Installing the package} | |
| 
 | |
| Normally, to install the GLPK package you should type the following | |
| command: | |
| 
 | |
| \begin{verbatim} | |
|    make install | |
| \end{verbatim} | |
| 
 | |
| \noindent | |
| By default, `\verb|make install|' will install the package's files in | |
| `\verb|usr/local/bin|', `\verb|usr/local/lib|', etc. You can specify an | |
| installation prefix other than `\verb|/usr/local|' by giving | |
| `\verb|configure|' the option `\verb|--prefix=PATH|'. Alternately, you | |
| can do so by consistently giving a value for the `\verb|prefix|' | |
| variable when you run `\verb|make|', e.g. | |
| 
 | |
| \begin{verbatim} | |
|    make prefix=/usr/gnu | |
|    make prefix=/usr/gnu install | |
| \end{verbatim} | |
| 
 | |
| After installing you can remove the program binaries and object files | |
| from the source directory by typing `\verb|make clean|'. To remove all | |
| files that `\verb|configure|' created (`\verb|Makefile|', | |
| `\verb|config.status|', etc.), just type `\verb|make distclean|'. | |
| 
 | |
| The file `\verb|configure.ac|' is used to create `\verb|configure|' by | |
| a program called `\verb|autoconf|'. You only need it if you want to | |
| remake `\verb|configure|' using a newer version of `\verb|autoconf|'. | |
| 
 | |
| \section{Uninstalling the package} | |
| 
 | |
| To uninstall the GLPK package, i.e. to remove all the package's files | |
| from the system places, you can use the following command: | |
| 
 | |
| \begin{verbatim} | |
|    make uninstall | |
| \end{verbatim} | |
| 
 | |
| %* eof *%
 |