dafaronbi / PCx

This is the version of PCx (http://pages.cs.wisc.edu/~swright/PCx/) that I'm working on it.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PCx depends of the below programs:

  • Fotran compiler, e.g., gfortran >= 4.8.1
  • C compiler, e.g., gcc >= 4.8.1
  • Make, e.g., GNU Make >= 3.82
  • Autoconf, e.g., GNU Autoconf >= 2.69

The PCx's documentation depends of the below programs:

  • Sphinx >= 1.2b1
  • Doxygen >= 1.8.5
  • Breathe >= 1.0.0

To install PCx on a Unix system, follow the below instructions:

$ git clone https://github.com/r-gaia-cs/PCx.git
$ ./configure
$ make

You probably want to take a look at the options of configure:

$ ./configure --help

since some features for debug and profile can be enable using options or environment variables.

If you got a error like

configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."

try

$ libtoolize --force
$ aclocal
$ autoreconf -f -i -Wall,no-obsolete
$ ./configure
$ make

And for the documentation:

$ make doc

If the building process have finish without error the file PCx must be create. Lets try it with the smallest mps file, afiro.mps.

$ ./PCx afiro

For recompile the source is recommended to remove all the object files.

$ make clean

To compile the MATLAB interface, follow the below instructions:

$ make mex

Add PCx/mex to your MATLABPATH environment. Then, at the MATLAB prompt, type 'help PCx' for syntax information. The syntax is virtually identical to that of Matlab's linprog (a.k.a. Yin Zhang's LIPSOL).

You can test the interface on the supplied datafiles afiro.mat.

=======================================================================

We have tested this procedure on the following architectures:

sun4-class workstations running SunOS; UltraSparc workstation running Solaris 2.x; SGI workstations running IRIX 5.3 and 6.4; HP-9000 workstations; Pentium PC running Linux; IBM RS6000 workstations.

Unfortunately, the build procedure is site-specific as well as architecture-specific, particularly since it involves linking of Fortran and C source files, so there are no guarantees that it will work on your machine, even if you have one of the systems mentioned above. If the "build" fails on your machine, you can download an executable from the PCx web site for each of the architectures above. See the PCx home page for details.

Some linkers might issue a warning that there are two main-functions, chances are that this warning can be safely ignored and the executable will be fully functional.

If your compiler does not compile the PCx code correctly, try removing the reference to nullmain.o in the file SRC/Makefile. Some compilers seem need this null routine in the linking process.

If you are having difficulty compiling the file timers.c, it is possible to turn off the timing routines. Simply change the file SRC/Makefile. Change the line

CFLAGS = -O -D$(PCx_ARCH)

to

CFLAGS = -O -D$(PCx_ARCH) -DNO_TIMING

To test PCx on one of the input files in the subdirectory "mps/", type

$ PCx afiro

A User Manual is available in the subdirectory DOC.

About

This is the version of PCx (http://pages.cs.wisc.edu/~swright/PCx/) that I'm working on it.

License:Other


Languages

Language:C 68.8%Language:Fortran 24.1%Language:Shell 4.3%Language:Python 2.0%Language:MATLAB 0.5%Language:C++ 0.2%Language:Awk 0.1%