How To Build Bambus Scaffolder On Ubuntu 10.04?
4
3
Entering edit mode
13.9 years ago
Michael Barton ★ 1.9k

I've been trying to assemble 454 bacterial scaffolds into a draft assembly using Bambus and a reference genome. I can't however get bambus to compile on my ubuntu machine. According to this guide (PDF) you need to update the header file to include additional references which I have done. However I am still unable to get the grommit binary to compile. The error messages produced by make are shown below. Can anyone offer any suggestions?

for i in src doc ;do cd $i ; make all; cd .. ; done
make[1]: Entering directory `/tmp/bambus-2.33/src'
for i in IO DotLib TIGR_Foundation_CC grommit ;do cd $i ; make all; cd .. ; done
make[2]: Entering directory `/tmp/bambus-2.33/src/IO'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/bambus-2.33/src/IO'
make[2]: Entering directory `/tmp/bambus-2.33/src/DotLib'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/bambus-2.33/src/DotLib'
make[2]: Entering directory `/tmp/bambus-2.33/src/TIGR_Foundation_CC'
g++  -D_HAS_GETOPT  -c -o FileSystem.o FileSystem.cc
FileSystem.cc: In static member function ‘static bool         
FileSystem::isCreatableFile(const char*)’:
FileSystem.cc:58: error: invalid conversion from ‘const char*’ to ‘char*’
make[2]: *** [FileSystem.o] Error 1
make[2]: Leaving directory `/tmp/bambus-2.33/src/TIGR_Foundation_CC'
make[2]: Entering directory `/tmp/bambus-2.33/src/grommit'
g++ -Wl  -L../TIGR_Foundation_CC/ -o grommit grommit.o -L. -lgraph -lTigrFoundation
/usr/bin/ld: cannot find -lTigrFoundation
collect2: ld returned 1 exit status
make[2]: *** [grommit] Error 1
make[2]: Leaving directory `/tmp/bambus-2.33/src/grommit'
make[1]: Leaving directory `/tmp/bambus-2.33/src'
make[1]: Entering directory `/tmp/bambus-2.33/doc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/bambus-2.33/doc'
assembly scaffolding genome • 4.4k views
ADD COMMENT
2
Entering edit mode
13.9 years ago
Darked89 4.6k

Edited just these four files

nano ./src/TIGR_Foundation_CC/ConfigFile.hh 
nano ./src/TIGR_Foundation_CC/Logger.hh
nano ./src/TIGR_Foundation_CC/OptionResult.hh 
nano ./src/TIGR_Foundation_CC/Options.hh

plus BASEDIR in Makefile. No errors while compiling bambus_2.33 on Debian 5.04 inside VirtualBox. gcc 4.3.2.

In your case I would:

  • check the edits after good night sleep on a fresh source
  • wait a day for some C guru before going some heroic route of switching systems

If you are in a hurry then setting up VirtualBox + Debian takes few hours max, but I am not sure how much load (genome size etc) this can take.

EDIT: format

ADD COMMENT
0
Entering edit mode

I picked yours as the answer. I didn't work for me but may be useful to others doing something similar.

ADD REPLY
2
Entering edit mode
13.9 years ago
Neilfws 49k

Just at a first glance, the key error line is:

/usr/bin/ld: cannot find -lTigrFoundation

This tells you that the linker (ld) is looking for a library file named TigrFoundation and cannot find it. That may be because it does not exist - do you need to install something else before BAMBUS? - or because it is in a non-standard location. if the latter, you can try something like (in bash):

export LD_LIBRARY_PATH=/path/to/directory_containing_TigrFoundation/:$LD_LIBRARY_PATH
make clean
make
ADD COMMENT
0
Entering edit mode

or just run the line and replace -lTigrFoundation with -l/path/to/TigrFoundation libraries ...

ADD REPLY
0
Entering edit mode

I can't find find any files called TigrFoundation. There are however .cc and .hh files called TIGR_Foundation. I've tried updating the makefile so that it's -lTIGR_Foundation how I still get the same error. Specifically what file type is the linker looking for?

ADD REPLY
0
Entering edit mode

Probably the linker is looking for compiled libraries. Is there a way for you to compile the TIGR_Foundation?

ADD REPLY
1
Entering edit mode
13.9 years ago
Shefali ▴ 20

I am also getting this same error.If you find some solution please let me know and definitively if I find a solution...I will post it here.

ADD COMMENT
0
Entering edit mode
13.2 years ago
User 3725 • 0

I was able to compile succesfully with the PDF guide. Under the following ubuntu distro:

2.6.32-27-generic #49-Ubuntu SMP Thu Dec 2 00:51:09 UTC 2010 x86_64 GNU/Linux | gcc version 4.4.3

But first compiling & installing the Tigr_Foundation libraries the trick is adding this header to the Options.hh ($/bambus-2.33/src/TIGR_Foundation_CC/Options.hh)

"#include <cstdio>"

Then you compile & install bambus 2.3

*if you got some previous issues with the gcc substitute the syntaxis following the next help:

An example.

const char* str1;
char* str2 = strchr(str1, 'a');

Gives the following compiler error:

error: invalid conversion from ‘const char*’ to ‘char*’

Fixing this is easy, as demonstrated below.

const char* str1;
const char* str2 = strchr(str1, 'a');
ADD COMMENT

Login before adding your answer.

Traffic: 2518 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6