You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Anthony Molinaro (JIRA)" <ji...@apache.org> on 2009/12/15 08:44:18 UTC

[jira] Created: (THRIFT-650) Make Check fails on Centos/OSX with 0.2.0 tarball

Make Check fails on Centos/OSX with 0.2.0 tarball
-------------------------------------------------

                 Key: THRIFT-650
                 URL: https://issues.apache.org/jira/browse/THRIFT-650
             Project: Thrift
          Issue Type: Bug
    Affects Versions: 0.2
         Environment: Centos 5.3 - Linux centos5_0 2.6.18-128.1.10.el5 #1 SMP Thu May 7 10:35:59 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
Mac OSX 10.6.2 - Darwin nympro.local 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov  3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386 i386 MacBookPro4,1 Darwin

            Reporter: Anthony Molinaro


% tar xvfz thrift-0.2.0-incubating.tar.gz && cd thrift-0.2.0
% ./configure && make && make check

fails with

UnitTestMain.cpp:21:45: error: boost/test/included/unit_test.hpp: No such file or directory

File above exists but not in given directory

% locate unit_test.hpp                   
/usr/include/boost/test/auto_unit_test.hpp
/usr/include/boost/test/unit_test.hpp

% rpm -qa | grep boost
boost-1.33.1-10.el5
boost-devel-1.33.1-10.el5

(same version of boost library on OSX, but installed via fink).

Changing the UnitTestMain.cpp to include boost/test/unit_test.cpp causes that file to compile but then
make check gives the following errors

TMemoryBufferTest.cpp:28: error: expected constructor, destructor, or type conversion before '(' token
TMemoryBufferTest.cpp:56: error: expected constructor, destructor, or type conversion before '(' token
TMemoryBufferTest.cpp:82: error: expected constructor, destructor, or type conversion before '(' token

Changing the header in TMemoryBufferTest.cpp from 

#include <boost/test/unit_test.hpp>

to

#include <boost/test/auto_unit_test.hpp>

resulted in additional errors

TMemoryBufferTest.cpp:30: error: expected ',' or ';' before 'struct'
TMemoryBufferTest.cpp:30: error: 'test_roundtrip_id' was not declared in this scope
TMemoryBufferTest.cpp:30: error: template argument 1 is invalid
TMemoryBufferTest.cpp:107: error: expected ',' or ';' at end of input

And that's about as far as I can get not being a C++ type.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (THRIFT-650) Make Check fails on Centos/OSX with 0.2.0 tarball

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury closed THRIFT-650.
--------------------------------

         Assignee: Anthony Molinaro
    Fix Version/s: 0.4
       Resolution: Fixed

I just committed this.

> Make Check fails on Centos/OSX with 0.2.0 tarball
> -------------------------------------------------
>
>                 Key: THRIFT-650
>                 URL: https://issues.apache.org/jira/browse/THRIFT-650
>             Project: Thrift
>          Issue Type: Bug
>    Affects Versions: 0.2
>         Environment: Centos 5.3 - Linux centos5_0 2.6.18-128.1.10.el5 #1 SMP Thu May 7 10:35:59 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
> Mac OSX 10.6.2 - Darwin nympro.local 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov  3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386 i386 MacBookPro4,1 Darwin
>            Reporter: Anthony Molinaro
>            Assignee: Anthony Molinaro
>             Fix For: 0.4
>
>         Attachments: check.patch, check2.patch, check3.patch
>
>
> % tar xvfz thrift-0.2.0-incubating.tar.gz && cd thrift-0.2.0
> % ./configure && make && make check
> fails with
> UnitTestMain.cpp:21:45: error: boost/test/included/unit_test.hpp: No such file or directory
> File above exists but not in given directory
> % locate unit_test.hpp                   
> /usr/include/boost/test/auto_unit_test.hpp
> /usr/include/boost/test/unit_test.hpp
> % rpm -qa | grep boost
> boost-1.33.1-10.el5
> boost-devel-1.33.1-10.el5
> (same version of boost library on OSX, but installed via fink).
> Changing the UnitTestMain.cpp to include boost/test/unit_test.cpp causes that file to compile but then
> make check gives the following errors
> TMemoryBufferTest.cpp:28: error: expected constructor, destructor, or type conversion before '(' token
> TMemoryBufferTest.cpp:56: error: expected constructor, destructor, or type conversion before '(' token
> TMemoryBufferTest.cpp:82: error: expected constructor, destructor, or type conversion before '(' token
> Changing the header in TMemoryBufferTest.cpp from 
> #include <boost/test/unit_test.hpp>
> to
> #include <boost/test/auto_unit_test.hpp>
> resulted in additional errors
> TMemoryBufferTest.cpp:30: error: expected ',' or ';' before 'struct'
> TMemoryBufferTest.cpp:30: error: 'test_roundtrip_id' was not declared in this scope
> TMemoryBufferTest.cpp:30: error: template argument 1 is invalid
> TMemoryBufferTest.cpp:107: error: expected ',' or ';' at end of input
> And that's about as far as I can get not being a C++ type.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-650) Make Check fails on Centos/OSX with 0.2.0 tarball

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790875#action_12790875 ] 

