You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@thrift.apache.org by Yosuke Suzuki <yo...@nex.nikkei.co.jp> on 2010/09/06 14:51:49 UTC

install error on Redhat ES4

Hi,

I'm trying to install thrift-0.4.0 on Redhat Es4.

When I type "make", I got errors below.

What is the problem?

src/concurrency/ThreadManager.h:24:26: tr1/functional: No such file or
directory
In file included from src/concurrency/ThreadManager.cpp:20:
src/concurrency/ThreadManager.h:61: error: `std::tr1' has not been declared
src/concurrency/ThreadManager.h:61: error: ISO C++ forbids declaration
of `function' with no type
src/concurrency/ThreadManager.h:61: error: expected `;' before '<' token
src/concurrency/ThreadManager.h:182: error: `ExpireCallback' has not
been declared
src/concurrency/ThreadManager.h:182: error: ISO C++ forbids declaration
of `expireCallback' with no type
src/concurrency/ThreadManager.cpp:135: error: `ExpireCallback' has not
been declared
src/concurrency/ThreadManager.cpp:135: error: ISO C++ forbids
declaration of `expireCallback' with no type
src/concurrency/ThreadManager.cpp:145: error: `ExpireCallback' does not
name a type
src/concurrency/ThreadManager.cpp: In member function `virtual void
apache::thrift::concurrency::ThreadManager::Impl::removeExpiredTasks()':
src/concurrency/ThreadManager.cpp:533: error: `expireCallback_' was not
declared in this scope
src/concurrency/ThreadManager.cpp: At global scope:
src/concurrency/ThreadManager.cpp:542: error: variable or field
`setExpireCallback' declared void
src/concurrency/ThreadManager.cpp:542: error: `int
apache::thrift::concurrency::ThreadManager::Impl::setExpireCallback' is
not a static member of `class
apache::thrift::concurrency::ThreadManager::Impl'
src/concurrency/ThreadManager.cpp:542: error: `ExpireCallback' was not
declared in this scope
src/concurrency/ThreadManager.cpp:542: error: expected `,' or `;' before
'{' token
make[3]: *** [ThreadManager.lo] error 1
make[3]: Leaving directory `/usr/local/share/thrift-0.4.0/lib/cpp'
make[2]: *** [all-recursive] error 1
make[2]: Leaving directory `/usr/local/share/thrift-0.4.0/lib'
make[1]: *** [all-recursive] error 1
make[1]: Leaving directory `/usr/local/share/thrift-0.4.0'
make: *** [all] error 2



Re: install error on Redhat ES4

Posted by ro...@bufferoverflow.ch.
Do you have boost library installed?
Which g++ are you using?

Regards
Roger




Quoting Yosuke Suzuki <yo...@nex.nikkei.co.jp>:

> Hi,
>
> I'm trying to install thrift-0.4.0 on Redhat Es4.
>
> When I type "make", I got errors below.
>
> What is the problem?
>
> src/concurrency/ThreadManager.h:24:26: tr1/functional: No such file or
> directory
> In file included from src/concurrency/ThreadManager.cpp:20:
> src/concurrency/ThreadManager.h:61: error: `std::tr1' has not been declared
> src/concurrency/ThreadManager.h:61: error: ISO C++ forbids declaration
> of `function' with no type
> src/concurrency/ThreadManager.h:61: error: expected `;' before '<' token
> src/concurrency/ThreadManager.h:182: error: `ExpireCallback' has not
> been declared
> src/concurrency/ThreadManager.h:182: error: ISO C++ forbids declaration
> of `expireCallback' with no type
> src/concurrency/ThreadManager.cpp:135: error: `ExpireCallback' has not
> been declared
> src/concurrency/ThreadManager.cpp:135: error: ISO C++ forbids
> declaration of `expireCallback' with no type
> src/concurrency/ThreadManager.cpp:145: error: `ExpireCallback' does not
> name a type
> src/concurrency/ThreadManager.cpp: In member function `virtual void
> apache::thrift::concurrency::ThreadManager::Impl::removeExpiredTasks()':
> src/concurrency/ThreadManager.cpp:533: error: `expireCallback_' was not
> declared in this scope
> src/concurrency/ThreadManager.cpp: At global scope:
> src/concurrency/ThreadManager.cpp:542: error: variable or field
> `setExpireCallback' declared void
> src/concurrency/ThreadManager.cpp:542: error: `int
> apache::thrift::concurrency::ThreadManager::Impl::setExpireCallback' is
> not a static member of `class
> apache::thrift::concurrency::ThreadManager::Impl'
> src/concurrency/ThreadManager.cpp:542: error: `ExpireCallback' was not
> declared in this scope
> src/concurrency/ThreadManager.cpp:542: error: expected `,' or `;' before
> '{' token
> make[3]: *** [ThreadManager.lo] error 1
> make[3]: Leaving directory `/usr/local/share/thrift-0.4.0/lib/cpp'
> make[2]: *** [all-recursive] error 1
> make[2]: Leaving directory `/usr/local/share/thrift-0.4.0/lib'
> make[1]: *** [all-recursive] error 1
> make[1]: Leaving directory `/usr/local/share/thrift-0.4.0'
> make: *** [all] error 2
>
>
>
>
>



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


Re: install error on Redhat ES4

Posted by paco <ki...@163.com>.

Yosuke Suzuki <yosuke.suzuki <at> nex.nikkei.co.jp> writes:

> 
> Hi,
> 
> I'm trying to install thrift-0.4.0 on Redhat Es4.
> 


i met the same problem with.
boost 1.44.0
thrift 0.4.0

i edited the file lib/cpp/src/concurrency/ThreadManage.h

24 #include <boost/tr1/tr1/functional>

and it goes well.