[BioLib-dev] release candidate
Xin Shuai
xshuai at umail.iu.edu
Fri Aug 14 16:04:12 UTC 2009
OK. I 've already updated that and set the file path in my
test_libsequence.py
On Fri, Aug 14, 2009 at 2:27 AM, Pjotr Prins <pjotr.public14 at thebird.nl>wrote:
> Hi Xin,
>
> Everything compiles. Now the final bit - the integration test now
> expects input from stdin (a FASTA sequence). That should be read from
> a file instead. I have added
>
> src/test/data/fasta/example.fasta
>
> to the repository.
>
> Pj.
>
> On Wed, Aug 12, 2009 at 09:15:22AM +0200, Pjotr Prins wrote:
> > Hi Xin,
> >
> > I renamed the test file so it gets found by Cmake.
> >
> > However, the test fails:
> >
> > cd src/mappings/swig/python/libsequence
> > cmake .
> > make
> > make test
> >
> > gives:
> >
> > Command: "/usr/bin/python" "./../test/test_libsequence.py"
> > Directory:
> /home/pjotr/data/git/opensource/biolib-libsequence/src/mappings/swig/python/libsequence
> > "TestPythonlibsequence" start time: Aug 12 08:59 CEST
> > Output:
> > ----------------------------------------------------------
> > Traceback (most recent call last):
> > File "./../test/test_libsequence.py", line 5, in <module>
> > from biolib.libsequence import *
> > File "biolib/libsequence.py", line 7, in <module>
> > import _libsequence
> > ImportError:
> /home/pjotr/data/git/opensource/biolib-libsequence/src/clibs/biolib_gsl/build/
> libbiolib_gsl-0.0.5.so: undefined symbol: gsl_rng_uniform_int
> >
> >
> > This error is caused, most likely, because we build the gsl with inline
> > functions.
> >
> > INLINE_DECL unsigned long int gsl_rng_uniform_int (const gsl_rng *r,
> unsigned l ong int n);
> >
> > The INLINE is used for performance reasons (see
> > http://www.greenend.org.uk/rjk/2003/03/inline.html) and is not visible
> outside
> > the shared library itself. However SWIG thinks it is visible, because it
> is
> > defined in gsl_rng.h) and has created a mapping for it. That is why the
> test
> > fails. A first good case for an integration test :-)
> >
> > Can you find a way to tell SWIG *not* to create a mapping for this, and
> similar,
> > declarations?
> >
> > But first you need to ascertain this test fails on your system. If it
> does not,
> > I suspect your linker finds a different GSL shared library on your system
> - one
> > that has the INLINE statement switched off. In Linux we can use something
> like
> >
> > ldd libsequence-swig.so (or similar dylib)
> >
> > to find what libraries it links against. On my system it renders:
> >
> > ldd biolib/_libsequence.so
> >
> > linux-gate.so.1 => (0xb7f42000)
> > libbiolib_libsequence-0.0.5.so =>
> /home/pjotr/data/git/opensource/biolib-libsequence/src/clibs/libsequence-1.6.6/build/
> libbiolib_libsequence-0.0.5.so (0xb7acd000)
> > libpython2.5.so.1.0 => /usr/lib/libpython2.5.so.1.0 (0xb797f000)
> > libbiolib_gsl-0.0.5.so =>
> /home/pjotr/data/git/opensource/biolib-libsequence/src/clibs/biolib_gsl/build/
> libbiolib_gsl-0.0.5.so (0xb7735000)
> > libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7647000)
> > libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7621000)
> > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7614000)
> > libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb74b8000)
> > libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb749f000)
> > libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb749b000)
> > libutil.so.1 => /lib/i686/cmov/libutil.so.1 (0xb7497000)
> > /lib/ld-linux.so.2 (0xb7f43000)
> >
> > You see it uses libbiolib_gsl-0.0.5.so
> >
> > Pj.
> >
> > _______________________________________________
> > BioLib-dev mailing list
> > BioLib-dev at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/biolib-dev
>
--
Xin Shuai (David)
PhD of Complex System in School of Informatics
Indiana University Bloomington
812-606-8019
More information about the BioLib-dev
mailing list