Hi Dave,

  You have to run ./bootstrap.sh && ./configure && make && make check.
For Snow Leopard, you'll want to install fink and then install autoconf
2.65 from there (or macports may also have a sufficiently new autconf).

-Anthony

On Wed, Sep 29, 2010 at 08:03:41PM -0700, Dave Viner wrote:
> Hi Jake,
> 
> I checked out directly from svn trunk.  The only command prior to the set
> that I showed was the svn co command:
> 
> % svn co http://svn.apache.org/repos/asf/incubator/thrift/trunk thrift-trunk
> % cd thrift-trunk/lib/perl/
> % perl Makefile.PL && make && make check
> 
> make: *** No rule to make target `check'.  Stop.
> 
> Do I need to run other commands prior to running the perl tests?
> 
> In looking at your output, it looks like I might need to build from the top
> of the tree before running the perl test.
> 
> I tried to follow the steps for compiling the whole tree, but I get this
> error:
> 
> % svn co http://svn.apache.org/repos/asf/incubator/thrift/trunk thrift-trunk
> % cd thrift-trunk/
> % ./bootstrap.sh
> Configuring for:
> PHP Api Version:         20090626
> Zend Module Api No:      20090626
> Zend Extension Api No:   220090626
> configure.ac:20: error: Autoconf version 2.65 or higher is required
> configure.ac:20: the top level
> autom4te: /usr/bin/gm4 failed with exit status: 63
> autoscan: /usr/bin/autom4te failed with exit status: 63
> %
> 
> This is on a mac os x 10.6.4.
> 
> If I don't need to build from the top of the tree, just let me know how to
> run the perl side of it.  If I do need to build from the top of the tree,
> how can I build it on 10.6.4?  I have the default autoconf that comes with
> mac developer tools
> 
> % autoconf --version
> autoconf (GNU Autoconf) 2.61
> 
> Thanks
> Dave Viner
> 
> 
> On Wed, Sep 29, 2010 at 7:36 PM, Jake Luciani <[email protected]> wrote:
> 
> > That is strange, what version are you on?
> >
> > Here's what I see.
> >
> > bash-3.2$ make check
> > Making check in test
> > make  check-local
> > ../../../compiler/cpp/thrift --gen perl ../../../test/ThriftTest.thrift
> > make -f Makefile-perl.mk
> > find blib -name 'Makefile*' -exec rm -f {} \;
> > make  check-local
> > /opt/local/bin/perl -Iblib/lib -I/Users/jake/projects/thrift.svn/lib/perl
> > -I./test/gen-perl \
> >
> > /Users/jake/projects/thrift.svn/lib/perl/
> > test.pl/Users/jake/projects/thrift.svn/lib/perl/test/*.t
> > /Users/jake/projects/thrift.svn/lib/perl/test/memory_buffer....ok
> >
> > /Users/jake/projects/thrift.svn/lib/perl/test/processor........ok
> >
> > All tests successful.
> > Files=2, Tests=8,  0 wallclock secs ( 0.15 cusr +  0.03 csys =  0.18 CPU)
> >
> >
> > On Wed, Sep 29, 2010 at 7:24 PM, Dave Viner <[email protected]> wrote:
> >
> > > hm...
> > >
> > > Maybe I'm doing something wrong:
> > >
> > > % cd thrift-trunk/lib/perl/
> > > % perl Makefile.PL
> > > Writing Makefile for Thrift
> > > %
> > > % make
> > > cp lib/Thrift/Server.pm blib/lib/Thrift/Server.pm
> > > cp lib/Thrift/Protocol.pm blib/lib/Thrift/Protocol.pm
> > > cp lib/Thrift/BinaryProtocol.pm blib/lib/Thrift/BinaryProtocol.pm
> > > cp lib/Thrift/Socket.pm blib/lib/Thrift/Socket.pm
> > > cp lib/Thrift/FramedTransport.pm blib/lib/Thrift/FramedTransport.pm
> > > cp lib/Thrift/Socket.pm.o blib/lib/Thrift/Socket.pm.o
> > > cp lib/Thrift/BufferedTransport.pm blib/lib/Thrift/BufferedTransport.pm
> > > cp lib/Thrift/Transport.pm blib/lib/Thrift/Transport.pm
> > > cp lib/Thrift/HttpClient.pm blib/lib/Thrift/HttpClient.pm
> > > cp lib/Thrift/MemoryBuffer.pm blib/lib/Thrift/MemoryBuffer.pm
> > > cp lib/Thrift.pm blib/lib/Thrift.pm
> > > %
> > > % make check
> > > make: *** No rule to make target `check'.  Stop.
> > > %
> > > % make test
> > > PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
> > > Files=0, Tests=0,  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
> > > Result: NOTESTS
> > >
> > > Any thoughts?
> > >
> > > Dave Viner
> > >
> > >
> > > On Wed, Sep 29, 2010 at 4:21 PM, Jake Luciani <[email protected]> wrote:
> > >
> > > > 'make check' I believe.
> > > >
> > > >
> > > >
> > > > On Sep 29, 2010, at 7:05 PM, Dave Viner <[email protected]> wrote:
> > > >
> > > > > Will do.
> > > > >
> > > > > How do I run the perl unit-tests?  I tried the following:
> > > > >
> > > > > % cd thrift-trunk/lib/perl
> > > > > % perl Makefile.PL
> > > > > % make
> > > > > % make test
> > > > >
> > > > > But this doesn't seem to find the tests:
> > > > >
> > > > > % make test
> > > > > PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
> > > > > Files=0, Tests=0,  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00
> > CPU)
> > > > > Result: NOTESTS
> > > > > %
> > > > >
> > > > > I want to make sure that my patch doesn't break existing tests, as
> > well
> > > > as
> > > > > expand the unit test to cover the scenario I'm adding.
> > > > >
> > > > > Thanks
> > > > > Dave Viner
> > > > >
> > > > >
> > > > >
> > > > > On Wed, Sep 29, 2010 at 2:45 AM, Jake Luciani <[email protected]>
> > > wrote:
> > > > >
> > > > >> Hi Dave
> > > > >>
> > > > >> No reason why we shouldn't check it. Could you please open a ticket?
> > > If
> > > > you
> > > > >> have a patch that would be great.
> > > > >>
> > > > >> Thanks.
> > > > >>
> > > > >> Jake
> > > > >>
> > > > >>
> > > > >>
> > > > >> On Sep 29, 2010, at 3:13 AM, Dave Viner <[email protected]> wrote:
> > > > >>
> > > > >>> Hi all,
> > > > >>>
> > > > >>> I'm using Thrift inside Cassandra, and I'm seeing conditions where
> > I
> > > > >> receive
> > > > >>> lots of these error messages:
> > > > >>>
> > > > >>> problem running get_slice: $VAR1 = bless( {
> > > > >>>                'code' => 0,
> > > > >>>                'message' => 'TSocket: timed out reading 4 bytes
> > from
> > > > >>> server-ip:9160'
> > > > >>>              }, 'Thrift::TException' );
> > > > >>>
> > > > >>> get_slice is the cassandra call.  The TSocket exception is thrown
> > > from
> > > > >>>
> > > > >>
> > > >
> > >
> > http://svn.apache.org/repos/asf/incubator/thrift/trunk/lib/perl/lib/Thrift/Socket.pm
> > > > >>>
> > > > >>> The issue seems to be in the handling of read(), readAll(), and
> > > > write().
> > > > >>> The code checks to see if the $self->{'handle'} variable (which is
> > an
> > > > >>> IO::Select object) is defined.  However, it seems possible for an
> > > > >> IO::Select
> > > > >>> object to be defined, but to have no handles that are valid or
> > > > connected.
> > > > >>> It seems that the code could be a bit more robust in checking for a
> > > > >>> condition where the handle is not open, and throw a more explicit
> > > > >> exception.
> > > > >>> Then it can check for data in the Exception handle.
> > > > >>>
> > > > >>> I'm happy to create a patch for it, but before I do so, is there a
> > > > reason
> > > > >>> why the code doesn't currently check for this error condition?
> > > > >>>
> > > > >>> Thanks
> > > > >>> Dave Viner
> > > > >>
> > > >
> > >
> >

-- 
------------------------------------------------------------------------
Anthony Molinaro                           <[email protected]>

Reply via email to