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_t
 raits<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 <[email protected]>
Date:   2014-04-22T14:19:13Z

    use tcxx instead of tr1 in test/cpp

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to