[Nix-dev] Help packaging BLAST?
James Cook
james.cook at utoronto.ca
Wed Feb 25 07:35:54 CET 2015
On 24 February 2015 at 21:30, Jeffrey David Johnson <jefdaj at gmail.com> wrote:
> Hi! The existing BLAST package (https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/science/biology/ncbi-tools/default.nix) isn't working for me. Probably because it's broken on x64. So I'm trying to package the standalone executables from http://www.ncbi.nlm.nih.gov/books/NBK52640/ instead. I've created a package (https://github.com/jefdaj/nixpkgs/blob/master/pkgs/applications/science/biology/ncbi-blast/default.nix) but can't run the resulting programs. They all say something like:
>
> $ blastn
> bash: /run/current-system/sw/bin/blastn: No such file or directory
>
> Based on https://www.biostars.org/p/12298/ I think I have the right architecture:
>
> $ uname -a
> Linux acro 3.14.29 #1-NixOS SMP Thu Jan 1 00:00:01 UTC 1970 x86_64 GNU/Linux
>
> $ file blastn
> blastn: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
>
> The "dynamically linked" part worries me though. Do I need to add build inputs referencing a specific gcc or something? Also including the suggested readelf command for completeness:
>
> $ readelf -a blastn | head -n20
> ELF Header:
> Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> Class: ELF64
> Data: 2's complement, little endian
> Ident Version: 1 (current)
> OS/ABI: UNIX - System V
> ABI Version: 0
> Type: EXEC (Executable file)
> Machine: AMD x86-64
> Version: 1 (current)
> Entry point address: 0xc95f20
> Start of program headers: 64 (bytes into file)
> Start of section headers: 32499288 (bytes into file)
> Flags:
> Size of this header: 64 (bytes)
> Size of program header entries: 56 (bytes)
> Number of program headers entries: 9
> Size of section header entries: 64 (bytes)
> Number of section headers entries: 32
> Section header string table index: 31
>
> If this is a dead end, I could also try porting the Debian package right? How hard is that?
> Thanks
> Jeff
You probably have to run some patchelf command. Take a look at
networking/browsers/firefox-bin maybe (the firefox expression that
just downloads the official binary).
James
More information about the nix-dev
mailing list