develooper Front page | perl.module-authors | Postings from November 2011

Re: The CPAN Morass

From:
Linda W
Date:
November 30, 2011 04:26
Subject:
Re: The CPAN Morass
Message ID:
4ED620F4.3080301@tlinx.org
dhudes@hudes.org wrote:

> I've mostly ignored all this but I will step in briefly.
> I am the author of a few modules on CPAN. None of them are major. The
> dependency of one on another module which has been broken for years means
> that I get frequent e-mail that it fails its tests. There's nothing wrong
> with -my- module and if you actually force install it, you can use it.




---
	If I can' force install and it works?... No prob.

But stuff that won't compile or garbage like, wait, lemme go
find my last major fail...(kudos after the break)...


cc -c   -D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV -DDEBUGGING
-fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall
-pipe   -DVERSION=\"0.96a\" -DXS_VERSION=\"0.96a\" -fPIC
"-I/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE"
-DTDB_HAS_ERR_LOCK_TIMEOUT -DTDB_HAS_HASH_FUNC TDB_File.c
TDB_File.xs:76:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘hash_func_cb’
TDB_File.xs: In function ‘traverse_cb’:
TDB_File.xs:121:2: warning: pointer targets in passing argument 2 of
‘Perl_newSVpv’ differ in signedness
/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:2314:19: note:
expected ‘const char * const’ but argument is of type ‘unsigned char *’
TDB_File.xs:122:2: warning: pointer targets in passing argument 2 of
‘Perl_newSVpv’ differ in signedness
/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:2314:19: note:
expected ‘const char * const’ but argument is of type ‘unsigned char *’
TDB_File.c: In function ‘XS_TDB_File_chainlock’:
TDB_File.c:430:12: warning: pointer targets in assignment differ in signedness
TDB_File.c: In function ‘XS_TDB_File_chainunlock’:
TDB_File.c:466:12: warning: pointer targets in assignment differ in signedness
TDB_File.xs: In function ‘XS_TDB_File_DESTROY’:
TDB_File.xs:164:3: warning: value computed is not used
TDB_File.c: In function ‘XS_TDB_File_delete’:
TDB_File.c:530:12: warning: pointer targets in assignment differ in signedness
TDB_File.c:512:5: warning: unused variable ‘ix’
TDB_File.c: In function ‘XS_TDB_File_exists’:
TDB_File.c:668:12: warning: pointer targets in assignment differ in signedness
TDB_File.c:649:5: warning: unused variable ‘ix’
TDB_File.c: In function ‘XS_TDB_File_fetch’:
TDB_File.c:705:12: warning: pointer targets in assignment differ in signedness
TDB_File.c:716:3: warning: pointer targets in passing argument 3 of
‘Perl_sv_setpvn’ differ in signedness
/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:3507:20: note:
expected ‘const char * const’ but argument is of type ‘unsigned char *’
TDB_File.c:687:5: warning: unused variable ‘ix’
TDB_File.c: In function ‘XS_TDB_File_firstkey’:
TDB_File.c:747:3: warning: pointer targets in passing argument 3 of
‘Perl_sv_setpvn’ differ in signedness
/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:3507:20: note:
expected ‘const char * const’ but argument is of type ‘unsigned char *’
TDB_File.c:729:5: warning: unused variable ‘ix’
TDB_File.xs: In function ‘XS_TDB_File_logging_function’:
TDB_File.xs:254:2: warning: value computed is not used
TDB_File.xs:256:2: warning: implicit declaration of function
‘tdb_logging_function’
TDB_File.c: In function ‘XS_TDB_File_nextkey’:
TDB_File.c:902:12: warning: pointer targets in assignment differ in signedness
TDB_File.c:913:3: warning: pointer targets in passing argument 3 of
‘Perl_sv_setpvn’ differ in signedness
/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:3507:20: note:
expected ‘const char * const’ but argument is of type ‘unsigned char *’
TDB_File.c:884:5: warning: unused variable ‘ix’
TDB_File.xs: In function ‘XS_TDB_File_open’:
TDB_File.xs:289:16: error: ‘hash_func_cb’ undeclared (first use in this
function)
TDB_File.xs:289:16: note: each undeclared identifier is reported only once
for each function it appears in
TDB_File.xs:299:13: warning: assignment from incompatible pointer type
TDB_File.xs:306:10: warning: passing argument 6 of ‘tdb_open_ex’ from
incompatible pointer type
/usr/include/tdb.h:95:21: note: expected ‘const struct tdb_logging_context
*’ but argument is of type ‘tdb_log_func’
TDB_File.xs:322:4: warning: value computed is not used
TDB_File.c:926:5: warning: unused variable ‘ix’
TDB_File.c: In function ‘XS_TDB_File_reopen_all’:
TDB_File.c:1106:2: error: too few arguments to function ‘tdb_reopen_all’
/usr/include/tdb.h:102:5: note: declared here
TDB_File.c: In function ‘XS_TDB_File_store’:
TDB_File.c:1138:12: warning: pointer targets in assignment differ in signedness
TDB_File.c:1148:13: warning: pointer targets in assignment differ in signedness
TDB_File.c:1118:5: warning: unused variable ‘ix’
make: *** [TDB_File.o] Error 1
   ANGUSLEES/TDB_File-0.96a.tar.gz
   /usr/bin/make -j -j  -- NOT OK
