Erik created THRIFT-4649: ---------------------------- Summary: Error when attempting to compile a Thrift Server in C++ Key: THRIFT-4649 URL: https://issues.apache.org/jira/browse/THRIFT-4649 Project: Thrift Issue Type: Bug Components: C++ - Compiler Affects Versions: 0.10.0 Environment: Ubuntu 18.04 LTS with all prerequisites on latest from apt install Reporter: Erik
I am attempting to compile Thrift with a particular flag .. in this case {code:java} ./configure _GLIBCXX_USE_CXX11_ABI=0{code} This compiles just fine, and the library installs successfully to /usr/local/lib, but when I am attempting to link it seems to want the non-blocking library.. I've attempted to add it to no avail {code:java} #!/bin/sh echo "Step 1: change to build dir" cd build echo "Step 2: compile" g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift -I../deps/another_lib/Includes echo "Step 3: link" g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o My-Cpp-Server echo "Step 4: change back dirs" cd .. {code} It feels like it is attempting to link, but cannot see the non-blocking library.. {code:java} virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh Step 1: change to build dir Step 2: compile Step 3: link Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': Rio.cpp:(.text+0x3293): undefined reference to `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, apache::thrift::protocol::TMessageType&, int&)' Rio.cpp:(.text+0x360e): undefined reference to `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string const&, apache::thrift::protocol::TMessageType, int)' Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': Rio.cpp:(.text+0x39d2): undefined reference to `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, apache::thrift::protocol::TMessageType&, int&)' Rio.cpp:(.text+0x3d37): undefined reference to `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string const&, apache::thrift::protocol::TMessageType, int)' collect2: error: ld returned 1 exit status Step 4: change back dirs {code} any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)