You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by Roger Meier <ro...@bufferoverflow.ch> on 2011/07/02 10:56:39 UTC
AW: undefined references to VERSION_MASK and VERSION_1
Hi Gautam
I cannot reproduce that isse on my Debian Squeeze using g++ 4.4.5.
What happens when you add a -Wall compile flag to the Makefile ?
Regards
Roger
> -----Ursprüngliche Nachricht-----
> Von: Gautam Thaker [mailto:gautam.h.thaker@lmco.com]
> Gesendet: Dienstag, 28. Juni 2011 21:15
> An: dev@thrift.apache.org
> Betreff: undefined references to VERSION_MASK and VERSION_1
>
> When compiling the "cpp" example in "tutorial", i get:
>
> CppServer.o
> U
>
apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTrans
p
> ort>::VERSION_MASK
> U
>
apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTrans
p
> ort>::VERSION_1
>
> I am running on Fedora 15 w/ GCC/G++ 4.6.0. The ./configure and "make"
> and "make install" had gone w/o errors (as far as I could tell.)
>
> Any hints welcome. I tried to google this, but found nothing.
>
> Gautam
>
>
>
Re: AW: undefined references to VERSION_MASK and VERSION_1
Posted by Giovanni Gargani <gi...@hexkeep.com>.
In a pinch, I succeded in compiling just changing in:
/usr/include/thrift/protocol/TBinaryProtocol.h
static const int32_t VERSION_MASK = 0xffff0000;
static const int32_t VERSION_1 = 0x80010000;
to
static const uint32_t VERSION_MASK = 0xffff0000;
static const uint32_t VERSION_1 = 0x80010000;
Seeing this bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49896 as
pointed by Matthieu, i assumed the problem is related to an issue in int
overflowing management.
I have not tested it in a any extensive way, just compiled and ran my
code, but maybe it could be an useful clue
Re: AW: AW: undefined references to VERSION_MASK and VERSION_1
Posted by Matthieu Imbert <ma...@ens-lyon.fr>.
On 07/29/2011 09:42 AM, Roger Meier wrote:
> What are the error messages when you build the library?
>
> I recommend using the following flags, as mentioned at
> https://issues.apache.org/jira/browse/THRIFT-916
>
> sh bootstrap.sh
> export CFLAGS='-Wall -Wextra -pedantic -Wno-long-long -Wno-variadic-macros
> -Wno-overflow'
> export CPPFLAGS='-Wall -Wextra -pedantic -Wno-long-long -Wno-variadic-macros
> -Wno-overflow'
> export CXXFLAGS='-Wall -Wextra -pedantic -Wno-long-long -Wno-variadic-macros
> -Wno-overflow'
> sh configure --without-csharp --without-java --without-erlang
> --without-python --without-perl --without-php --without-php_extension
> --without-ruby --without-haskell
> make
>
> -Roger
Hi,
I don't get errors when building the library, only when building C++
client code.
Actually, i think this is a bug in the version of gcc i am using. I
filled a bug for gcc with a simple test case to reproduce it:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49896
--
Matthieu
AW: AW: undefined references to VERSION_MASK and VERSION_1
Posted by Roger Meier <ro...@bufferoverflow.ch>.
What are the error messages when you build the library?
I recommend using the following flags, as mentioned at
https://issues.apache.org/jira/browse/THRIFT-916
sh bootstrap.sh
export CFLAGS='-Wall -Wextra -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overflow'
export CPPFLAGS='-Wall -Wextra -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overflow'
export CXXFLAGS='-Wall -Wextra -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overflow'
sh configure --without-csharp --without-java --without-erlang
--without-python --without-perl --without-php --without-php_extension
--without-ruby --without-haskell
make
-Roger
> -----Ursprüngliche Nachricht-----
> Von: Gautam Thaker [mailto:gthaker@verizon.net]
> Gesendet: Freitag, 29. Juli 2011 04:50
> An: user@thrift.apache.org
> Betreff: Re: AW: undefined references to VERSION_MASK and VERSION_1
>
> On 7/28/2011 11:31 AM, Matthieu Imbert wrote:
>
> >
> > I also tried to compile with various g++ version:
> >
> > g++ 4.4.6: OK
> >
> > g++ 4.5.3: OK
> >
> > g++ 4.6.1: complains about undefined reference to
> >
>
`apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTran
sp
> ort>::VERSION_1'
> > and undefined reference to
> >
>
`apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTran
sp
> ort>::VERSION_MASK'
>
> This is identical to what I was seeing. If you find a solution please
post.
> Thanks.
>
> Gautam
>
>
Re: AW: undefined references to VERSION_MASK and VERSION_1
Posted by Gautam Thaker <gt...@verizon.net>.
On 7/28/2011 11:31 AM, Matthieu Imbert wrote:
>
> I also tried to compile with various g++ version:
>
> g++ 4.4.6: OK
>
> g++ 4.5.3: OK
>
> g++ 4.6.1: complains about undefined reference to
> `apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::VERSION_1'
> and undefined reference to
> `apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::VERSION_MASK'
This is identical to what I was seeing. If you find a solution please
post. Thanks.
Gautam
Re: AW: undefined references to VERSION_MASK and VERSION_1
Posted by Matthieu Imbert <ma...@ens-lyon.fr>.
On 07/28/2011 03:19 PM, Matthieu Imbert wrote:
> Hi Gautam and all,
>
> I have the same issue: when compiling a thrift client with g++ 4.6.1
> (debian testing) and the latest thrift from the subversion, i get
> messages about undefined references to VERSION_1 and VERSION_MASK
>
> For example:
>
> /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:35: undefined
> reference to
> `apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::VERSION_1'
>
>
> I know this particular client was compiling correctly 1 year ago (with a
> different gcc and thrift version).
>
> But isn't it normal that the linker complains? since VERSION_1 and
> VERSION_MASK are *declared* in TBinaryProtocol.h, but never *defined*.
> I'm far from being a c++ expert, but i think that even if you're allowed
> to declare a static const integral value in a class header, you're still
> supposed to define it somewhere so that it exists in an object file?
Actually, declaring a static const integral in header is sufficient if
the compiler does not need its address. See for example Stroustrup faq
http://www2.research.att.com/~bs/bs_faq2.html#in-class
So the code should compile fine.
I also tried to compile with various g++ version:
g++ 4.4.6: OK
g++ 4.5.3: OK
g++ 4.6.1: complains about undefined reference to
`apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::VERSION_1'
and undefined reference to
`apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::VERSION_MASK'
--
Matthieu
Re: Re: AW: undefined references to VERSION_MASK and VERSION_1
Posted by Matthieu Imbert <ma...@ens-lyon.fr>.
On 01/-10/-28163 08:59 PM, Gautam Thaker wrote:
> On 7/2/2011 4:56 AM, Roger Meier wrote:
>> Hi Gautam
>>
>> I cannot reproduce that isse on my Debian Squeeze using g++ 4.4.5.
>> What happens when you add a -Wall compile flag to the Makefile ?
>>
>
> I have confirmed that gcc-4.6.0 and the latest gcc-4.6.1 have this
> problem. Also, I built gcc-4.5.3, it DOES NOT have any problems.
>
> As for using the "-Wall" flag, i have copied the output below - it
> shows some warning but nothing related to UNDEFs for VERSION_1 and
> VERSION_MASK.
>
> I suspect some new C++ standard rule must be in gcc-4.6.x series and
> this may lead to name space issues. But I don't know the thrift stuff
> well enough to quite figure this out in limited time I have spent on it.
>
> Gautam
Hi Gautam and all,
I have the same issue: when compiling a thrift client with g++ 4.6.1
(debian testing) and the latest thrift from the subversion, i get
messages about undefined references to VERSION_1 and VERSION_MASK
For example:
/usr/local/include/thrift/protocol/TBinaryProtocol.tcc:35: undefined
reference to
`apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::VERSION_1'
I know this particular client was compiling correctly 1 year ago (with a
different gcc and thrift version).
But isn't it normal that the linker complains? since VERSION_1 and
VERSION_MASK are *declared* in TBinaryProtocol.h, but never *defined*.
I'm far from being a c++ expert, but i think that even if you're allowed
to declare a static const integral value in a class header, you're still
supposed to define it somewhere so that it exists in an object file?
as you cross-posted on both user and dev mailing list, i also cross-post
my answer, not knowing where a discussion may start.
regards,
--
Matthieu
> fc15-32> g++ -Wall -o CppServer -I/home/gthaker/usr/include/thrift
> -I/usr/include/boost -I../gen-cpp -L/h>
> ../gen-cpp/Calculator.h: In member function 'virtual int32_t
> tutorial::CalculatorMultiface::calculate(int32_t, const tutorial::Work&)':
> ../gen-cpp/Calculator.h:491:3: warning: control reaches end of non-void
> function [-Wreturn-type]
> ../gen-cpp/Calculator.h: In member function 'virtual int32_t
> tutorial::CalculatorMultiface::add(int32_t, int32_t)':
> ../gen-cpp/Calculator.h:480:3: warning: control reaches end of non-void
> function [-Wreturn-type]
> ../gen-cpp/Calculator.h: In member function 'virtual int32_t
> tutorial::CalculatorMultiface::calculate(int32_t, const tutorial::Work&)':
> ../gen-cpp/Calculator.h:491:3: warning: control reaches end of non-void
> function [-Wreturn-type]
> ../gen-cpp/Calculator.h: In member function 'virtual int32_t
> tutorial::CalculatorMultiface::add(int32_t, int32_t)':
> ../gen-cpp/Calculator.h:480:3: warning: control reaches end of non-void
> function [-Wreturn-type]
> /tmp/ccrEAa1g.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)':
> CppServer.cpp:(.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'
> /tmp/ccrEAa1g.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&)':
> CppServer.cpp:(.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'
> CppServer.cpp:(.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
>
>> Regards
>> Roger
>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Gautam Thaker [mailto:gautam.h.thaker@lmco.com]
>>> Gesendet: Dienstag, 28. Juni 2011 21:15
>>> An: dev@thrift.apache.org
>>> Betreff: undefined references to VERSION_MASK and VERSION_1
>>>
>>> When compiling the "cpp" example in "tutorial", i get:
>>>
>>> CppServer.o
>>> U
>>>
>> apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTrans
>> p
>>> ort>::VERSION_MASK
>>> U
>>>
>> apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTrans
>> p
>>> ort>::VERSION_1
>>>
>>> I am running on Fedora 15 w/ GCC/G++ 4.6.0. The ./configure and "make"
>>> and "make install" had gone w/o errors (as far as I could tell.)
>>>
>>> Any hints welcome. I tried to google this, but found nothing.
>>>
>>> Gautam
Re: Re: AW: undefined references to VERSION_MASK and VERSION_1
Posted by Matthieu Imbert <ma...@ens-lyon.fr>.
On 01/-10/-28163 08:59 PM, Gautam Thaker wrote:
> On 7/2/2011 4:56 AM, Roger Meier wrote:
>> Hi Gautam
>>
>> I cannot reproduce that isse on my Debian Squeeze using g++ 4.4.5.
>> What happens when you add a -Wall compile flag to the Makefile ?
>>
>
> I have confirmed that gcc-4.6.0 and the latest gcc-4.6.1 have this
> problem. Also, I built gcc-4.5.3, it DOES NOT have any problems.
>
> As for using the "-Wall" flag, i have copied the output below - it
> shows some warning but nothing related to UNDEFs for VERSION_1 and
> VERSION_MASK.
>
> I suspect some new C++ standard rule must be in gcc-4.6.x series and
> this may lead to name space issues. But I don't know the thrift stuff
> well enough to quite figure this out in limited time I have spent on it.
>
> Gautam
Hi Gautam and all,
I have the same issue: when compiling a thrift client with g++ 4.6.1
(debian testing) and the latest thrift from the subversion, i get
messages about undefined references to VERSION_1 and VERSION_MASK
For example:
/usr/local/include/thrift/protocol/TBinaryProtocol.tcc:35: undefined
reference to
`apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::VERSION_1'
I know this particular client was compiling correctly 1 year ago (with a
different gcc and thrift version).
But isn't it normal that the linker complains? since VERSION_1 and
VERSION_MASK are *declared* in TBinaryProtocol.h, but never *defined*.
I'm far from being a c++ expert, but i think that even if you're allowed
to declare a static const integral value in a class header, you're still
supposed to define it somewhere so that it exists in an object file?
as you cross-posted on both user and dev mailing list, i also cross-post
my answer, not knowing where a discussion may start.
regards,
--
Matthieu
> fc15-32> g++ -Wall -o CppServer -I/home/gthaker/usr/include/thrift
> -I/usr/include/boost -I../gen-cpp -L/h>
> ../gen-cpp/Calculator.h: In member function 'virtual int32_t
> tutorial::CalculatorMultiface::calculate(int32_t, const tutorial::Work&)':
> ../gen-cpp/Calculator.h:491:3: warning: control reaches end of non-void
> function [-Wreturn-type]
> ../gen-cpp/Calculator.h: In member function 'virtual int32_t
> tutorial::CalculatorMultiface::add(int32_t, int32_t)':
> ../gen-cpp/Calculator.h:480:3: warning: control reaches end of non-void
> function [-Wreturn-type]
> ../gen-cpp/Calculator.h: In member function 'virtual int32_t
> tutorial::CalculatorMultiface::calculate(int32_t, const tutorial::Work&)':
> ../gen-cpp/Calculator.h:491:3: warning: control reaches end of non-void
> function [-Wreturn-type]
> ../gen-cpp/Calculator.h: In member function 'virtual int32_t
> tutorial::CalculatorMultiface::add(int32_t, int32_t)':
> ../gen-cpp/Calculator.h:480:3: warning: control reaches end of non-void
> function [-Wreturn-type]
> /tmp/ccrEAa1g.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)':
> CppServer.cpp:(.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'
> /tmp/ccrEAa1g.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&)':
> CppServer.cpp:(.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'
> CppServer.cpp:(.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
>
>> Regards
>> Roger
>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Gautam Thaker [mailto:gautam.h.thaker@lmco.com]
>>> Gesendet: Dienstag, 28. Juni 2011 21:15
>>> An: dev@thrift.apache.org
>>> Betreff: undefined references to VERSION_MASK and VERSION_1
>>>
>>> When compiling the "cpp" example in "tutorial", i get:
>>>
>>> CppServer.o
>>> U
>>>
>> apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTrans
>> p
>>> ort>::VERSION_MASK
>>> U
>>>
>> apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTrans
>> p
>>> ort>::VERSION_1
>>>
>>> I am running on Fedora 15 w/ GCC/G++ 4.6.0. The ./configure and "make"
>>> and "make install" had gone w/o errors (as far as I could tell.)
>>>
>>> Any hints welcome. I tried to google this, but found nothing.
>>>
>>> Gautam
Re: AW: undefined references to VERSION_MASK and VERSION_1
Posted by Gautam Thaker <gt...@verizon.net>.
On 7/2/2011 4:56 AM, Roger Meier wrote:
> Hi Gautam
>
> I cannot reproduce that isse on my Debian Squeeze using g++ 4.4.5.
> What happens when you add a -Wall compile flag to the Makefile ?
>
I have confirmed that gcc-4.6.0 and the latest gcc-4.6.1 have this
problem. Also, I built gcc-4.5.3, it DOES NOT have any problems.
As for using the "-Wall" flag, i have copied the output below - it
shows some warning but nothing related to UNDEFs for VERSION_1 and
VERSION_MASK.
I suspect some new C++ standard rule must be in gcc-4.6.x series and
this may lead to name space issues. But I don't know the thrift stuff
well enough to quite figure this out in limited time I have spent on it.
Gautam
fc15-32> g++ -Wall -o CppServer -I/home/gthaker/usr/include/thrift
-I/usr/include/boost -I../gen-cpp -L/h>
../gen-cpp/Calculator.h: In member function 'virtual int32_t
tutorial::CalculatorMultiface::calculate(int32_t, const tutorial::Work&)':
../gen-cpp/Calculator.h:491:3: warning: control reaches end of non-void
function [-Wreturn-type]
../gen-cpp/Calculator.h: In member function 'virtual int32_t
tutorial::CalculatorMultiface::add(int32_t, int32_t)':
../gen-cpp/Calculator.h:480:3: warning: control reaches end of non-void
function [-Wreturn-type]
../gen-cpp/Calculator.h: In member function 'virtual int32_t
tutorial::CalculatorMultiface::calculate(int32_t, const tutorial::Work&)':
../gen-cpp/Calculator.h:491:3: warning: control reaches end of non-void
function [-Wreturn-type]
../gen-cpp/Calculator.h: In member function 'virtual int32_t
tutorial::CalculatorMultiface::add(int32_t, int32_t)':
../gen-cpp/Calculator.h:480:3: warning: control reaches end of non-void
function [-Wreturn-type]
/tmp/ccrEAa1g.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)':
CppServer.cpp:(.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'
/tmp/ccrEAa1g.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&)':
CppServer.cpp:(.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'
CppServer.cpp:(.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
> Regards
> Roger
>
>> -----Ursprüngliche Nachricht-----
>> Von: Gautam Thaker [mailto:gautam.h.thaker@lmco.com]
>> Gesendet: Dienstag, 28. Juni 2011 21:15
>> An: dev@thrift.apache.org
>> Betreff: undefined references to VERSION_MASK and VERSION_1
>>
>> When compiling the "cpp" example in "tutorial", i get:
>>
>> CppServer.o
>> U
>>
> apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTrans
> p
>> ort>::VERSION_MASK
>> U
>>
> apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTrans
> p
>> ort>::VERSION_1
>>
>> I am running on Fedora 15 w/ GCC/G++ 4.6.0. The ./configure and "make"
>> and "make install" had gone w/o errors (as far as I could tell.)
>>
>> Any hints welcome. I tried to google this, but found nothing.
>>
>> Gautam
>>
>>
>>
>
>
>