[MOBY-dev] [moby] Here's a question....

Frank Gibbons francis_gibbons at hms.harvard.edu
Wed Feb 1 20:21:39 UTC 2006


At 02:03 PM 2/1/2006, you wrote:
>To be honest, I haven't thought about it in years.  It's one of those
>things that "just works", and I can't remember the details of why.  The
>lib and the blib folders are created through the "make" process, and I
>simply never look at them, since there's no point in editing anything in
>there anyway...

Mark,

I know that the "blib" folder "just works". But without a rule in the 
Makefile expressing the dependency between the files we edit (in MOBY) and 
the files that Perl uses to build the module (lib/MOBY), we effectively 
break the build process invisibly. Changes made in "MOBY" do not "just 
work" unless the developer does the entire "perl Makefile.PL; make; make 
install". It's the explicit system call in Makefile.PL that updates 
lib/MOBY from MOBY, and which should be done by make, not perl Makefile.PL.

Along comes a developer used to the usual way (change the source? rebuild 
with "make"! You normally only do "perl Makefile.PL" upon downloading a new 
module, since it configures the whole system), and the dependencies are 
broken. I say "invisibly" above, because Perl doesn't complain, it simply 
ignores what you did in MOBY, since all it cares about are what's in 
lib/MOBY. Your changes never get propagated, and you can't figure out why 
your old broken code seems to be unstoppable - you rebuild, it's still there!

Anyway, I'm glad to know that it's not just me ;-). I'm going to try to 
configure Makefile.PL to properly handle dependencies, so that it works 
like it's supposed to. I think there's some kind of variable to tell it 
where to find the real code - we should point it at MOBY (not lib/MOBY, the 
default)

-Frank


PhD, Computational Biologist,
Harvard Medical School BCMP/SGM-322, 250 Longwood Ave, Boston MA 02115, USA.
Tel: 617-432-3555       Fax: 
617-432-3557       http://llama.med.harvard.edu/~fgibbons 




More information about the MOBY-dev mailing list