Skip to content

Commit 77cc945

Browse files
committed
Updating the install documentation
1 parent e0cebb2 commit 77cc945

File tree

1 file changed

+53
-61
lines changed

1 file changed

+53
-61
lines changed

doxygen/install.dox

Lines changed: 53 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -23,51 +23,54 @@ instructions, the library will be compiled using the default
2323
configuration. You can modify that easily as explained in
2424
\ref confinst
2525

26-
\subsection cinlinux Linux:
26+
\subsection cinlinux Dependencies on Linux:
2727
For Ubuntu/Debian, the minimum dependencies (C/C++) can be optained by running:
2828
\verbatim
29-
>> sudo apt-get install libboost-dev cmake cmake-curses-gui g++
29+
>> sudo apt install libboost-dev cmake g++
3030
\endverbatim
3131

32-
If you want the Python interface:
32+
If you want the Python interface or the Octave interface (note that the \a octave package does not include all the necessary files):
3333
\verbatim
34-
>> sudo apt-get install python-dev python-numpy
34+
>> sudo apt install python-dev python-numpy
35+
>> sudo apt install octave liboctave-dev
3536
\endverbatim
37+
You can also install the Python dependencies using your favorite package manager (conda, virtualenv+pip).
3638

37-
If you want the Octave interface (note that the \a octave package does not include all the necessary files):
39+
You might also want to install the packages for interactive cmake, or GLUT to run the examples with plots:
3840
\verbatim
39-
>> sudo apt-get install octave-headers
41+
>> sudo apt install cmake-curses-gui
42+
>> sudo apt install freeglut3-dev
4043
\endverbatim
4144

4245
And for all dependencies:
4346
\verbatim
44-
>> sudo apt-get install libboost-dev python-dev python-numpy cmake cmake-curses-gui g++ cython octave-headers freeglut3-dev
47+
>> sudo apt install libboost-dev python-dev python-numpy cmake cmake-curses-gui g++ cython octave liboctave-dev freeglut3-dev
4548
\endverbatim
4649

47-
\subsection cinmac MacOS:
48-
This section assumes \b macports is installed. Similar packages can be
49-
found in \b fink or \b homebrew. For the minimal install, run:
50+
\subsection cinmac Dependencies on MacOS:
51+
This section assumes \b homebrew is installed. Similar packages can be
52+
found in \b fink or \b macports. We also assume that a suitable C++
53+
compiler is installed. For example, Xcode. For the minimal install,
54+
run:
5055
\verbatim
51-
>> sudo port install boost gcc47 cmake
56+
>> brew install boost cmake
5257
\endverbatim
5358

54-
If you want the Python interface:
59+
If you want the Python interface or the Octave interface:
5560
\verbatim
56-
>> sudo port install python27 py27-numpy
61+
>> brew install python numpy
62+
>> brew install octave
5763
\endverbatim
64+
You can also install the Python dependencies using your favorite package manager (conda, pip...) or use the native Python interpreter in MacOS. BayesOpt can also be installed in Python environments (conda, virtualenv...).
5865

59-
If you want the Octave interface:
60-
\verbatim
61-
>> sudo port install octave
62-
\endverbatim
6366

64-
Again, for all dependencies:
67+
And for all dependencies:
6568
\verbatim
66-
>> sudo port install boost python27 py27-numpy gcc47 cmake py27-cython octave freeglut
69+
>> brew install boost python numpy cmake cython octave freeglut
6770
\endverbatim
6871

6972

70-
\subsection compile Compile the library:
73+
\subsection compile Compile the library with default configuration (C++):
7174
In order to compile the source code in a *nix system, run this from a
7275
terminal.
7376
\verbatim
@@ -93,18 +96,26 @@ Thid documentation will appear in the "doc" subdirectory.
9396

9497
\subsection instpython Python interface:
9598

96-
Both Python development files (Python.h) and Numpy are needed if you
97-
want the python interface. The library has been tested with Python
98-
2.5, 2.6 and 2.7. The interface relies on Numpy arrays. If we want to
99-
select the option to compile the Python interface we can just run:
99+
Both Python header files (Python.h) and Numpy are needed if you want
100+
the python interface. The library has been tested with Python 2 and
101+
3. If we want to select the option to compile the Python interface we
102+
can just run:
103+
100104
\verbatim
101-
>> cmake -DBAYESOPT_PYTHON_INTERFACE=ON .
105+
>> cmake -DBAYESOPT_PYTHON_INTERFACE=ON .
106+
>> make
107+
>> sudo make install
102108
\endverbatim
103-
or
109+
110+
As commented before, the option BAYESOPT_PYTHON_INTERFACE=ON can also be set using
104111
\verbatim
105-
>> ccmake .
112+
>> ccmake .
106113
\endverbatim
107-
and select the corresponding option.
114+
115+
You can use and install BayesOpt in a Python environment
116+
(conda, virtualenv, pyenv, etc.). It just need to be activated before
117+
calling cmake or ccmake. You can check that the correct install path
118+
has been found using ccmake. Then, press "t" to select advanced features.
108119

