Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails on Ubuntu 14.04 Server #204

Open
k0105 opened this issue Jul 27, 2017 · 2 comments
Open

Build fails on Ubuntu 14.04 Server #204

k0105 opened this issue Jul 27, 2017 · 2 comments

Comments

@k0105
Copy link

k0105 commented Jul 27, 2017

Hi,

just wanted to let you that Lucida again breaks on diae / Ubuntu 14.04 Server. I get this error:

MongoDB and C++ driver installed
make[1]: Entering directory `/x/lucida/lucida'
make -C commandcenter all || exit 1; make -C imagematching all || exit 1; make -C questionanswering all || exit 1; make -C calendar all || exit 1; make -C djinntonic all || exit 1; make -C weather all || exit 1; make -C botframework-interface all || exit 1; make -C musicservice all || exit 1;
make[2]: Entering directory `/x/lucida/lucida/commandcenter'
make[2]: Leaving directory `/x/lucida/lucida/commandcenter'
make[2]: Entering directory `/x/lucida/lucida/imagematching'
make -C opencv_imm all || exit 1;
make[3]: Entering directory `/x/lucida/lucida/imagematching/opencv_imm'
make -C server all || exit 1; make -C test all || exit 1;
make[4]: Entering directory `/x/lucida/lucida/imagematching/opencv_imm/server'
g++ -Wall -std=c++11 -fPIC  -O3 -c gen-cpp2/LucidaService_client.cpp -o gen-cpp2/LucidaService_client.o
In file included from /usr/local/include/thrift/lib/cpp2/async/SaslServer.h:23:0,
                 from /usr/local/include/thrift/lib/cpp2/server/Cpp2ConnContext.h:24,
                 from /usr/local/include/thrift/lib/cpp2/async/AsyncProcessor.h:29,
                 from /usr/local/include/thrift/lib/cpp2/ServiceIncludes.h:8,
                 from gen-cpp2/LucidaService.h:9,
                 from gen-cpp2/LucidaService_client.cpp:7:
/usr/local/include/thrift/lib/cpp2/async/RequestChannel.h: In member function ‘std::__exception_ptr::exception_ptr apache::thrift::ClientReceiveState::exception()’:
/usr/local/include/thrift/lib/cpp2/async/RequestChannel.h:80:20: error: ‘class folly::exception_wrapper’ has no member named ‘getExceptionPtr’
       exc_ = excw_.getExceptionPtr();
                    ^
In file included from /usr/local/include/thrift/lib/cpp2/async/Cpp2Channel.h:24:0,
                 from /usr/local/include/thrift/lib/cpp2/async/HeaderClientChannel.h:25,
                 from /usr/local/include/thrift/lib/cpp2/server/Cpp2ConnContext.h:25,
                 from /usr/local/include/thrift/lib/cpp2/async/AsyncProcessor.h:29,
                 from /usr/local/include/thrift/lib/cpp2/ServiceIncludes.h:8,
                 from gen-cpp2/LucidaService.h:9,
                 from gen-cpp2/LucidaService_client.cpp:7:
/usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h: In member function ‘virtual folly::Future<void> apache::thrift::TAsyncTransportHandler::write(folly::wangle::ChannelHandlerAdapter<folly::IOBufQueue&, std::unique_ptr<folly::IOBuf> >::Context*, std::unique_ptr<folly::IOBuf>)’:
/usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:77:32: error: could not convert ‘folly::makeFuture()()’ from ‘folly::Future<folly::Unit>’ to ‘folly::Future<void>’
       return folly::makeFuture();
                                ^
/usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h: In member function ‘virtual folly::Future<void> apache::thrift::TAsyncTransportHandler::close(folly::wangle::ChannelHandlerAdapter<folly::IOBufQueue&, std::unique_ptr<folly::IOBuf> >::Context*)’:
/usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:97:30: error: could not convert ‘folly::makeFuture()()’ from ‘folly::Future<folly::Unit>’ to ‘folly::Future<void>’
     return folly::makeFuture();
                              ^
/usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h: In member function ‘virtual void apache::thrift::TAsyncTransportHandler::WriteCallback::writeSuccess()’:
/usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:134:25: error: no matching function for call to ‘folly::Promise<void>::setValue()’
       promise_.setValue();
                         ^
/usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:134:25: note: candidates are:
In file included from /usr/local/include/folly/futures/Future.h:29:0,
                 from /usr/local/include/folly/wangle/channel/ChannelHandler.h:19,
                 from /usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:19,
                 from /usr/local/include/thrift/lib/cpp2/async/Cpp2Channel.h:24,
                 from /usr/local/include/thrift/lib/cpp2/async/HeaderClientChannel.h:25,
                 from /usr/local/include/thrift/lib/cpp2/server/Cpp2ConnContext.h:25,
                 from /usr/local/include/thrift/lib/cpp2/async/AsyncProcessor.h:29,
                 from /usr/local/include/thrift/lib/cpp2/ServiceIncludes.h:8,
                 from gen-cpp2/LucidaService.h:9,
                 from gen-cpp2/LucidaService_client.cpp:7:
/usr/local/include/folly/futures/Promise.h:77:3: note: template<class B> typename std::enable_if<std::is_same<folly::Unit, T2>::value, void>::type folly::Promise<T>::setValue() [with B = B; T = void]
   setValue() {
   ^
/usr/local/include/folly/futures/Promise.h:77:3: note:   template argument deduction/substitution failed:
/usr/local/include/folly/futures/Promise.h: In substitution of ‘template<class B> typename std::enable_if<std::is_same<folly::Unit, T2>::value, void>::type folly::Promise<T>::setValue() [with B = B; T = void] [with B = void]’:
/usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:134:25:   required from here
/usr/local/include/folly/futures/Promise.h:77:3: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
/usr/local/include/folly/futures/Promise.h:83:8: note: template<class M> void folly::Promise<T>::setValue(M&&) [with M = M; T = void]
   void setValue(M&& value);
        ^
/usr/local/include/folly/futures/Promise.h:83:8: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/thrift/lib/cpp2/async/Cpp2Channel.h:24:0,
                 from /usr/local/include/thrift/lib/cpp2/async/HeaderClientChannel.h:25,
                 from /usr/local/include/thrift/lib/cpp2/server/Cpp2ConnContext.h:25,
                 from /usr/local/include/thrift/lib/cpp2/async/AsyncProcessor.h:29,
                 from /usr/local/include/thrift/lib/cpp2/ServiceIncludes.h:8,
                 from gen-cpp2/LucidaService.h:9,
                 from gen-cpp2/LucidaService_client.cpp:7:
/usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:134:25: note:   candidate expects 1 argument, 0 provided
       promise_.setValue();
                         ^
In file included from gen-cpp2/LucidaService.h:11:0,
                 from gen-cpp2/LucidaService_client.cpp:7:
/usr/local/include/thrift/lib/cpp2/async/FutureRequest.h: In member function ‘virtual void apache::thrift::FutureCallback<void>::requestSent()’:
/usr/local/include/thrift/lib/cpp2/async/FutureRequest.h:83:27: error: no matching function for call to ‘folly::Promise<void>::setValue()’
         promise_.setValue();
                           ^
/usr/local/include/thrift/lib/cpp2/async/FutureRequest.h:83:27: note: candidates are:
In file included from /usr/local/include/folly/futures/Future.h:29:0,
                 from /usr/local/include/folly/wangle/channel/ChannelHandler.h:19,
                 from /usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:19,
                 from /usr/local/include/thrift/lib/cpp2/async/Cpp2Channel.h:24,
                 from /usr/local/include/thrift/lib/cpp2/async/HeaderClientChannel.h:25,
                 from /usr/local/include/thrift/lib/cpp2/server/Cpp2ConnContext.h:25,
                 from /usr/local/include/thrift/lib/cpp2/async/AsyncProcessor.h:29,
                 from /usr/local/include/thrift/lib/cpp2/ServiceIncludes.h:8,
                 from gen-cpp2/LucidaService.h:9,
                 from gen-cpp2/LucidaService_client.cpp:7:
/usr/local/include/folly/futures/Promise.h:77:3: note: template<class B> typename std::enable_if<std::is_same<folly::Unit, T2>::value, void>::type folly::Promise<T>::setValue() [with B = B; T = void]
   setValue() {
   ^
/usr/local/include/folly/futures/Promise.h:77:3: note:   template argument deduction/substitution failed:
/usr/local/include/folly/futures/Promise.h: In substitution of ‘template<class B> typename std::enable_if<std::is_same<folly::Unit, T2>::value, void>::type folly::Promise<T>::setValue() [with B = B; T = void] [with B = void]’:
/usr/local/include/thrift/lib/cpp2/async/FutureRequest.h:83:27:   required from here
/usr/local/include/folly/futures/Promise.h:77:3: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
/usr/local/include/folly/futures/Promise.h:83:8: note: template<class M> void folly::Promise<T>::setValue(M&&) [with M = M; T = void]
   void setValue(M&& value);
        ^
/usr/local/include/folly/futures/Promise.h:83:8: note:   template argument deduction/substitution failed:
In file included from gen-cpp2/LucidaService.h:11:0,
                 from gen-cpp2/LucidaService_client.cpp:7:
/usr/local/include/thrift/lib/cpp2/async/FutureRequest.h:83:27: note:   candidate expects 1 argument, 0 provided
         promise_.setValue();
                           ^
/usr/local/include/thrift/lib/cpp2/async/FutureRequest.h: In member function ‘virtual void apache::thrift::FutureCallback<void>::replyReceived(apache::thrift::ClientReceiveState&&)’:
/usr/local/include/thrift/lib/cpp2/async/FutureRequest.h:91:25: error: no matching function for call to ‘folly::Promise<void>::setValue()’
       promise_.setValue();
                         ^
/usr/local/include/thrift/lib/cpp2/async/FutureRequest.h:91:25: note: candidates are:
In file included from /usr/local/include/folly/futures/Future.h:29:0,
                 from /usr/local/include/folly/wangle/channel/ChannelHandler.h:19,
                 from /usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:19,
                 from /usr/local/include/thrift/lib/cpp2/async/Cpp2Channel.h:24,
                 from /usr/local/include/thrift/lib/cpp2/async/HeaderClientChannel.h:25,
                 from /usr/local/include/thrift/lib/cpp2/server/Cpp2ConnContext.h:25,
                 from /usr/local/include/thrift/lib/cpp2/async/AsyncProcessor.h:29,
                 from /usr/local/include/thrift/lib/cpp2/ServiceIncludes.h:8,
                 from gen-cpp2/LucidaService.h:9,
                 from gen-cpp2/LucidaService_client.cpp:7:
/usr/local/include/folly/futures/Promise.h:77:3: note: template<class B> typename std::enable_if<std::is_same<folly::Unit, T2>::value, void>::type folly::Promise<T>::setValue() [with B = B; T = void]
   setValue() {
   ^
/usr/local/include/folly/futures/Promise.h:77:3: note:   template argument deduction/substitution failed:
/usr/local/include/folly/futures/Promise.h: In substitution of ‘template<class B> typename std::enable_if<std::is_same<folly::Unit, T2>::value, void>::type folly::Promise<T>::setValue() [with B = B; T = void] [with B = void]’:
/usr/local/include/thrift/lib/cpp2/async/FutureRequest.h:91:25:   required from here
/usr/local/include/folly/futures/Promise.h:77:3: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
/usr/local/include/folly/futures/Promise.h:83:8: note: template<class M> void folly::Promise<T>::setValue(M&&) [with M = M; T = void]
   void setValue(M&& value);
        ^
/usr/local/include/folly/futures/Promise.h:83:8: note:   template argument deduction/substitution failed:
In file included from gen-cpp2/LucidaService.h:11:0,
                 from gen-cpp2/LucidaService_client.cpp:7:
/usr/local/include/thrift/lib/cpp2/async/FutureRequest.h:91:25: note:   candidate expects 1 argument, 0 provided
       promise_.setValue();
                         ^
In file included from /usr/local/include/folly/futures/Promise-inl.h:23:0,
                 from /usr/local/include/folly/futures/Promise.h:116,
                 from /usr/local/include/folly/futures/Future.h:29,
                 from /usr/local/include/folly/wangle/channel/ChannelHandler.h:19,
                 from /usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:19,
                 from /usr/local/include/thrift/lib/cpp2/async/Cpp2Channel.h:24,
                 from /usr/local/include/thrift/lib/cpp2/async/HeaderClientChannel.h:25,
                 from /usr/local/include/thrift/lib/cpp2/server/Cpp2ConnContext.h:25,
                 from /usr/local/include/thrift/lib/cpp2/async/AsyncProcessor.h:29,
                 from /usr/local/include/thrift/lib/cpp2/ServiceIncludes.h:8,
                 from gen-cpp2/LucidaService.h:9,
                 from gen-cpp2/LucidaService_client.cpp:7:
/usr/local/include/folly/futures/detail/Core.h: In instantiation of ‘class folly::detail::Core<void>’:
/usr/local/include/folly/futures/Promise-inl.h:28:71:   required from ‘folly::Promise<T>::Promise() [with T = void]’
/usr/local/include/thrift/lib/cpp2/async/TAsyncTransportHandler.h:132:9:   required from here
/usr/local/include/folly/futures/detail/Core.h:78:3: error: static assertion failed: void futures are not supported. Use Unit instead.
   static_assert(!std::is_void<T>::value,
   ^
make[4]: *** [gen-cpp2/LucidaService_client.o] Error 1
make[4]: Leaving directory `/x/lucida/lucida/imagematching/opencv_imm/server'
make[3]: *** [all-sub] Error 1
make[3]: Leaving directory `/x/lucida/lucida/imagematching/opencv_imm'
make[2]: *** [all-sub] Error 1
make[2]: Leaving directory `/x/lucida/lucida/imagematching'
make[1]: *** [all-sub] Error 1
make[1]: Leaving directory `/x/lucida/lucida'
make: *** [local] Error 2

Also, I'm confused about Mason's graphical tool. The pull request was apparently declined. The last word I heard was to use the pull request (even though both master and the pull request version don't fully compile).

Bottom line: Could you please make sure Lucida compiles on diae / 14.04 Server again and tell me what to do about the service registry? If we use Mason's tool, it needs to be in master, if we don't I need to know how to use the underlying interface.

Thank you in advance.

Best wishes,
k0105

@zhexuanc
Copy link
Contributor

zhexuanc commented Jul 27, 2017

Hi k0105,

First, for the compile issue, I checkout the error message and it seems that the dependencies are installed perfectly but there is an error during compiling the microservices. So the best way to figure it out is to checkout this wiki to install each microservice independently and then check which service is broken. https://github.com/claritylab/lucida/wiki/Installing-Local-Lucida Sorry for the inconvenience because recently we are working on Lucida infrastructure updates. I think I will clear up all the install issues by the end of next week.

Second, for the GUI tool. With the most recent update, Lucida serves as a platform that accepts different service to register in and connects them together to build workflows to answer queries. The GUI is used to register service and draw workflows. For more detail you can checkout the branch 'conv' under my Github repo. It is still in progress, because the building system is not updated yet. We will put a detailed documents for this updates later.

Also, there are some demos about GUI and service registry that I can share with you with email. Probably you will get more information from that. If you still have any question, feel free to contact with me or leave comments below. My email is czx5049@gmail.com.

Best wishes,
zhexuanc

@KamalGalrani
Copy link
Contributor

The log shows error in opencv_imm microservice. But I don't think the bug is in that service. Try uninstalling fbthrift, folly, wangle and thrift and install those dependencies again. Or do a clean install on a fresh server.

The installation script doesn't perform a full check on installed dependencies. Maybe they aren't installed properly.

@k0105 Can you reply with log which includes the installation of dependencies (after cleaning the above dependencies)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants