1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
This file documents the preparation of the autotools-based source tarball,
starting from the bjam-based build of pwiz using the ProteoWizard-distributed
source tarball.
tar xvjf pwiz-src-without-v-3_0_18342_01b48c0.tar.bz2
Oddly enough, the tarball decompresses locally,so that
$ ls -1
Jamroot.jam
LICENSE
SUBSET
build-linux-x86
build-linux-x86_64
check
clean.bat
clean.sh
doc
example_data
libraries
pwiz
pwiz-src-without-v-3_0_18342_01b48c0.tar.bz2
pwiz_aux
pwiz_tools
quickbuild.bat
quickbuild.sh
scripts
Anyways, let's go on:
$ cd scripts/autotools/
sh make_nonbjam_build.sh
# This should build the whole software package. The output of bjam is then
handled by a Python script to parse it and extract rules for the creation of the
autotools-based build environment. The directory of interest, after the build
has finished is:
build-linux-x86
The build goes on fully for the bjam build, but fails with the autotools test
build:
[...] -o pwiz/analysis/spectrum_processing/.libs/SpectrumList_ChargeStateCalculator.o
pwiz/analysis/spectrum_processing/SpectrumList_ChargeStateCalculator.cpp:40:10: fatal error: svm.h: No such file or directory
#include "svm.h"
^~~~~~~
compilation terminated.
But this is not a problem, because the -Ilibraries/libsvm-3.0 will be added in
the debian/rules file laters.
So the generated autotools-based source tarball is:
build-linux-x86/libpwiz_src_.tgz
cd build-linux-x86
tar xvzf libpwiz_src_.tgz
mv pwiz libpwiz-src-301b48c-3.0.18342
We need to remove the Eigen stuff in that tarball, but not the nnls.h file in
it. Eigen stuff (but not nnls.h) is already shipped in Debian.
cd libpwiz-src-301b48c-3.0.18342/libraries/Eigen
tar xvzf libpwiz_src_.tgz
cd pwiz/libraries/Eigen
rm -rf src [A-Z]*
Now create the tarball:
cd ../../../
tar cvzf libpwiz-src-301b48c-3.0.18342.tgz libpwiz-src-301b48c-3.0.18342
We copy it to the the tarballs directory in this way:
cp libpwiz-src-301b48c-3.0.18342.tgz ../
Now we clean the business made by the untidy bz2 file downloaded from
sourceforge.
There are some tweaks to be performed, on the Makefile that is generated upon
running configure: the BOOST_LDPATH needs to be set to the
/usr/lib/x86_64-linux-gnu/ path. Same for the AM_CPPFLAGS that needs to be
updated to list the shipped libraries
CSpline Eigen boost_aux doctest.h libsvm-3.0
|