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)