[BioLib-dev] installation
Joel Martin
j_martin at lbl.gov
Sat Apr 25 05:58:54 UTC 2009
Hello,
I had to futz about with cmake quite a bit and as I don't know anything about
cmake I've probably done something horrible. Here is what 'make install' ended
up doing, I did want it to go into /scratch so that part all looks good but the
perl locations seem odd as they aren't using 'auto'
-- Install configuration: "Release"
-- Installing: /scratch/j_martin/biotrash/lib/libbiolib_core-0.0.4.so
-- Set runtime path of "/scratch/j_martin/biotrash/lib/libbiolib_core-0.0.4.so" to "#{CMAKE_INSTALL_PREFIX}/lib"
-- Installing: /scratch/j_martin/biotrash/lib/libbiolib_example-0.0.4.so
-- Set runtime path of "/scratch/j_martin/biotrash/lib/libbiolib_example-0.0.4.so" to "#{CMAKE_INSTALL_PREFIX}/lib"
-- Installing: /scratch/j_martin/biotrash/lib/libbiolib_affyio-0.0.4.so
-- Set runtime path of "/scratch/j_martin/biotrash/lib/libbiolib_affyio-0.0.4.so" to "#{CMAKE_INSTALL_PREFIX}/lib"
-- Installing: /scratch/j_martin/biotrash/lib/libbiolib_microarray-0.0.4.so
-- Set runtime path of "/scratch/j_martin/biotrash/lib/libbiolib_microarray-0.0.4.so" to "#{CMAKE_INSTALL_PREFIX}/lib"
-- Installing: /scratch/j_martin/biotrash/lib/libbiolib_staden_io_lib-0.0.4.so
-- Set runtime path of "/scratch/j_martin/biotrash/lib/libbiolib_staden_io_lib-0.0.4.so" to "#{CMAKE_INSTALL_PREFIX}/lib"
-- Installing: /jgi/tools/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/example.so
-- Set runtime path of "/jgi/tools/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/example.so" to "#{CMAKE_INSTALL_PREFIX}/lib"
-- Installing: /jgi/tools/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/biolib/example.pm
-- Installing: /jgi/tools/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/affyio.so
-- Set runtime path of "/jgi/tools/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/affyio.so" to "#{CMAKE_INSTALL_PREFIX}/lib"
-- Installing: /jgi/tools/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/biolib/affyio.pm
-- Installing: /jgi/tools/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/staden_io_lib.so
-- Set runtime path of "/jgi/tools/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/staden_io_lib.so" to "#{CMAKE_INSTALL_PREFIX}/lib"
-- Installing: /jgi/tools/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/biolib/staden_io_lib.pm
when I try
perl -Mbiolib::staden_io_lib it complains as Dynaloader can't find it ( not using auto )
so my questions are,
do those install paths look like what it was supposed to do? Is that how you have them?
is there there any interaction problem with changing the module names to conform with
the guidlines in 'perldoc perlmodlib' ? and relatedly would changing staden_io_lib to
just Stadenio cause trouble?
---- this part is just fyi, what I changed to get it to compile for me. ---
I had trouble getting it to recognize my configuration, though it was getting all the correct
info from perl -MConfig -e 'what-ever'. As you can see above my perl is in a nonstandard location.
In the file ./cmake_modules/FindPerlLibs.cmake
after I changed
SET(PERL_POSSIBLE_INCLUDE_PATHS
${PARCHLIB}
to
SET(PERL_POSSIBLE_INCLUDE_PATHS
${PARCHLIB}/CORE
FIND_PATH(PERL_INCLUDE_PATH NAMES perl.h ${PERL_POSSIBLE_INCLUDE_PATHS}
should have worked but would return perl.h in the /usr/lib/perl/5.8.8/CORE spot that debians
default perl is at.
according to cmake man page this should have stopped it looking in it's builtin paths
FIND_PATH(PERL_INCLUDE_PATH NAMES perl.h PATHS ${PERL_POSSIBLE_INCLUDE_PATHS} NO_DEFAULT_PATH )
but it didn't seem to. I'd think that's a bug in cmake except I've barely used it before so
it might be a bug in me.
I ended up with this hack
IF (EXISTS ${PARCHLIB}/CORE/perl.h)
SET(PERL_INCLUDE_PATH ${PARCHLIB}/CORE)
ELSE (EXISTS ${PARCHLIB}/CORE/perl.h)
FIND_PATH(PERL_INCLUDE_PATH perl.h ${PERL_POSSIBLE_INCLUDE_PATHS})
ENDIF (EXISTS ${PARCHLIB}/CORE/perl.h)
Joel
More information about the BioLib-dev
mailing list