109120
\b Important: Python requires a special module with shared access and
110121
nonstandard name. Thus, it will build a separate module called
@@ -191,7 +202,7 @@ the worng std++ library for different reasons. See:
191202
Install this components:
192203
\li CMake: http://www.cmake.org
193204
\li Boost: http://www.boost.org
194-
\li MinGW(optional): http://www.mingw.org
205+
\li A C++ compiler. For example, Visual Studio or MinGW: http://mingw-w64.org/
195206
\li FreeGLUT(optional): http://freeglut.sourceforge.net/
196207

197208
First, you need to compile the library from sources using a C++
@@ -205,7 +216,7 @@ automatically create the necesary configuration files for the compiler
205216
(makefile, solution, etc.). In CMake you need to set the paths of the
206217
Boost and FreeGLUT to allow the compiler to find them.
207218

208-
Since Boost they are pure template libraries, they do not require any
219+
Since Boost are pure template libraries, they do not require any
209220
install/compilation steps in advance. Just make sure the headers are
210221
on the include path. You can also add an entry named BOOST_ROOT in
211222
CMake with the corresponding path to the library.
@@ -247,20 +258,17 @@ online docs at mathworks.
247258

248259
\subsubsection matlabmingw MATLAB and MinGW
249260

250-
Unfortunately, MinGW has never been suported by Matlab. Thus I have
251-
also included a Makefile to generate the mex files outside Matlab. You
252-
might need to change the \c MATLABROOT path with the root folder of
253-
your Matlab install and copy the dlls. Then, run \c mingw32-make. Note
254-
that \c mingw32-make only supports 32 bits libraries, so you need a 32
255-
bit version of Matlab. There is a fork of MinGW with 64 bit support
256-
under development, but it has not been tested here.
261+
Although it might not be needed, I have also included a Makefile to
262+
generate the mex files outside Matlab. You might need to change the \c
263+
MATLABROOT path with the root folder of your Matlab install and copy
264+
the dlls. Then, run \c mingw32-make.
257265

258266
\subsection instpythonwin Python interface:
259267

260268
The Python interface has not been tested in \b Windows because getting
261269
the correct dependencies is highly involved. You might need to
262270
download and install:
263-
\li Python (binary and \b sources): http://www.python.org
271+
\li Python (binary and \b headers): http://www.python.org
264272
\li Numpy: http://new.scipy.org/download.html
265273

266274
Also, read this article about how to link everything:
@@ -311,7 +319,7 @@ different sets of test, the first one also on the Branin function.
311319
</ol>
312320
<HR>
313321

314-
\section confinst Configure the compilation/install
322+
\section confinst Advanced configuration for compilation/install
315323

316324
CMake allows to configure the compilation using some variables (see
317325
for example how to compile the Python module in Linux). These
@@ -399,27 +407,11 @@ issues. It requires OpenGL/GLUT.
399407

400408
\section comptests Compatibility tests
401409

402-
| API | Linux | MacOS | Win/MinGW | Win/MSVC |
403-
|--------|--------|--------|--------------|-----------|
404-
| C/C++ | OK | OK | OK | OK |
405-
| Matlab | OK | OK | OK (32 bits) | OK |
406-
| Octave | OK | OK | No test | No test |
407-
| Python | OK | OK | No test | No test |
408-
409-
\subsection notetests Notes on tested systems:
410-
- Linux: Debian 6.0, Ubuntu from 11.04
411-
- MacOS: 10.6 (Snow Leopard)
412-
- MS Windows: XP, Vista, 7
413-
414-
Compilers:
415-
- gcc: different versions from 4.1
416-
- clang: version 2.7
417-
- MinGW: version from 0.5
418-
- MSVC: Visual Studio Professional 2012, Express 2010-2012
419-
420-
Interfaces
421-
- Matlab from 2010a
422-
- Octave from version 3.2
423-
- Python from version 2.5 (not tested on Python 3)
410+
| API | Linux | MacOS | Win/MinGW | Win/MSVC |
411+
|-----------|--------|--------|--------------|-----------|
412+
| C/C++ | OK | OK | OK | OK |
413+
| Matlab | OK | OK | OK | OK |
414+
| Octave | OK | OK | No test | No test |
415+
| Python2/3 | OK | OK | No test | No test |
424416

425417
*/

0 commit comments

Comments
 (0)