David Reiss commented on THRIFT-650:
------------------------------------

Can you post the command that was run by make check right before the error?  Also, what version of boost do you have?

> Make Check fails on Centos/OSX with 0.2.0 tarball
> -------------------------------------------------
>
>                 Key: THRIFT-650
>                 URL: https://issues.apache.org/jira/browse/THRIFT-650
>             Project: Thrift
>          Issue Type: Bug
>    Affects Versions: 0.2
>         Environment: Centos 5.3 - Linux centos5_0 2.6.18-128.1.10.el5 #1 SMP Thu May 7 10:35:59 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
> Mac OSX 10.6.2 - Darwin nympro.local 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov  3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386 i386 MacBookPro4,1 Darwin
>            Reporter: Anthony Molinaro
>
> % tar xvfz thrift-0.2.0-incubating.tar.gz && cd thrift-0.2.0
> % ./configure && make && make check
> fails with
> UnitTestMain.cpp:21:45: error: boost/test/included/unit_test.hpp: No such file or directory
> File above exists but not in given directory
> % locate unit_test.hpp                   
> /usr/include/boost/test/auto_unit_test.hpp
> /usr/include/boost/test/unit_test.hpp
> % rpm -qa | grep boost
> boost-1.33.1-10.el5
> boost-devel-1.33.1-10.el5
> (same version of boost library on OSX, but installed via fink).
> Changing the UnitTestMain.cpp to include boost/test/unit_test.cpp causes that file to compile but then
> make check gives the following errors
> TMemoryBufferTest.cpp:28: error: expected constructor, destructor, or type conversion before '(' token
> TMemoryBufferTest.cpp:56: error: expected constructor, destructor, or type conversion before '(' token
> TMemoryBufferTest.cpp:82: error: expected constructor, destructor, or type conversion before '(' token
> Changing the header in TMemoryBufferTest.cpp from 
> #include <boost/test/unit_test.hpp>
> to
> #include <boost/test/auto_unit_test.hpp>
> resulted in additional errors
> TMemoryBufferTest.cpp:30: error: expected ',' or ';' before 'struct'
> TMemoryBufferTest.cpp:30: error: 'test_roundtrip_id' was not declared in this scope
> TMemoryBufferTest.cpp:30: error: template argument 1 is invalid
> TMemoryBufferTest.cpp:107: error: expected ',' or ';' at end of input
> And that's about as far as I can get not being a C++ type.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-650) Make Check fails on Centos/OSX with 0.2.0 tarball

Posted by "Adam Simpkins (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Simpkins updated THRIFT-650:
---------------------------------

    Attachment: check2.patch

The patch looks good to me.  I think it might make more sense to define BOOST_AUTO_TEST_MAIN in UnitTestMain.cpp rather than in TMemoryBufferTest.cpp, though.  Here's a minor update to the patch that does that.

