Rob Davies - 2010-04-27

The messages about '/usr/bin/ld: skipping incompatible...' are just linker warnings as it skips over your 32 bit libraries. As long as it managed to eventually find the correct 64-bit one, they are nothing to worry about.

Your problem is most likely to be that the shared library linker can't find the Staden io_lib library (specifically when you run illumina2srf. To check if this is the case, take a look in tests/test1.out after you have run 'make check' and see if it contains a message like this (it will be near the end of the file):

../illumina2srf/illumina2srf: error while loading shared libraries: cannot read shared object file: No such file or directory

If this is the case, then you can solve the problem by telling the linker where to find libstaden-read. The quickest way to do this is to set the environment variable LD_LIBRARY_PATH to point to the directory where was installed (normally /usr/local/lib). Then re-run make check to see if it works. For example:

LD_LIBRARY_PATH=/usr/local/lib; export LD_LIBRARY_PATH
make check

If this works, then you can either set LD_LIBRARY_PATH in your shell configuration; or you can add /usr/local/lib - or whatever the correct location is - to /etc/ and then run ldconfig so the the system knows where to find the library.

Note that this is all due to the way that the Staden io_lib package is set up (specifically it doesn't set rpath in the library). There is not much that the sequenceread package can do about this, apart from warn you that it may happen.