Dear Wiki user, You have subscribed to a wiki page or wiki category on "Thrift Wiki" for change notification.
The "ThriftInstallationWin32" page has been changed by TimWilson-Brown. The comment on this change is: Added info on fork throw segfault, and removed tentative text as others have built thrift. http://wiki.apache.org/thrift/ThriftInstallationWin32?action=diff&rev1=21&rev2=22 -------------------------------------------------- - The following instructions reliably install the thrift ''compiler'' only. The Thrift C++ runtime library'' may not'' compile on Windows. This means that you'll be able to compile [[ThriftIDL]] files to C++/Java/Python/etc., but you ''may not'' be able to compile and run the generated C++ code under Windows. + The following instructions install the thrift ''compiler'' and ''runtime library''. == Basic requirements for win32 == Thrift's compiler is written in C++ and designed to be portable, but there are some system requirements: @@ -16, +16 @@ * pkgconfig * libtool + Thrift's runtime libraries are written in various languages, which are also required for the particular language interface. + + == Installation steps (Cygwin dependency) == + + === Prebuilt cygwin binaries === + + Prebuilt win32 binaries ( built using cygwin, based on latest SVN head, including all dependencies ) can be found here: + [[http://www.bernhardglueck.com/downloads/Thrift.zip]] + + === Installing from source === + If you are building from the first time out of the source repository, you will need to generate the configure scripts. (This is not necessary if you downloaded a tarball.) From the top directory, do: {{{ @@ -30, +41 @@ }}} Setting the CXXFLAGS environmental variable works around compile errors with PTHREAD_MUTEX_RECURSIVE_NP being undeclared, by replacing it with the newer, portable PTHREAD_MUTEX_RECURSIVE. (Tested on cygwin 20100320, Thrift r760184, latest pthread.) - ''Optional:'' You ''may not'' be able to make from the root Thrift directory--If you try to make from that directory, there may be errors compiling the Thrift C++ runtime libraries, installing the perl libraries, and linking to the installed Thrift C++ runtime libraries. To make the compiler only, change to the compiler directory before running make: + ''Optional:'' You ''may not'' be able to make from the root Thrift directory due to errors (see below to resolve). To make the compiler only, change to the compiler directory before running make: {{{ cd compiler/cpp @@ -91, +102 @@ TODO - diagnose issue further + ==== C++ runtime segfault with cygwin 1.7.5-1, g++-4, fork() and throw ==== + + If your thrift C++ programs segfault on throw after fork()ing, compile them with g++-3. + + More information is available on the cygwin mailing list at http://cygwin.com/ml/cygwin/2010-04/msg00957.html + - == Installation steps(No Cygwin dependency) == + == Installation from Source (No Cygwin dependency) == To compile the Thrift generator & runtime libraries (untested) without the cygwin.dll dependency you need to install MinGW (www.mingw.org). In addition you need to add the following entry to your windows PATH variable. {{{ @@ -143, +160 @@ ==== realpath is not found ==== add -DMINGW -mno-cygwin to the CXXDEFS variable in Makefile - Prebuilt win32 binaries ( built using cygwin, based on latest SVN head, including all dependencies ) can be found here: - [[http://www.bernhardglueck.com/downloads/Thrift.zip]] -
