Friday, January 20, 2012

Installing GraphLab on Free BSD 8.2

0) Verify that bash installed on the machine by typing the command "which bash".
If it is not installed, install it using the directions here.

1a) Install graphlab from mercurial
Go to graphlab download page, and follow the download link to the mercurial repository.
copy the command string: "hg clone..." and execute it in your ubuntu shell.

or 1b) Install graphlab from tgz file
Go to graphlab download page, and download the latest release.
Extract the tgz file using the command: "tar xvzf graphlabapi_v1_XXX.tar.gz"
where XXX is the version number you downloaded.

2) configure and compile
cd graphlabapi
./configure --bootstrap 
cd release/
make -j4

3) Test Graphlab
cd tests
bash ./runtests.sh

Common errors:
[daniel51@pe-00 ~/graphlabapi]$ ./configure --bootstrap
Tue Jan 17 17:50:14 IST 2012
function: not found
Usage: ./configure [--bootstrap] [--force_cmake_install]
                   [--force_boost_install] [--prefix=PREFIX]
                   [--experimental]

Solution:
edit the file configure, and change /bin/sh to the location of your bash command line interpreter. (You can find it using "which bash" command.)

In file included from /cs/alum/daniel51/graphlabapi/src/graphlab/extern/metis/GKlib/GKlib.h:23,
                 from /cs/alum/daniel51/graphlabapi/src/graphlab/extern/metis/GKlib/b64.c:14:
/cs/alum/daniel51/graphlabapi/src/graphlab/extern/metis/GKlib/gk_arch.h:26:22: error: execinfo.h: No such file or directory
*** Error code 1

Solution: install libexecinfo.
Add the following line:
include_directories("/usr/local/include/")
Into CMakeLists.txt file, above (cmake_minimum_required).  Reconfigure and recompile.

Problem:
Linking CXX executable anytests
../src/graphlab/libgraphlab.a(assertions.o)(.text+0x11): In function `__print_back_trace()':
/cs/alum/daniel51/graphlabapi/src/graphlab/logger/assertions.cpp:35: undefined reference to `backtrace'
../src/graphlab/libgraphlab.a(assertions.o)(.text+0x20):/cs/alum/daniel51/graphlabapi/src/graphlab/logger/assertions.cpp:36: undefined reference to `backtrace_symbols_fd'
*** Error code 1

Solution:
Add the following lines:
link_directories("/usr/local/lib/")
link_libraries(execinfo)
Into the file CMakeLists.txt above (cmake_minimum_required). Reconfigure and recompile.

No comments:

Post a Comment