I am trying to build this project in my ubuntu16.04 x86 vm by following the steps of "https://github.com/wangkuiyi/mapreduce-lite/blob/master/doc/install.md", but it failed on the last step of building mapreduce-lite.
I am listing what I have done (so that maybe someone can help me out), thanks in advance.
1.Install gcc, cmake and protobuf
sudo apt-get install gcc binutils
sudo apt-get install cmake
sudo apt-get install libprotobuf-dev libprotoc-dev
2.Install gflags (2.0), Boost (1.54.0) and libevent (2.0.21-stable)
- gflags
cd gflags-2.0
./configure --prefix=/home/xxx/Downloads/gflags-2.0
make && make install
ln -s /home/xxx/Downloads/gflags-2.0 /home/xxx/Downloads/gflags
- boost
cd /home/xxx/Downloads/
tar xjf boost_1_54_0.tar.bz2
cd boost_1_54_0
./bootstrap --prefix=/home/xxx/Downloads/boost_1_54_0
./b2 -j1
./b2 install
ln -s /home/xxx/Downloads/boost_1_54_0 /home/xxx/Downloads/boost
- libevent
cd /home/xxx/Downloads
tar xjf libevent-2.0.21-stable.tar.bz2
cd libevent-2.0.21-stable
./configure --prefix=/home/xxx/Downloads/libevent-2.0.21-stable
make && make install -i
ln -s /home/xxx/Downloads/libevent-2.0.21-stable /home/xxx/Downloads/libevent
- Download gtest 1.7.0 and build mapreduce-lite
- gtest
cd mapreduce-lite/src
ln -s /home/xxx/Downloads/gtest-1.7.0 gtest
- make some changes in mapreduce-lite-master\CMakeLists.txt
set(CMAKE_INSTALL_PREFIX "/home/xxx/Downloads/mapreduce-lite-master")
set(THIRD_PARTY_DIR "/home/xxx/Downloads")
change from add_definitions(" -Wall -Wno-sign-compare -Werror -O2 ")
to add_definitions(" -Wall -Wno-sign-compare -O2 ")
because it will treat warnign as errors
- build mapreduce-lite
cd /home/xxx/Downloads/mapreduce-lite-master
mkdir build
cd build
cmake ..
make -j1 (or just make) <---- failed here
make install
But on the last second step of "Build MapReduce Lite", , when I am running "make", I got the following error -
[ 70%] Linking CXX executable sorted_buffer_iterator_test
../gtest/libgtest.a(gtest-all.cc.o): In function `testing::internal::StreamingListener::SocketWriter::MakeConnection()':
gtest-all.cc:(.text+0x99d2): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
[ 70%] Built target sorted_buffer_iterator_test
**make[2]: * No rule to make target '../src/mapreduce_lite/PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND', needed by 'src/mapreduce_lite/protofile.pb.cc'. Stop.
CMakeFiles/Makefile2:1450: recipe for target 'src/mapreduce_lite/CMakeFiles/mapreduce_lite.dir/all' failed
make[1]: *** [src/mapreduce_lite/CMakeFiles/mapreduce_lite.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
run "sudo apt-get install protobuf-compiler", but it does not help solve this build error.
Appreciate it if someone can provide some comment/suggestion.
Thanks in advance.
I am trying to build this project in my ubuntu16.04 x86 vm by following the steps of "https://github.com/wangkuiyi/mapreduce-lite/blob/master/doc/install.md", but it failed on the last step of building mapreduce-lite.
I am listing what I have done (so that maybe someone can help me out), thanks in advance.
1.Install gcc, cmake and protobuf
sudo apt-get install gcc binutils
sudo apt-get install cmake
sudo apt-get install libprotobuf-dev libprotoc-dev
2.Install gflags (2.0), Boost (1.54.0) and libevent (2.0.21-stable)
cd gflags-2.0
./configure --prefix=/home/xxx/Downloads/gflags-2.0
make && make install
ln -s /home/xxx/Downloads/gflags-2.0 /home/xxx/Downloads/gflags
cd /home/xxx/Downloads/
tar xjf boost_1_54_0.tar.bz2
cd boost_1_54_0
./bootstrap --prefix=/home/xxx/Downloads/boost_1_54_0
./b2 -j1
./b2 install
ln -s /home/xxx/Downloads/boost_1_54_0 /home/xxx/Downloads/boost
cd /home/xxx/Downloads
tar xjf libevent-2.0.21-stable.tar.bz2
cd libevent-2.0.21-stable
./configure --prefix=/home/xxx/Downloads/libevent-2.0.21-stable
make && make install -i
ln -s /home/xxx/Downloads/libevent-2.0.21-stable /home/xxx/Downloads/libevent
cd mapreduce-lite/src
ln -s /home/xxx/Downloads/gtest-1.7.0 gtest
set(CMAKE_INSTALL_PREFIX "/home/xxx/Downloads/mapreduce-lite-master")
set(THIRD_PARTY_DIR "/home/xxx/Downloads")
change from add_definitions(" -Wall -Wno-sign-compare -Werror -O2 ")
to add_definitions(" -Wall -Wno-sign-compare -O2 ")
because it will treat warnign as errors
cd /home/xxx/Downloads/mapreduce-lite-master
mkdir build
cd build
cmake ..
make -j1 (or just make) <---- failed here
make install
But on the last second step of "Build MapReduce Lite", , when I am running "make", I got the following error -
[ 70%] Linking CXX executable sorted_buffer_iterator_test
../gtest/libgtest.a(gtest-all.cc.o): In function `testing::internal::StreamingListener::SocketWriter::MakeConnection()':
gtest-all.cc:(.text+0x99d2): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
[ 70%] Built target sorted_buffer_iterator_test
**make[2]: * No rule to make target '../src/mapreduce_lite/PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND', needed by 'src/mapreduce_lite/protofile.pb.cc'. Stop.
CMakeFiles/Makefile2:1450: recipe for target 'src/mapreduce_lite/CMakeFiles/mapreduce_lite.dir/all' failed
make[1]: *** [src/mapreduce_lite/CMakeFiles/mapreduce_lite.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
run "sudo apt-get install protobuf-compiler", but it does not help solve this build error.
Appreciate it if someone can provide some comment/suggestion.
Thanks in advance.