ivan-zapreev / Distributed-Translation-Infrastructure

The distributed statistical machine translation infrastructure consisting of load balancing, text pre/post-processing and translation services. Written in C++ 11 and utilises multicore CPUs by employing multi-threading, allows for secure SSL/TLS communications.
GNU General Public License v2.0
12 stars 3 forks source link

Doesn't Compile #7

Closed jamesdbaker closed 6 years ago

jamesdbaker commented 6 years ago

I'm trying to compile the software on Ubuntu 16.04.3, but the instructions provided in the README don't work.

bakerj@bakerj-Z6:~/Distributed-Translation-Infrastructure$ mkdir build
bakerj@bakerj-Z6:~/Distributed-Translation-Infrastructure$ cd build/
bakerj@bakerj-Z6:~/Distributed-Translation-Infrastructure/build$ cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/bakerj/Distributed-Translation-Infrastructure/build
bakerj@bakerj-Z6:~/Distributed-Translation-Infrastructure/build$ make VERBOSE=1
/usr/bin/cmake -H/home/bakerj/Distributed-Translation-Infrastructure -B/home/bakerj/Distributed-Translation-Infrastructure/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/bakerj/Distributed-Translation-Infrastructure/build/CMakeFiles /home/bakerj/Distributed-Translation-Infrastructure/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/bakerj/Distributed-Translation-Infrastructure/build'
make -f CMakeFiles/bpbd-client.dir/build.make CMakeFiles/bpbd-client.dir/depend
make[2]: Entering directory '/home/bakerj/Distributed-Translation-Infrastructure/build'
cd /home/bakerj/Distributed-Translation-Infrastructure/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/bakerj/Distributed-Translation-Infrastructure /home/bakerj/Distributed-Translation-Infrastructure /home/bakerj/Distributed-Translation-Infrastructure/build /home/bakerj/Distributed-Translation-Infrastructure/build /home/bakerj/Distributed-Translation-Infrastructure/build/CMakeFiles/bpbd-client.dir/DependInfo.cmake --color=
Dependee "/home/bakerj/Distributed-Translation-Infrastructure/build/CMakeFiles/bpbd-client.dir/DependInfo.cmake" is newer than depender "/home/bakerj/Distributed-Translation-Infrastructure/build/CMakeFiles/bpbd-client.dir/depend.internal".
Dependee "/home/bakerj/Distributed-Translation-Infrastructure/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/bakerj/Distributed-Translation-Infrastructure/build/CMakeFiles/bpbd-client.dir/depend.internal".
Scanning dependencies of target bpbd-client
make[2]: Leaving directory '/home/bakerj/Distributed-Translation-Infrastructure/build'
make -f CMakeFiles/bpbd-client.dir/build.make CMakeFiles/bpbd-client.dir/build
make[2]: Entering directory '/home/bakerj/Distributed-Translation-Infrastructure/build'
[  1%] Building CXX object CMakeFiles/bpbd-client.dir/src/client/bpbd_client.cpp.o
/usr/bin/c++    -I/home/bakerj/Distributed-Translation-Infrastructure/inc -isystem /home/bakerj/Distributed-Translation-Infrastructure/ext  -pipe -std=c++0x -Wall -m64 -O3 -DNDEBUG   -o CMakeFiles/bpbd-client.dir/src/client/bpbd_client.cpp.o -c /home/bakerj/Distributed-Translation-Infrastructure/src/client/bpbd_client.cpp
[  2%] Building CXX object CMakeFiles/bpbd-client.dir/src/common/messaging/trans_job_code.cpp.o
/usr/bin/c++    -I/home/bakerj/Distributed-Translation-Infrastructure/inc -isystem /home/bakerj/Distributed-Translation-Infrastructure/ext  -pipe -std=c++0x -Wall -m64 -O3 -DNDEBUG   -o CMakeFiles/bpbd-client.dir/src/common/messaging/trans_job_code.cpp.o -c /home/bakerj/Distributed-Translation-Infrastructure/src/common/messaging/trans_job_code.cpp
In file included from /home/bakerj/Distributed-Translation-Infrastructure/inc/common/utils/exceptions.hpp:31:0,
                 from /home/bakerj/Distributed-Translation-Infrastructure/inc/common/messaging/status_code.hpp:32,
                 from /home/bakerj/Distributed-Translation-Infrastructure/src/common/messaging/trans_job_code.cpp:26:
/home/bakerj/Distributed-Translation-Infrastructure/inc/common/utils/logging/logger.hpp: In static member function ‘static void uva::utils::logging::logger::get_reporting_levels(std::vector<std::__cxx11::basic_string<char> >*)’:
/home/bakerj/Distributed-Translation-Infrastructure/inc/common/utils/logging/logger.hpp:159:87: error: ‘transform’ was not declared in this scope
                         transform(level.begin(), level.end(), level.begin(), ::tolower);
                                                                                       ^
/home/bakerj/Distributed-Translation-Infrastructure/inc/common/utils/logging/logger.hpp: In static member function ‘static void uva::utils::logging::logger::set_reporting_level(std::__cxx11::string)’:
/home/bakerj/Distributed-Translation-Infrastructure/inc/common/utils/logging/logger.hpp:175:83: error: ‘transform’ was not declared in this scope
                     transform(level.begin(), level.end(), level.begin(), ::toupper);
                                                                                   ^
CMakeFiles/bpbd-client.dir/build.make:86: recipe for target 'CMakeFiles/bpbd-client.dir/src/common/messaging/trans_job_code.cpp.o' failed
make[2]: *** [CMakeFiles/bpbd-client.dir/src/common/messaging/trans_job_code.cpp.o] Error 1
make[2]: Leaving directory '/home/bakerj/Distributed-Translation-Infrastructure/build'
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/bpbd-client.dir/all' failed
make[1]: *** [CMakeFiles/bpbd-client.dir/all] Error 2
make[1]: Leaving directory '/home/bakerj/Distributed-Translation-Infrastructure/build'
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

I'm using the following versions:

bakerj@bakerj-Z6:~/Distributed-Translation-Infrastructure$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.6) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

bakerj@bakerj-Z6:~/Distributed-Translation-Infrastructure$ cmake --version
cmake version 3.5.1

This is with the latest commit on the master branch. The released version of the code (1.7) does build correctly.

ivan-zapreev commented 6 years ago

The issue was reproduced and fixed. Please pull the latest version.