Build Issues

What's this error about yywrap?

If you get an error like this when building the generator:

compiler/cpp/thriftl.cc:2190: undefined reference to `yywrap'

you need to install Bison and Flex (e.g apt-get install bison flex on Debian/Ubuntu systems). See ThriftRequirements

What's this about MONO?

If you get an error like this when running configure:

./configure: line 21183: syntax error near unexpected token `MONO,'
./configure: line 21183: `  PKG_CHECK_MODULES(MONO, mono >= 1.2.6, have_mono=yes, have_mono=no)'

If you're on OS X: find pkg.m4, copy it to thrift/aclocal, and rerun bootstrap.sh. This file can be found using MacPorts (install the pkgconfig package) or using Homebrew (brew install pkg-config). The requisite file will be in /opt/local/share/aclocal or /usr/local/share/aclocal/pkg.m4 .

If you're on Linux, install pkg-config and rerun bootstrap.sh

Why can't I build on Fedora Core 9?

If you get an error about PATH_MAX not being declared, please make sure you are building from the latest SVN. We've fixed some issues with GCC 4.3 and FC9 in particular since the last release.

Thrift Features

Is struct inheritance supported?

No, it isn't. Thrift support inheritance of service interfaces, but only composition/containment for structures.

Can I overload service methods?

Nope. Method names must be unique.

Using Thrift as a developer

I'm throwing a TException in my server, why is the client complaining?

Think of TExceptions as "unexpected" exceptions for your Thrift server. They are uncaught (not unchecked!) exceptions that rise to your server's main loop and terminate the current Thrift call. If your application uses exceptions, you must create exceptions in your IDL. See the Tutorial for instructions on create exceptions.

  • No labels