You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2014/04/22 16:30:18 UTC
[jira] [Commented] (THRIFT-2492) test/cpp does not compile on mac
[ https://issues.apache.org/jira/browse/THRIFT-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13976822#comment-13976822 ]
ASF GitHub Bot commented on THRIFT-2492:
----------------------------------------
GitHub user apesternikov opened a pull request:
https://github.com/apache/thrift/pull/106
THRIFT-2492 use tcxx instead of tr1 in test/cpp
THRIFT-2492
Now it complies, but fails to link later:
/Applications/Xcode.app/Contents/Developer/usr/bin/make TestServer TestClient StressTest StressTestNonBlocking
/bin/sh ../../libtool --tag=CXX --mode=link g++ -Wall -std=c++11 -stdlib=libc++ -L/usr/local/lib -L/usr/local/opt/openssl/lib -o TestServer TestServer.o libtestgencpp.la ../../lib/cpp/libthrift.la ../../lib/cpp/libthriftz.la ../../lib/cpp/libthriftnb.la -levent -lboost_program_options -lssl -lcrypto -lpthread
libtool: link: g++ -Wall -std=c++11 -stdlib=libc++ -o .libs/TestServer TestServer.o -Wl,-bind_at_load -L/usr/local/lib -L/usr/local/opt/openssl/lib ./.libs/libtestgencpp.a /Users/ap/thrift-dev/lib/cpp/.libs/libthrift.dylib ../../lib/cpp/.libs/libthrift.dylib ../../lib/cpp/.libs/libthriftz.dylib ../../lib/cpp/.libs/libthriftnb.dylib -levent -lboost_program_options -lssl -lcrypto -lpthread
Undefined symbols for architecture x86_64:
"thrift::test::Insanity::operator<(thrift::test::Insanity const&) const", referenced from:
std::__1::__tree_node_base<void*>*& std::__1::__tree<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<thrift::test::Insanity, std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<thrift::test::Insanity>, true>, std::__1::allocator<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__find_equal<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::__tree_const_iterator<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long>, std::__1::__tree_node_base<void*>*&, std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in libtestgencpp.a(ThriftTest_types.o)
std::__1::__tree_node_base<void*>*& std::__1::__tree<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<thrift::test::Insanity, std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<thrift::test::Insanity>, true>, std::__1::allocator<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__find_equal<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::__tree_node_base<void*>*&, std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in libtestgencpp.a(ThriftTest_types.o)
bool std::__1::__lexicographical_compare<std::__1::__less<std::__1::pair<thrift::test::Insanity const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::pair<thrift::test::Insanity const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long> >, std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long> > >(std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long> >, std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long> >, std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long> >, std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long> >, std::__1::__less<std::__1::pair<thrift::test::Insanity const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::pair<thrift::test::Insanity const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&) in libtestgencpp.a(ThriftTest_types.o)
std::__1::__tree<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<thrift::test::Insanity, std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<thrift::test::Insanity>, true>, std::__1::allocator<std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__find_leaf_high(std::__1::__tree_node_base<void*>*&, std::__1::__value_type<thrift::test::Insanity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in libtestgencpp.a(ThriftTest_types.o)
std::__1::__tree<thrift::test::Insanity, std::__1::less<thrift::test::Insanity>, std::__1::allocator<thrift::test::Insanity> >::__find_leaf_high(std::__1::__tree_node_base<void*>*&, thrift::test::Insanity const&) in libtestgencpp.a(ThriftTest_types.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [TestServer] Error 1
make: *** [check-am] Error 2
Interestingly, "thrift::test::Insanity::operator<(thrift::test::Insanity const&) const" is declared in ThriftTest_types.h as
bool operator < (const Insanity & ) const;
but never defined.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apesternikov/thrift test_cpp_on_mac
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/thrift/pull/106.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #106
----
commit a6ed88196fbf4622a3b0261bbac0fe6b258bdd36
Author: Aleksey Pesternikov <ap...@alekseys-mbp.att.net>
Date: 2014-04-22T14:19:13Z
use tcxx instead of tr1 in test/cpp
----
> test/cpp does not compile on mac
> --------------------------------
>
> Key: THRIFT-2492
> URL: https://issues.apache.org/jira/browse/THRIFT-2492
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Environment: OS X 10.9.2
> Reporter: Aleksey Pesternikov
>
> test/cpp fails to compile since it is using tr1 namespace.
--
This message was sent by Atlassian JIRA
(v6.2#6252)