How do I install Eigen2?
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. I've been having trouble installing it. When I ran cmake '/home/brentonhorne/eigen-eigen-5097c01bcdc4
where /home/brentonhorne/eigen-eigen-5097c01bcdc4
is the location of the source directory extracted from the tarball I downloaded from the Eigen website, I received the error:
CMake Error at CMakeLists.txt:8 (message):
In-source builds not allowed. Please make a new directory (called a build
directory) and run CMake from there. You may need to remove
CMakeCache.txt.
-- Configuring incomplete, errors occurred!
Please tell me how to get past this roadblock. I do not understand much programming but if you can explain to me what I need to do in terms of what to paste into terminal I can do it! If it is needed to help me I am running 12.10.
If you need to know the contents of the INSTALL file in the source directory here they are:
Installation instructions for Eigen
***********************************
Explanation before starting
***************************
Eigen consists only of header files, hence there is nothing to compile
before you can use it. Moreover, these header files do not depend on your
platform, they are the same for everybody.
Method 1. Installing without using CMake
****************************************
You can use right away the headers in the Eigen/ subdirectory. In order
to install, just copy this Eigen/ subdirectory to your favorite location.
If you also want the unsupported features, copy the unsupported/
subdirectory too.
Method 2. Installing using CMake
********************************
Let's call this directory 'source_dir' (where this INSTALL file is).
Before starting, create another directory which we will call 'build_dir'.
Do:
cd build_dir
cmake source_dir
make install
The "make install" step may require administrator privileges.
You can adjust the installation destination (the "prefix")
by passing the -DCMAKE_INSTALL_PREFIX=myprefix option to cmake, as is
explained in the message that cmake prints at the end.
I'm not familiar with Eigen, but from the error message, it looks like it requires an "out of source" build.
This means that if you have downloaded and extracted Eigen to /home/brentonhorne/eigen-eigen-5097c01bcdc4, then you should create a new directory outside of the Eigen root altogether, e.g. /home/brentonhorne/build_eigen and run CMake from there. I guess something like:
mkdir /home/brentonhorne/build_eigen
cd /home/brentonhorne/build_eigen
cmake /home/brentonhorne/eigen-eigen-5097c01bcdc4
make
sudo make install
It should be noted that Eigen library can be installed as a package.
sudo apt-get install libeigen3-dev
for the most recent library and sudo apt-get install libeigen2-dev
for the one mentioned in this question.
Well, I installed it myself and it's working perfectly. Here is what I did (which is same as what I posted before):
- Download
Eigen 3.1.2
fromhttp://eigen.tuxfamily.org/index.php?title=Main_Page
. - Open a terminal (Ctrl+Alt+T) and run:
cd ~/Downloads tar xzf eigen-eigen-5097c01bcdc4.tar.bz2 cd eigen-eigen-5097c01bcdc4 sudo cp -r Eigen /usr/include/
- Done!
- Copy the
Eigen
directory to/usr/include
.
You'd neet root user privileges to do that. So, open a terminal, browse to the directory containing the Eigen directory, and run sudo cp -r Eigen /usr/include/
.
- To include a header file, say
Dense
, from theEigen
directory use
#include <Eigen/Dense>