Mailing List Archive

perl Build.PL error
Hello Marvin,

You're probably aware of the following in a fresh svn checkout (but here
it is just in case you're not):

% perl Build.PL
Checking whether your kit is complete...
WARNING: the following files are missing in your kit:
lib/KinoSearch/base.pm
Please inform the author.

***

Regards
Henry


_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: perl Build.PL error [ In reply to ]
On Jan 19, 2008, at 12:09 AM, henka@cityweb.co.za wrote:

> WARNING: the following files are missing in your kit:
> lib/KinoSearch/base.pm
> Please inform the author.

Thanks for the heads-up -- I'd missed the "svn add" for that file.
It's in there now.

Cheers,

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/



_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: perl Build.PL error [ In reply to ]
On Sat, Jan 19, 2008 at 12:28:06AM -0800, Marvin Humphrey wrote:
> On Jan 19, 2008, at 12:09 AM, henka@cityweb.co.za wrote:
>
>> WARNING: the following files are missing in your kit:
>> lib/KinoSearch/base.pm
>> Please inform the author.
>
> Thanks for the heads-up -- I'd missed the "svn add" for that file. It's
> in there now.

Another one:

dpavlin@llin:/data/KinoSearch/perl$ perl Build.PL
Checking whether your kit is complete...
WARNING: the following files are missing in your kit:
buildlib/BBSortEx.pm
Please inform the author.

build dies with:

lib/KinoSearch.xs: In function 'XS_KinoSearch__Obj_STORABLE_freeze':
lib/KinoSearch.xs:380: error: 'FileDes' undeclared (first use in this function)
lib/KinoSearch.xs:380: error: (Each undeclared identifier is reported only once
lib/KinoSearch.xs:380: error: for each function it appears in.)
lib/KinoSearch.xs:380: error: expected expression before ')' token error building lib/KinoSearch.o from 'lib/KinoSearch.c' at /usr/local/share/perl/5.8.8/ExtUtils/CBuilder/Base.pm line 108.

Should I just roll back my local development against latest CPAN version or
pest more about errors like this? :-)

--
Dobrica Pavlinusic 2share!2flame dpavlin@rot13.org
Unix addict. Internet consultant. http://www.rot13.org/~dpavlin


_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: perl Build.PL error [ In reply to ]
On Jan 19, 2008, at 2:37 PM, Dobrica Pavlinusic wrote:

> Another one:
>
> dpavlin@llin:/data/KinoSearch/perl$ perl Build.PL
> Checking whether your kit is complete...
> WARNING: the following files are missing in your kit:
> buildlib/BBSortEx.pm
> Please inform the author.

Thanks. This one should have been fixed by r2926.

> build dies with:
>
> lib/KinoSearch.xs: In function 'XS_KinoSearch__Obj_STORABLE_freeze':
> lib/KinoSearch.xs:380: error: 'FileDes' undeclared (first use in
> this function)
> lib/KinoSearch.xs:380: error: (Each undeclared identifier is
> reported only once
> lib/KinoSearch.xs:380: error: for each function it appears in.)
> lib/KinoSearch.xs:380: error: expected expression before ')' token
> error building lib/KinoSearch.o from 'lib/KinoSearch.c' at /usr/
> local/share/perl/5.8.8/ExtUtils/CBuilder/Base.pm line 108.

That's an unrelated glitch I hadn't known about. r2933 should take
care of it:

- kino_OutStream *target = kino_OutStream_new((FileDes*)
file_des);
+ kino_OutStream *target = kino_OutStream_new((kino_FileDes*)
file_des);

> Should I just roll back my local development against latest CPAN
> version or
> pest more about errors like this? :-)

Here's what I recommend:

* If you don't need the features from the devel branch, use the
current
stable release.
* If you need the features of the devel branch, use the latest
devel release
(<http://www.rectangular.com/downloads/
KinoSearch-0.20_051.tar.gz>).
* If you find a bug in a devel release, write to the list. I'll
try to
address the problem and supply you with a number for a repository
revision I believe is reasonably stable.

It would be nice if the KS repository had a "stable trunk" policy,
but at this point, honestly, it doesn't. A pre-commit script might
help with MANIFEST glitches, missing files and such. However, the
real problem is that it's difficult to avoid memory leaks without
running the test suite under valgrind, which takes so long (c. 30
minutes) that I only tackle it every once in a while. Leaks are
almost never severe enough to bring down the test suite, but they can
easily cripple a long-running app.

Furthermore, the file format for trunk is currently in flux -- so
every time you update, you'd need to regenerate indexes just to be
safe. I try to remember to note file format changes in the commit
messages, but I've forgotten once or twice. It's hard to muster the
energy for really tight QC with every commit.

Of course it benefits me as a developer to have as many people as
possible using the latest svn checkout, but I don't think that's in
your best interest as a user. Maybe at some point I can get nightly
tarballs generating and provide a smoke test setup. Then at least
we'd get earlier warning when KS was failing, particularly for
systems that I don't develop on actively. A nightly smoke under
valgrind would be even better, but A) it would have to be set up, and
B) I don't currently have a box I could run that on.

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/



_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: perl Build.PL error [ In reply to ]
> A nightly smoke under
> valgrind would be even better, but A) it would have to be set up, and
> B) I don't currently have a box I could run that on.

I can offer a remote machine which is under-utilised. Not sure if it will
be workable for you though - being remote, etc. I could also assist with
getting the environment up for you.

Regards
Henry


_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: perl Build.PL error [ In reply to ]
On Jan 21, 2008, at 12:25 AM, henka@cityweb.co.za wrote:

