forked from coin-or/Clp.old
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL
176 lines (115 loc) · 5.73 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
These instructions are for UNIX-like systems (including Linux, Cygwin
and MSys) only. If Microsoft Developer Studio projects are
maintained for this package, you can find instructions at
https://projects.coin-or.org/MSVisualStudio
**********************************************************************
*** DOWNLOAD ***
**********************************************************************
You can obtain the source code for the Clp package in two ways:
1. Obtain the source directly from the COIN-OR subversion repository
(recommended). For this you needs the program 'svn' installed on
your machine, and output of "svn --version" must contain
"handles 'https' scheme".
Assuming that you want to download the code into a subdirectory
"COIN-Clp", you type
svn co https://projects.coin-or.org/svn/Clp/trunk Coin-Clp
2. Download the tarball from http://www.coin-or.org/Tarballs/Clp and
extract it, for example, with
gunzip Clp_2006Jun07.tgz
tar xvf Clp_2006Jun07.tar
(Here "2006Jun07" is of course replaced by the string in the
tarball you downloaded.)
More detailed download instructions can be found at
https://projects.coin-or.org/BuildTools/wiki/user-download
**********************************************************************
*** CONFIGURATION ***
**********************************************************************
Go into the directory that you just downloaded or extracted (e.g.,
Coin-Clp or Clp_2006Jun07). Then you type
./configure
Note that you might have to specify additional options, in case you
don't want to use the default choices that configure makes (e.g.,
compilers). Please visit
https://projects.coin-or.org/BuildTools/wiki/user-configure
and the Clp Trac page
https://projects.coin-or.org/Clp
for more information.
If everything went fine, you will see at the end of the output
"Main configuration of Clp successful"
**********************************************************************
*** COMPILATION AND INSTALLATION ***
**********************************************************************
In the directory where you ran the configure script:
1. Compile the code by typing
make
2. To test if the code works, you can type
make test
3. To install the code, you type
make install
After this, you will find the executables, libraries and header
files in the "bin", "lib" and "include" subdirectory, respectively.
More information on the compilation and installation can be found at
https://projects.coin-or.org/BuildTools/wiki/user-compile
**********************************************************************
*** USING THE LIBRARIES ***
**********************************************************************
Now you can link your own code with the installed libraries. You can
find examples in the
Clp/examples/
subdirectory, see also the information at
https://projects.coin-or.org/BuildTools/wiki/user-examples
==== 8< ======================================================
From here on you find the original installation instructions for the
previous GNU Makefile build system. Most details have changed, but
for now we keep it here so that possibly missing items might be found
here.
Prerequisites for installation:
- at the moment on (*)nix platforms you must use g++ 2.95.2 or higher.
- must use gnu make
- to make the documentation doxygen must be installed
Targets are put in subdirectories, whose name is derived from the
platform name (as returned by `uname`) and the optimization level
(e.g., Linux-g).
To build Clp library and unitTest
- read and edit the top of Makefile to select
- whether shared or static library should be built
- optimization level
- where the compiled library should be installed
- read and edit ../Common/make/Makefile.locations to uncomment Clp lines
- 'make' to build and install the library.
- 'make unitTest' to create the unitTest program. It will be placed
in the target subdirectory.
- 'make doc' to create the html documentation of the classes in the
library and place them in doc/html.
To run Clp unitTest
- clp -unitTest from Clp directory
To run Clp on netlib
- clp -netlib from Clp directory (or -netlibp for primal).
To build Clp executable (after Clp libraries)
In This directory 'make unitTest'. This actually creates and executable
clp in this directory which can both do unit test and act as simple
Clp driver
Tuning information. On Intel Linux I modified Makefiles/Makefile.Linux to add:
ifeq ($(OptLevel),-O1)
CXXFLAGS += -DNDEBUG
CXXFLAGS += -ffast-math -fomit-frame-pointer
CXXFLAGS += -march=i686
endif
in Coin/Makefile I added the following to get dense code handling
CXXFLAGS += -DDENSE_CODE=1
and change Optimization level to -O1 (same level in Clp/Makefile.Clp).
and finally in Clp/Test/Makefile.test I added
#if DENSE and using given libraries
LDFLAGS += -llapack -lblas -lg2c
If you have not got these libraries then leave out dense code flags
For more information see README and files in Samples
IMPORTANT new note
To address the problem of stability I have gone over to a new system of releases.
Now a new release is a more minor thing but has its own snapshot. To find out what
releases have snapshots just do
make restore
To restore Clp and Coin files to that snapshot do
make restore BACKUP=xxxx where a snapshot Clp_xxxx.tar or Clp_xxxx.tar.gz is available
and check that it looks OK. Then do make restore BACKUP=xxxx CONFIRM=YES to actually
overwrite files. Then do make unitTest.
You can also create your own snapshots with make dist or make backup. BUT use great care.