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]>