> Make Check fails on Centos/OSX with 0.2.0 tarball
> -------------------------------------------------
>
>                 Key: THRIFT-650
>                 URL: https://issues.apache.org/jira/browse/THRIFT-650
>             Project: Thrift
>          Issue Type: Bug
>    Affects Versions: 0.2
>         Environment: Centos 5.3 - Linux centos5_0 2.6.18-128.1.10.el5 #1 SMP Thu May 7 10:35:59 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
> Mac OSX 10.6.2 - Darwin nympro.local 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov  3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386 i386 MacBookPro4,1 Darwin
>            Reporter: Anthony Molinaro
>         Attachments: check.patch, check2.patch
>
>
> % tar xvfz thrift-0.2.0-incubating.tar.gz && cd thrift-0.2.0
> % ./configure && make && make check
> fails with
> UnitTestMain.cpp:21:45: error: boost/test/included/unit_test.hpp: No such file or directory
> File above exists but not in given directory
> % locate unit_test.hpp                   
> /usr/include/boost/test/auto_unit_test.hpp
> /usr/include/boost/test/unit_test.hpp
> % rpm -qa | grep boost
> boost-1.33.1-10.el5
> boost-devel-1.33.1-10.el5
> (same version of boost library on OSX, but installed via fink).
> Changing the UnitTestMain.cpp to include boost/test/unit_test.cpp causes that file to compile but then
> make check gives the following errors
> TMemoryBufferTest.cpp:28: error: expected constructor, destructor, or type conversion before '(' token
> TMemoryBufferTest.cpp:56: error: expected constructor, destructor, or type conversion before '(' token
> TMemoryBufferTest.cpp:82: error: expected constructor, destructor, or type conversion before '(' token
> Changing the header in TMemoryBufferTest.cpp from 
> #include <boost/test/unit_test.hpp>
> to
> #include <boost/test/auto_unit_test.hpp>
> resulted in additional errors
> TMemoryBufferTest.cpp:30: error: expected ',' or ';' before 'struct'
> TMemoryBufferTest.cpp:30: error: 'test_roundtrip_id' was not declared in this scope
> TMemoryBufferTest.cpp:30: error: template argument 1 is invalid
> TMemoryBufferTest.cpp:107: error: expected ',' or ';' at end of input
> And that's about as far as I can get not being a C++ type.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-650) Make Check fails on Centos/OSX with 0.2.0 tarball

Posted by "Anthony Molinaro (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anthony Molinaro updated THRIFT-650:
------------------------------------

    Attachment: check.patch

I don't have the command at the moment, but my version of boost is 1.33.1

% rpm -qa | grep boost
boost-1.33.1-10.el5
boost-devel-1.33.1-10.el5

and attached is a patch which will cause these tests to work with that version of the lib.

> Make Check fails on Centos/OSX with 0.2.0 tarball
> -------------------------------------------------
>
>                 Key: THRIFT-650
>                 URL: https://issues.apache.org/jira/browse/THRIFT-650
>             Project: Thrift
>          Issue Type: Bug
>    Affects Versions: 0.2
>         Environment: Centos 5.3 - Linux centos5_0 2.6.18-128.1.10.el5 #1 SMP Thu May 7 10:35:59 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
> Mac OSX 10.6.2 - Darwin nympro.local 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov  3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386 i386 MacBookPro4,1 Darwin
>            Reporter: Anthony Molinaro
>         Attachments: check.patch
>
>
> % tar xvfz thrift-0.2.0-incubating.tar.gz && cd thrift-0.2.0
> % ./configure && make && make check
> fails with
> UnitTestMain.cpp:21:45: error: boost/test/included/unit_test.hpp: No such file or directory
> File above exists but not in given directory
> % locate unit_test.hpp                   
> /usr/include/boost/test/auto_unit_test.hpp
> /usr/include/boost/test/unit_test.hpp
> % rpm -qa | grep boost
> boost-1.33.1-10.el5
> boost-devel-1.33.1-10.el5
> (same version of boost library on OSX, but installed via fink).
> Changing the UnitTestMain.cpp to include boost/test/unit_test.cpp causes that file to compile but then
> make check gives the following errors
> TMemoryBufferTest.cpp:28: error: expected constructor, destructor, or type conversion before '(' token
> TMemoryBufferTest.cpp:56: error: expected constructor, destructor, or type conversion before '(' token
> TMemoryBufferTest.cpp:82: error: expected constructor, destructor, or type conversion before '(' token
> Changing the header in TMemoryBufferTest.cpp from 
> #include <boost/test/unit_test.hpp>
> to
> #include <boost/test/auto_unit_test.hpp>
> resulted in additional errors
> TMemoryBufferTest.cpp:30: error: expected ',' or ';' before 'struct'
> TMemoryBufferTest.cpp:30: error: 'test_roundtrip_id' was not declared in this scope
> TMemoryBufferTest.cpp:30: error: template argument 1 is invalid
> TMemoryBufferTest.cpp:107: error: expected ',' or ';' at end of input
> And that's about as far as I can get not being a C++ type.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-650) Make Check fails on Centos/OSX with 0.2.0 tarball

