You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "eeliu (JIRA)" <ji...@apache.org> on 2018/09/12 11:21:00 UTC
[jira] [Commented] (THRIFT-4630) gcc 4.8.5 not pass
[ https://issues.apache.org/jira/browse/THRIFT-4630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16611938#comment-16611938 ]
eeliu commented on THRIFT-4630:
-------------------------------
I find the solution, this is because of smart_ptr between std and boost
Add CXXFLAGS="-DFORCE_BOOST_SMART_PTR" when configure.
> gcc 4.8.5 not pass
> ------------------
>
> Key: THRIFT-4630
> URL: https://issues.apache.org/jira/browse/THRIFT-4630
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.11.0
> Environment: Centos 7
> GCC 4.8.5
> boost 1.6.4
> Reporter: eeliu
> Priority: Blocker
> Fix For: 0.11.0
>
>
> > Configure
> ./configure --prefix=/home/test/.var/ --with-cpp --with-php=no --with-python=no --with-ruby=no --with-nodejs=no --with-qt4=no --with-java=no --enable-tests=no --with-boost=/home/test/.var/
> But when I switch to gcc 4.8.5, below error often annoy me most.
> undefined reference to `apache::thrift::protocol::TJSONProtocol::TJSONProtocol(boost::shared_ptr<apache::thrift::transport::TTransport>)'
>
> My code segment
> int32_t TBaseOPImp::writeTbaseToJsonFile(const boost::filesystem::path &filePath, const apache::thrift::TBase &tbase)
> {
> boost::shared_ptr<TMemoryBuffer> memoryBuffer(new TMemoryBuffer);
> boost::shared_ptr<TBufferedTransport> transportOut(new TBufferedTransport(memoryBuffer));
> --------------------Here alway fail -----------------------
> boost::shared_ptr<TJSONProtocol> protocolOut(new TJSONProtocol(transportOut));
> ......
> }
> My makefile output
> g++ -g3 -DTEST_SIMULATE -DBOOST_NO_CXX11_SMART_PTR test_case.o -isystem /home/test/.var/include -L/home/test/.var/lib -lboost_system -lboost_thread -lboost_filesystem -lboost_date_time -lthrift -lgcov -lrt -lpthread -o test
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)