Make sure you're building against the same version of Thrift that we build
against (0.7.0 <http://www.hypertable.org/pub/thrift-0.7.0.tar.gz>).

- Doug

On Thu, Jan 12, 2012 at 2:14 PM, Camilo Chacón Sartori
<[email protected]>wrote:

> Hi Doug,
>
> I have  compile error:
> make
>
> g++  client_test.o -rdynamic -L/opt/hypertable/current/lib -
> lHyperThrift -lHyperCommon -lHypertable -lthrift -levent -llog4cpp  -o
> client_test
>
> client_test.o: In function
>
> `apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::writeMessageBegin(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> apache::thrift::protocol::TMessageType, int)':
> client_test.cc:
>
> (.text._ZN6apache6thrift8protocol16TBinaryProtocolTINS0_9transport10TTransportEE17writeMessageBeginERKSsNS1_12TMessageTypeEi[apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::writeMessageBegin(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> apache::thrift::protocol::TMessageType, int)]+0x15): undefined
> reference to
>
> `apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::VERSION_1'
> client_test.o: In function
>
> `apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::readMessageBegin(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >&,
> apache::thrift::protocol::TMessageType&, int&)':
> client_test.cc:
>
> (.text._ZN6apache6thrift8protocol16TBinaryProtocolTINS0_9transport10TTransportEE16readMessageBeginERSsRNS1_12TMessageTypeERi[apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::readMessageBegin(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >&,
> apache::thrift::protocol::TMessageType&, int&)]+0x33): undefined
> reference to
>
> `apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::VERSION_MASK'
> client_test.cc:
>
> (.text._ZN6apache6thrift8protocol16TBinaryProtocolTINS0_9transport10TTransportEE16readMessageBeginERSsRNS1_12TMessageTypeERi[apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::readMessageBegin(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >&,
> apache::thrift::protocol::TMessageType&, int&)]+0x3d): undefined
> reference to
>
> `apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::VERSION_1'
>
> collect2: ld returned 1 exit status
> make: *** [client_test] Error 1
>
>
> Thank.
>
>
> On 11 ene, 14:17, Doug Judd <[email protected]> wrote:
> > Hi Camilo,
> >
> > Here's a Makefile that we use to build our test program:
> >
> > CC=g++
> > CFLAGS=-c -Wall -D_REENTRANT -I/opt/hypertable/current/include \
> >        -I/opt/hypertable/current/include/thrift
> > LDFLAGS=-rdynamic -L/opt/hypertable/current/lib -lHyperThrift \
> >         -lHyperCommon -lHypertable -lthrift -levent -llog4cpp
> >
> > all: client_test
> >
> > client_test: client_test.o
> >         $(CC) client_test.o $(LDFLAGS) -o client_test
> >
> > client_test.o: client_test.cc
> >         $(CC) $(CFLAGS) client_test.cc
> >
> > clean:
> >         rm -rf *o client_test
> >
> > If you do something similar, that should solve your build problems.
> >
> > - Doug
> >
> > On Tue, Jan 10, 2012 at 2:23 PM, Camilo Chacón Sartori
> > <[email protected]>wrote:
> >
> >
> >
> >
> >
> >
> >
> > > Hi all.
> > > I downloaded the version  0.9.5.4 .I want integrate cppcms( C++ Web
> > > Framework)  and Hypertable.
> > > What I want to compile, it show this compilation error:
> >
> > >
> ---------------------------------------------------------------------------
> ----
> >
> > > g++ -I/opt/hypertable/current/include/  hello.cpp -lcppcms  -o hello.o
> >
> > > In file included from /usr/include/c++/4.6/backward/hash_map:61:0,
> > >                 from /opt/hypertable/current/include/Common/HashMap.h:
> > > 24,
> > >                 from /opt/hypertable/current/include/AsyncComm/
> > > ApplicationQueue.h:34,
> > >                 from /opt/hypertable/current/include/Hypertable/Lib/
> > > Client.h:29,
> > >                 from hello.cpp:15:
> >
> > > /usr/include/c++/4.6/backward/backward_warning.h:33:2: warning:
> > > #warning This file includes at least one deprecated or antiquated
> > > header which may be removed without further notice at a future date.
> > > Please use a non-deprecated interface with equivalent functionality
> > > instead. For a listing of replacement headers and interfaces, consult
> > > the file backward_warning.h. To disable this warning use -Wno-
> > > deprecated. [-Wcpp]
> >
> > > /tmp/ccjaPsNY.o: In function `main':
> >
> > > hello.cpp:(.text+0x2d9): undefined reference to
> > > `Hypertable::System::locate_install_dir(char const*)'
> >
> > > hello.cpp:(.text+0x301): undefined reference to
> > > `Hypertable::Client::Client(std::basic_string<char,
> > > std::char_traits<char>, std::allocator<char> > const&, unsigned int)'
> >
> > > collect2: ld returned 1 exit status
> >
> > >
> ---------------------------------------------------------------------------
> ----
> >
> > >
> ---------------------------------------------------------------------------
> ----
> > > Code:
> >
> > > #include <Common/Compat.h>
> >
> > > #include <cppcms/application.h>
> > > #include <cppcms/applications_pool.h>
> > > #include <cppcms/service.h>
> > > #include <cppcms/http_response.h>
> > > #include <cppcms/http_request.h>
> > > #include <iostream>
> >
> > > #include <Common/Error.h>
> > > #include <Common/System.h>
> >
> > > #include <Hypertable/Lib/Client.h>
> >
> > > using cppcms::http::request;
> > > using namespace Hypertable;
> >
> > > class my_hello_world : public cppcms::application {
> > > public:
> > >    my_hello_world(cppcms::service &srv) :
> > >        cppcms::application(srv)
> > >    {
> > >    }
> > >    virtual void main(std::string url);
> > > };
> >
> > > void my_hello_world::main(std::string url)
> > > {
> > >    response().out() <<  "Hello World";
> > > }
> >
> > > int main(int argc,char ** argv)
> > > {
> > >    ClientPtr client_ptr;
> > >    try {
> > >        const char* install_dir = "/opt/hypertable/current/";
> > >        client_ptr = new
> > > Client( System::locate_install_dir( install_dir ) );
> >
> > >        cppcms::service srv(argc,argv);
> >
> > >
> srv.applications_pool().mount(cppcms::applications_factory<my_hello_world>(
> ));
> > >        srv.run();
> > >    }
> > >    catch(std::exception const &e) {
> > >        std::cerr<<e.what()<<std::endl;
> > >    }
> > > }
> >
> > >
> ---------------------------------------------------------------------------
> ----
> >
> > > Thank,
> > > Camilo Chacón.
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Hypertable Development" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected].
> > > For more options, visit this group at
> > >http://groups.google.com/group/hypertable-dev?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Hypertable Development" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/hypertable-dev?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Hypertable Development" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/hypertable-dev?hl=en.

Reply via email to