Posted by "Anthony Molinaro (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anthony Molinaro updated THRIFT-650:
------------------------------------

    Attachment: check3.patch

I actually had problems with both patches on OSX 10.6.2, so here's a patch that both works on Centos 5.3 with boost 1.33 and on OSX 10.6.2 with boost 1.35 from fink.  Basically somewhere between 1.33 and 1.35 they seem to have added some magic autoloading library thing to boost, but since I added the unit test library to get this to work with 1.33, you need to tell 1.35 that this is happening with another #DEFINE.  Luckily that #DEFINE does not exist in boost 1.33, so is essentially ignored.

With this patch and the two uploaded to THRIFT-649 it's now possible to do

% svn co http://svn.apache.org/repos/asf/incubator/thrift/trunk thrift
% cd thrift
% ./bootstrap.sh && ./configure && make && make check

and have it work on both Centos 5.3 with older autoconf 2.59 and boost 1.33 as well as work on OSX 10.6.2 with autoconf 2.64 and boost 1.35.

(although there's a few other messy bits to getting fink into the right state in order to have boost installed correctly).

> Make Check fails on Centos/OSX with 0.2.0 tarball
> -------------------------------------------------
>
>                 Key: THRIFT-650
>                 URL: https://issues.apache.org/jira/browse/THRIFT-650
>             Project: Thrift
>          Issue Type: Bug
>    Affects Versions: 0.2
>         Environment: Centos 5.3 - Linux centos5_0 2.6.18-128.1.10.el5 #1 SMP Thu May 7 10:35:59 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
> Mac OSX 10.6.2 - Darwin nympro.local 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov  3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386 i386 MacBookPro4,1 Darwin
>            Reporter: Anthony Molinaro
>         Attachments: check.patch, check2.patch, check3.patch
>
>
> % tar xvfz thrift-0.2.0-incubating.tar.gz && cd thrift-0.2.0
> % ./configure && make && make check
> fails with
> UnitTestMain.cpp:21:45: error: boost/test/included/unit_test.hpp: No such file or directory
> File above exists but not in given directory
> % locate unit_test.hpp                   
> /usr/include/boost/test/auto_unit_test.hpp
> /usr/include/boost/test/unit_test.hpp
> % rpm -qa | grep boost
> boost-1.33.1-10.el5
> boost-devel-1.33.1-10.el5
> (same version of boost library on OSX, but installed via fink).
> Changing the UnitTestMain.cpp to include boost/test/unit_test.cpp causes that file to compile but then
> make check gives the following errors
> TMemoryBufferTest.cpp:28: error: expected constructor, destructor, or type conversion before '(' token
> TMemoryBufferTest.cpp:56: error: expected constructor, destructor, or type conversion before '(' token
> TMemoryBufferTest.cpp:82: error: expected constructor, destructor, or type conversion before '(' token
> Changing the header in TMemoryBufferTest.cpp from 
> #include <boost/test/unit_test.hpp>
> to
> #include <boost/test/auto_unit_test.hpp>
> resulted in additional errors
> TMemoryBufferTest.cpp:30: error: expected ',' or ';' before 'struct'
> TMemoryBufferTest.cpp:30: error: 'test_roundtrip_id' was not declared in this scope
> TMemoryBufferTest.cpp:30: error: template argument 1 is invalid
> TMemoryBufferTest.cpp:107: error: expected ',' or ';' at end of input
> And that's about as far as I can get not being a C++ type.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.