[BioLib-dev] Merging biopp into main

Pjotr Prins pjotr.public14 at thebird.nl
Sat Aug 1 08:55:47 UTC 2009


Hi Adam,

Thanks for moving the SWIG files into src/mappings/swig/python/biopp.

>From your BLOG I gather you have a building Bio++ map for Python. That
is cool - I would like to merge it into the next release of biolib. We
need to get it to build it into biolib automatically with CMake.

The first step is to compile the biopp C++ library from source in
biolib.

I have checked out your branch into a clean tree:

  git clone git://github.com/adamsmith/biolib.git biolib-biopp
  cd biolib-biopp/
  git checkout --track -b biopp origin/biopp
  git pull
  git submodule init
  git submodule update  # fetching biopp into ./contrib/biopp
  cd ./src/clibs/biopp/src

here I should be able to do:

  cmake .
  make

to build the biopp.so into ../build. I fixed that in earlier days,
but you never merged my changes into your tree. So let's start from
this point. One of my notes says:

== Building the C++ libraries ==

The control files for building the Bio++ C libraries are in
./src/clibs/biopp/

    cd ./src/clibs/biopp/src/
    rm CMakeCache.txt ; cmake . ; make 
   
should build a shared library in ./src/clibs/biopp/build. This is the
library we link against. (Note: As Bio++ has namespaces we can build one
single .so file). It is named something like
libbiolib_biopp-0.0.5.so, where the version number reflects the
biolib repository VERSION.

== Continuing... ==

So I have updated CMakeLists.txt and files.txt in my biopp_fix branch. 

    cd ./src/clibs/biopp/src/
    rm CMakeCache.txt ; cmake . ; make 

shows:

    STATUS,"FindMap.cmake"
    PREFIX: /usr/local
    CMAKE_INSTALL_PREFIX=/usr/local
    MAP_ROOT=../../../..
    MAP_CLIBS_PATH=../../../../src/clibs
    MAP_PROJECTNAME=biolib
    MAP_VERSION=0.0.5
    -- ClibMacros.cmake
    CONTRIB_PATH=
    LIBNAME=biolib_biopp-0.0.5
    BUILDDIR=../../../../src/clibs/biopp/build
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /export/users/local/wrk/git/opensource/biolib-biopp/src/clibs/biopp/src
    Scanning dependencies of target biolib_biopp-0.0.5
    [  6%] Building CXX object CMakeFiles/biolib_biopp-0.0.5.dir/home/wrk/git/opensource/biolib-biopp/contrib/biopp/utils/Utils/ApplicationTools.cpp.o
    [ 13%] Building CXX object CMakeFiles/biolib_biopp-0.0.5.dir/home/wrk/git/opensource/biolib-biopp/contrib/biopp/utils/Utils/AttributesTools.cpp.o
    [ 20%] Building CXX object CMakeFiles/biolib_biopp-0.0.5.dir/home/wrk/git/opensource/biolib-biopp/contrib/biopp/utils/Utils/ColorTools.cpp.o
    (etc)
    Linking CXX shared library /export/users/local/wrk/git/opensource/biolib-biopp/src/clibs/biopp/build/libbiolib_biopp-0.0.5.so
    [100%] Built target biolib_biopp-0.0.5
     
Can you repeat this feat by pulling from my branch. First add my remote 
repository:

  git remote add pjotr git://github.com/pjotrp/biolib.git 
  # update branch, probably best to checkout a temporary one
  git checkout -b biopp_fix
  git pull pjotr biopp_fix
  # check changes
  git log # (or use gitk)
  # good? back to your development branch
  git checkout biopp
  # merge in my change
  git merge biopp_fix
  # did it work? Yes. Email and continue hacking...
  # push to your github account

If this is successful - I can see the patch on your github tree - we can go to
the next step of integration.

Pj.






More information about the BioLib-dev mailing list