[BioLib-dev] Test Errors on Ubuntu
Chris Fields
cjfields at illinois.edu
Fri Feb 12 14:34:14 UTC 2010
On Feb 11, 2010, at 11:21 PM, Pjotr Prins wrote:
> On Thu, Feb 11, 2010 at 10:53:11PM -0600, Chris Fields wrote:
>> One of the issues is that it appears the perl test script
>> preferentially uses any installed staden_io_lib.so over any locally
>> built one, or is only finding the library after it is installed.
>> The missing libR.so triggered this; deleting the aforementioned
>> library and running './configure --with-staden' works (no more
>> libR.so needed). We should probably set a 'use lib' directive in
>> the script to preferentially catch local module builds.
>
> Good. The problem is that we can not distinguish between installed
> libs and later locally built ones. I can try and find a way for the
> build system to use the local ones in the tree first, but that may
> defeat the purpose - i.e. testing an installed system.
>
> Now, what would be a good policy?
Well, it looks as if the other test scripts (emboss, example) do essentially what I described, adding the local directory first to @INC for perl:
BEGIN{unshift(@INC, "../emboss")};
use biolib::emboss;
I can try seeing if that helps.
> Also the naming. You can see I use versioning on the Clibs, but not
> on the Perl module - as it finds itself by its name.
>
> Maybe we can use different naming for the development tree - so the
> tests would require 'staden_iolib-testing.pm'. I could copies at
> build time which would not interfere with the main setup. I am not
> sure about all the implications though.
>
> But maybe it is better to specifically used LD_LIBRARY_PATH instead.
> Leave overrides to the user. That gives more predictable behaviour.
>
> Feel free to try some stuff and tell me what works for you.
>
>> Setting LD_LIBRARY_PATH or adding to /etc/ld.so.conf.d fixes the
>> problem. libR.so is in /usr/lib/R/lib, which apparently is not added
>> to ld.so.conf.d via apt-get.
>
> That is a bug, in my book. Debian does not do this. I suspect the
> Ubuntu guys figure that only R uses that lib, and therefore knows
> where to find it.
Same thought here as well. I'm using the R project's build, though; there have been reported problems with Canonical's R packages. Regardless, it shouldn't be that hard to add the lib to ldconfig during installation.
>> I think this sorts out most pertinent issues. I'm working on a
>> simple BioPerl-specific set of modules for io_lib that will
>> eventually replace the XS-based code from bioperl-ext. This gets us
>> along that path a bit. Probably something to note for the install
>> process, however.
>
> Cool :-). Once that is done we can find a way to do that
> automatically for other modules/libraries.
>
> BTW I am half way done with automated documentation. We should be
> able to generate POD files from SWIG fairly soon.
>
> Pj.
Very nice!
chris
More information about the BioLib-dev
mailing list