In this example i will try to install cloudstore ( kosmosfs or simply kfs ) on a fedora 10 linux operating system
and will use the following folder structure:
/CLOUD
/storage  - folder to mount kfs storage later
/source/kfs-0.3/ – source code

user@computer:$ [root@localhost ~]# mkdir /CLOUD/source;cd /CLOUD/source
[root@localhost source]# wget http://downloads.sourceforge.net/project/kosmosfs/kosmosfs/kfs-0.3/kfs-0.3.tar.gz
[root@localhost source]# tar zxvf kfs-0.3.tar.gz
[root@localhost source]# cd kfs-0.3
[root@localhost kfs-0.3]# mkdir build;cd build
[root@localhost build]#  cmake ..

Unable to find the requested Boost libraries.

Unable to find the Boost header files.  Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.

I solved boost dependencies by installing boost and boost-devel

user@computer:$ [root@localhost build]# yum install boost boost-devel

resumed the process

user@computer:$ [root@localhost build]# cmake ..
CMake Error at cmake/FindLog4cpp.cmake:41 (MESSAGE):
Could NOT find Log4cpp library
Call Stack (most recent call first):
CMakeLists.txt:33 (find_package)

i did not find log4cpp rpm packages for download so i had to compile log4cpp myself,
i wrote a post on how to install log4cpp on fedora core 10

again, resumed the process

user@computer:$ [root@localhost build]# cmake ..
-- Found JNI...building kfs_access
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
JAVA_INCLUDE_PATH (ADVANCED)
used as include directory in directory /CLOUD/source/kfs-0.3
used as include directory in directory /CLOUD/source/kfs-0.3/src/cc/access
JAVA_INCLUDE_PATH2 (ADVANCED)
used as include directory in directory /CLOUD/source/kfs-0.3
used as include directory in directory /CLOUD/source/kfs-0.3/src/cc/access

-- Configuring incomplete, errors occurred!

it would be great if kfs would have an option to skip the java components but since there is no such option i’ll go ahead and install java using the easy way around – rpm package

user@computer:$ yum install java java-devel

resume process

user@computer:$ cmake ..
gmake
[ 30%] Building CXX object src/cc/libkfsIO/CMakeFiles/kfsIO.dir/kfsutils.o
/CLOUD/source/kfs-0.3/src/cc/libkfsIO/kfsutils.cc:44:21: error: xfs/xfs.h: No such file or directory

i did not have xfs installed, it did complain finally although did not complain during cmake

user@computer:$ yum install xfsprogs xfsprogs-devel
gmake
[ 25%] Building CXX object src/cc/libkfsIO/CMakeFiles/kfsIO.dir/kfsutils.o
In file included from /usr/include/xfs/platform_defs-i386.h:54,
from /usr/include/xfs/platform_defs.h:7,
from /usr/include/xfs/xfs.h:36,
from /CLOUD/source/kfs-0.3/src/cc/libkfsIO/kfsutils.cc:44:
/usr/include/xfs/linux.h:20:23: error: uuid/uuid.h: No such file or directory

i have previously solved the problem with xfs uuid/uuid.h by simply installing e2fsprogs-devel

user@computer:$ gmake
[ 47%] Building CXX object src/cc/chunk/CMakeFiles/chunkscrubber.dir/chunkscrubber_main.o
Linking CXX executable chunkscrubber
/usr/bin/ld: cannot find -lcrypto
collect2: ld returned 1 exit status
gmake[2]: *** [src/cc/chunk/chunkscrubber] Error 1
gmake[1]: *** [src/cc/chunk/CMakeFiles/chunkscrubber.dir/all] Error 2
gmake: *** [all] Error 2

this is an easy one

user@computer:$ yum install openssl-devel
gmake
gmake install

building the java components, dont forget to install ant if you dont already have it
if you are not going to create java applications that interact with kfs you can skip this

user@computer:$ yum install ant
cd ..
ant jar

you can also building the python support, i will not do this now

you may now continue with the next step, configure Cloudstore ( kosmosfs ) release 0.3

2 Responses to “Compile and Install CloudStore (kosmosfs) release 0.3”

  1. will you test the performance ?

  2. no, i do not intend to test performance at least not yet, i run most of my tests in vmware or openVZ containers so i can easely swich from one os to another. I also do not have the Python skills to write a banchmark script, i could only banchmark via fuse ( which btw apache folks do not recommend for their Hadoop’s HDFS )

Leave a Reply