> I can offer a remote machine which is under-utilised. Not sure if
> it will
> be workable for you though - being remote, etc. I could also
> assist with
> getting the environment up for you.

That's great, Henry. I've also received other offers of help via
private channels, so I'm going to try to get this set up.

I started a PerlMonks thread about smoke testing CPAN distros:

http://www.perlmonks.org/index.pl?node_id=663432

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/



_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: perl Build.PL error [ In reply to ]
Marvin Humphrey wrote on 1/21/08 6:44 PM:
>
> On Jan 21, 2008, at 12:25 AM, henka@cityweb.co.za wrote:
>
>> I can offer a remote machine which is under-utilised. Not sure if it
>> will
>> be workable for you though - being remote, etc. I could also assist with
>> getting the environment up for you.
>
> That's great, Henry. I've also received other offers of help via
> private channels, so I'm going to try to get this set up.
>
> I started a PerlMonks thread about smoke testing CPAN distros:
>
> http://www.perlmonks.org/index.pl?node_id=663432
>

too bad that thread seems to have stalled.

I hacked this little test script together just now and set it up on a local box.
Marvin, would you like a nightly cron run and mail directly to you? I'd also
love to get valgrind running, if you can point me at how you typically run it.

#!/usr/local/bin/perl
use strict;
use warnings;
use Carp;
use SVN::Class;

my $dir = svn_dir('/home/marvin/ks');
run("$^X -V");
run('uname -a');
$dir->update;
chdir "$dir" or croak "can't chdir to $dir: $!";
chdir 'perl' or croak "can't chdir to perl: $!";
run("./Build clean");
run("$^X Build.PL");
run("./Build test");


sub run {
my $cmd = shift;
system($cmd) and croak "$cmd failed: $!";
}

--
Peter Karman . http://peknet.com/ . peter@peknet.com

_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: perl Build.PL error [ In reply to ]
On Jan 27, 2008, at 9:28 PM, Peter Karman wrote:

>> I started a PerlMonks thread about smoke testing CPAN distros:
>> http://www.perlmonks.org/index.pl?node_id=663432
>
> too bad that thread seems to have stalled.

It stalled, but I think that's because the plan I laid out in the
original post was sufficiently sane that no one felt compelled to
correct it. :) It's a simple enough approach -- probably simple
enough that there's no point to modularizing it -- which is why
nobody's got a module to point me at. :)

The only hard thing is screen scraping valgrind's output.

> I hacked this little test script together just now and set it up on
> a local box. Marvin, would you like a nightly cron run and mail
> directly to you?

That would be great. Thanks!

It might be even better if it only emailed upon failure.

Can I commit the script as $KS_SVN_TRUNK/devel/bin/smoke.pl ?

With slight modifications (a config file, probably using JSON::XS),
Henry could run it as well.

> I'd also love to get valgrind running, if you can point me at how
> you typically run it.

What I do is invoke this set of commands from $SVN_TRUNK_ROOT/perl ...

$ export PERL_DESTRUCT_LEVEL=2
$ /usr/local/debugperl/bin/perl5.8.8 ../devel/bin/valgrind_test.plx

... and then manually inspect the valgrind_test.log file that it
generates, using vim. I scrunch up my terminal window and search
first for "ERROR SUMMARY", then "LEAK SUMMARY", hitting the "n" key
to keep fast forwarding; as the reports skip by, I look to make sure
that I see nothing but zeros. The process doesn't take long if the
tests are clean, even though there are around 100 of them.

To run the script need a DEBUGGING perl, and you may also need a
suppressions file to get sensible results. We'll have to set up
some kind of parser to machine-read valgrind's output if I'm not
checking it directly.

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/



_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: perl Build.PL error [ In reply to ]
On 01/30/2008 01:23 AM, Marvin Humphrey wrote:

>> I hacked this little test script together just now and set it up on a
>> local box. Marvin, would you like a nightly cron run and mail directly
>> to you?
>
> That would be great. Thanks!
>
> It might be even better if it only emailed upon failure.
>

maybe a test for !~ /PASSED/ or something would suffice.

> Can I commit the script as $KS_SVN_TRUNK/devel/bin/smoke.pl ?
>

sure. If I have mods later, shall I send a patch? Or you could just give me a commit bit
to that dir if you like.

> With slight modifications (a config file, probably using JSON::XS),
> Henry could run it as well.
>

sounds good.

>> I'd also love to get valgrind running, if you can point me at how you
>> typically run it.
>
> What I do is invoke this set of commands from $SVN_TRUNK_ROOT/perl ...
>
> $ export PERL_DESTRUCT_LEVEL=2
> $ /usr/local/debugperl/bin/perl5.8.8 ../devel/bin/valgrind_test.plx
>
> ... and then manually inspect the valgrind_test.log file that it
> generates, using vim. I scrunch up my terminal window and search first
> for "ERROR SUMMARY", then "LEAK SUMMARY", hitting the "n" key to keep
> fast forwarding; as the reports skip by, I look to make sure that I see
> nothing but zeros. The process doesn't take long if the tests are
> clean, even though there are around 100 of them.
>
> To run the script need a DEBUGGING perl, and you may also need a
> suppressions file to get sensible results. We'll have to set up some
> kind of parser to machine-read valgrind's output if I'm not checking it
> directly.

ok. I'll work on that when I have some time. Could be enough to identify the key string
patterns that indicate a failure and just print the entire report if one or more of those
is found.

--
Peter Karman . peter@peknet.com . http://peknet.com/


_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch