[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