[Bioperl-l] Optional 'circular dependency' ok?

Chris Fields cjfields at uiuc.edu
Thu Sep 21 13:39:24 UTC 2006

> -----Original Message-----
> From: bioperl-l-bounces at lists.open-bio.org [mailto:bioperl-l-
> bounces at lists.open-bio.org] On Behalf Of Nathan S. Haigh
> Sent: Thursday, September 21, 2006 2:20 AM
> To: Chris Fields
> Cc: 'Mauricio Herrera Cuadra'; 'Hilmar Lapp'; bioperl-l at bioperl.org;
> 'Sendu Bala'
> Subject: Re: [Bioperl-l] Optional 'circular dependency' ok?
> Chris Fields wrote:
> > My point was, is there any way we can have two sets of modules: one set
> that
> > is 'required', and another that is 'optional' (for additional
> functionality,
> > but not installed)?  And have Makefile.PL test for all of them?
> >
> >
> Something like this would definitely be my preference. It makes sense to
> document any/all dependencies in one place but to make a distinction
> between 2 or 3 "types" of dependencies. 1) core dependencies which are
> absolutely required for the functioning of the main modules in Bioperl;
> 2) Optional dependencies which enhance the basic installation and 3) The
> dependencies which are only present in the odd module. It may be more
> straightforward to deal with 2 and 3 as one set of optional dependencies.
> I know very little about Makefiles, but from my experience of
> installation of dependencies, it would be excellent if during the "perl
> Makefile.PL" that a summary table was produced at the end, either
> instead of, or in addition to the current verbose list of dependencies
> that are not met. This could make it much clearer as to which type of
> dependencies are missing and whether they need to be installed. A table
> such as this comes to mind:
> Module			Dependency	Status
> IO::String		Required	Installed
> File::Temp		Required
> GD			Optional
> Convert::Binary::C	Optional
> If this information was coded into the Makefile.PL, much like the
> verbose description of the requirements currently is, you could just
> test that all "required" modules are installed before allowing the
> installation to proceed. All "optional" modules could also be added to
> Bundle::BioPerl for easy installation. This would also help with making
> a ppd by having all this info in one place.
> Like I said, I don't know much about Makefiles, but that's my thoughts
> anyway.
> Nathan

We're in a bit of a tricky situation here.  What we probably should do is
look at CPAN to see what other large packages do (like LWP or similar),
whether they allow differentiation between 'optional' vs. 'required.'
CPANPLUS supposedly allows some circular dependency (it checks for them
before installing, then breaks them if they occur) but they aren't commonly

Since we don't have a newer version available on CPAN (the last one is v 1.4
I think), it's not a pressing issue, but definitely one to think about as we
approach v 1.6. 

Christopher Fields
Postdoctoral Researcher - Switzer Lab
Dept. of Biochemistry
University of Illinois Urbana-Champaign

More information about the Bioperl-l mailing list