Hi Sébastien,
Ok, you seem to have got a handle on Debian packaging without much of a
problem. I've made some tweaks to the package (see the changelog in the
attached patch).
The main issue was that compilation failed on Ubuntu at the linking
stage:
---
tbooth@balisaur[ray_2.1.0]mpicxx -Wl,-Bsymbolic-functions -Wl,-z,relro -lz -lbz2 code/TheRayGenomeAssembler.a RayPlatform/libRayPlatform.a -o Ray
code/TheRayGenomeAssembler.a(FastqGzLoader.o): In function `FastqGzLoader::open(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)':
FastqGzLoader.cpp:(.text+0x39): undefined reference to `gzopen'
FastqGzLoader.cpp:(.text+0x6f): undefined reference to `gzgets'
FastqGzLoader.cpp:(.text+0x8d): undefined reference to `gzclose'
FastqGzLoader.cpp:(.text+0x9a): undefined reference to `gzopen'
code/TheRayGenomeAssembler.a(FastqGzLoader.o): In function `FastqGzLoader::load(int, ArrayOfReads*, MyAllocator*, int)':
FastqGzLoader.cpp:(.text+0x15e): undefined reference to `gzgets'
FastqGzLoader.cpp:(.text+0x1b4): undefined reference to `gzclose'
code/TheRayGenomeAssembler.a(BzReader.o): In function `BzReader::readLine(char*, int)':
BzReader.cpp:(.text+0x82a): undefined reference to `BZ2_bzRead'
BzReader.cpp:(.text+0x8f5): undefined reference to `BZ2_bzReadOpen'
BzReader.cpp:(.text+0x9fa): undefined reference to `BZ2_bzReadGetUnused'
BzReader.cpp:(.text+0xa27): undefined reference to `BZ2_bzReadClose'
collect2: ld returned 1 exit status
---
But this version works - ie. simply putting the $LD_FLAGS after the input files on line 189 of the Makefile:
tbooth@balisaur[ray_2.1.0]mpicxx -Wl,-Bsymbolic-functions -Wl,-z,relro code/TheRayGenomeAssembler.a RayPlatform/libRayPlatform.a -lz -lbz2 -o Ray
For now I added a patch (see debian/patches) but do you think you want
to make the change in the main source code or does that break something
else?
Cheers,
TIM
On Fri, 2012-11-02 at 03:55 +0000, Sébastien Boisvert wrote:
Hello Tim,
Thank you for your wise guidance regarding Debian package preparation.
I successfully created a Debian package for Ray 2.1.0.
You will find packages here in a git repository:
https://github.com/sebhtml/ray-debian-package
I installed my .deb with dpkg -i, tested it with some data,
checked what's in it with dpkg -L ray|less, and finally removed it
from my virtual machines (i386 and amd64).
I will add a sparc package tomorrow.
Can you review what I did ?
Sébastien