Running make test
   Can't test without successful make
Running make install
   Make had returned bad status, install seems impossible
Failed during this command:
  ANGUSLEES/TDB_File-0.96a.tar.gz              : make NO
-------------
	Now the warnings are ugly -- should compile w/o warnings
(or put a "&| grep -v warning" at the end of your make...)...
but the error at the end... really won't work.

-----(promised) Break--------


   Ok, kudos 1) thank goddess and pointed eared dieties for cpan history...i
love it. !YEAY!!   2) (Keeping it real) (implicit kudos 2): (out of the
last 10) 67% of the modules I installed, not only installed, but worked
perfectly as documented;  2 installed, but didn't work

Those authors who's stuff worked off the bat / out of the box: YEAY!!!


But for CPAN as a whole:  67% ...  That was either a Fail or a low C in any
school I've been at.  So grade as a whole, is the problem...  NOT
individual responsible authors -- so if you are reading this and giving a
*foo*, you are PROBABLY, not that problem, (though you might be; but it's
the people who are not involved anymore -- and they really probably don't
care that much ... most of them would be fine if someone took it over..
BUT there some percentage in that bunch who feels "entitled" to their spot
(even if they no longer maintain/use it).

Maybe there needs to be some equivalent of 'homesteading'.... where you
'live' on the property you are claiming...  If you leave it..  and go
elsewhere, for more than a few-several months...it wouldn't be surprising
if, at least, you found squatters there, and if they were maintaining the
place better than you had been doing, they might be considered better
'neighbors' in the neighborhood, the local cabal-enforcement type might not
feel like kicking them out.  OTOH, If you were the fine upstanding type and
made arrangements to have your mail stopped while you were gone...and were
gone for a few months, then the squatters would likely have little say.

Now if you go away for 6 months...  Do you really think it's a good idea
(lets say you owned a home)... to do so w/o making sure someone dealt with
problems while you were away?   Suppose there's a gas leak in your code?
(!?) or something similar...  Just seems prudent to tell a neighbor, and
ask em to watch out for foreclosure notices if your bill pay service goes
awry, or such... or make sure no moving vans pull up to your house while
you are gone and clean it out (it's happened in RL)...

Why should there be such different expectations on CPAN?  If we don't keep
up the neighborhood, it will get run down and become a slum and the value
of all properties on it will fall.

The metaphor isn't that far off base..

(rest of response truncated, as don't want to argue with someone who's
stuff is working and/or working on it!)...

Linda





nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About