Installation

Hey everybody,

I am new here and I want to use mothur for 454 data of 16S genes.
Sorry, I haven’t found a better place to set my question. I already have problems by the installation of mothur.

Following exactly the manual I came only up to this point:
mkdir mothur
cd mothur
unzip …/Mothur.source.zip

Typing then “make” gives me the following (unfortunately German) output:
make: *** Keine Targets angegeben und keine »make«-Steuerdatei gefunden. Schluss. (no targets and no makefile)

I have to type: “cd mothur-v.1.6.0/” and then the make command works.

The output is as follows (there are no errors like you said in the installation manual “warning: no newline at end of file”):

g++ -O3 sharedutilities.cpp -c -I. -o ./sharedutilities.o
g++ -O3 treegroupscommand.cpp -c -I. -o ./treegroupscommand.o
g++ -O3 bootstrapsharedcommand.cpp -c -I. -o ./bootstrapsharedcommand.o
g++ -O3 matrixoutputcommand.cpp -c -I. -o ./matrixoutputcommand.o
g++ -O3 getoturepcommand.cpp -c -I. -o ./getoturepcommand.o
g++ -O3 screenseqscommand.cpp -c -I. -o ./screenseqscommand.o
g++ -O3 chimera.cpp -c -I. -o ./chimera.o
g++ -O3 decalc.cpp -c -I. -o ./decalc.o
decalc.cpp: In member function `std::vector<std::vector<quanMember,
std::allocator >, std::allocator<std::vector<quanMember,
std::allocator > > >
DeCalculator::getQuantiles(std::vector<Sequence*, std::allocator<Sequence*>

, std::vector<int, std::allocator >, int, std::vector<float,
std::allocator >, int, int, int)’:
decalc.cpp:433: warning: passing float' for argument 1 of_Tp&
std::vector<_Tp, _Alloc>::operator[](long unsigned int) [with _Tp =
std::vector<quanMember, std::allocator >, _Alloc =
std::allocator<std::vector<quanMember, std::allocator > >]’
g++ -O3 readotucommand.cpp -c -I. -o ./readotucommand.o
g++ -O3 readdistcommand.cpp -c -I. -o ./readdistcommand.o
readdistcommand.cpp: In member function virtual int ReadDistCommand::execute() ': readdistcommand.cpp:178: warning: initialization toint’ from double' readdistcommand.cpp:178: warning: argument toint’ from double' g++ -O3 commandfactory.cpp -c -I. -o ./commandfactory.o In file included from filterseqscommand.h:14, from commandfactory.cpp:34: filters.h: In member functionvoid Filters::setTrump(float)’:
filters.h:29: warning: assignment to char' fromfloat’
filters.h:29: warning: argument to char' fromfloat’
g++ -O3 alignment.cpp -c -I. -o ./alignment.o
g++ -O3 alignmentcell.cpp -c -I. -o ./alignmentcell.o
g++ -O3 gotohoverlap.cpp -c -I. -o ./gotohoverlap.o
g++ -O3 overlap.cpp -c -I. -o ./overlap.o
g++ -O3 needlemanoverlap.cpp -c -I. -o ./needlemanoverlap.o
g++ -O3 blastalign.cpp -c -I. -o ./blastalign.o
g++ -O3 noalign.cpp -c -I. -o ./noalign.o
g++ -O3 suffixdb.cpp -c -I. -o ./suffixdb.o
g++ -O3 suffixnodes.cpp -c -I. -o ./suffixnodes.o
g++ -O3 suffixtree.cpp -c -I. -o ./suffixtree.o
g++ -O3 blastdb.cpp -c -I. -o ./blastdb.o
g++ -O3 nast.cpp -c -I. -o ./nast.o
g++ -O3 nastreport.cpp -c -I. -o ./nastreport.o
g++ -O3 boneh.cpp -c -I. -o ./boneh.o
boneh.cpp: In member function virtual EstOutput Boneh::getValues(SAbundVector*)': boneh.cpp:47: warning: assignment toint’ from double' boneh.cpp:47: warning: argument toint’ from double' g++ -O3 efron.cpp -c -I. -o ./efron.o efron.cpp: In member functionvirtual EstOutput
Efron::getValues(SAbundVector*)’:
efron.cpp:19: warning: assignment to int' fromdouble’
efron.cpp:19: warning: argument to int' fromdouble’
g++ -O3 solow.cpp -c -I. -o ./solow.o
g++ -O3 unifracweightedcommand.cpp -c -I. -o ./unifracweightedcommand.o
g++ -O3 weighted.cpp -c -I. -o ./weighted.o
g++ -O3 unweighted.cpp -c -I. -o ./unweighted.o
g++ -O3 unifracunweightedcommand.cpp -c -I. -o ./unifracunweightedcommand.o
g++ -O3 getsabundcommand.cpp -c -I. -o ./getsabundcommand.o
g++ -O3 getrabundcommand.cpp -c -I. -o ./getrabundcommand.o
g++ -O3 bellerophon.cpp -c -I. -o ./bellerophon.o
In file included from filterseqscommand.h:14,
from bellerophon.h:15,
from bellerophon.cpp:10:
filters.h: In member function void Filters::setTrump(float)': filters.h:29: warning: assignment tochar’ from float' filters.h:29: warning: argument tochar’ from float' bellerophon.cpp: In member functionvirtual void
Bellerophon::print(std::ostream&)’:
bellerophon.cpp:51: warning: assignment to int' fromdouble’
bellerophon.cpp:51: warning: argument to int' fromdouble’
bellerophon.cpp:53: warning: assignment to int' fromdouble’
bellerophon.cpp:53: warning: argument to int' fromdouble’
bellerophon.cpp:55: warning: assignment to int' fromdouble’
bellerophon.cpp:55: warning: argument to int' fromdouble’
bellerophon.cpp:57: warning: assignment to int' fromdouble’
bellerophon.cpp:57: warning: argument to int' fromdouble’
bellerophon.cpp:59: warning: assignment to int' fromdouble’
bellerophon.cpp:59: warning: argument to int' fromdouble’
g++ -O3 pintail.cpp -c -I. -o ./pintail.o
pintail.cpp: In member function virtual void Pintail::print(std::ostream&)': pintail.cpp:43: warning: initialization toint’ from float' pintail.cpp:43: warning: argument toint’ from float' g++ -O3 sharedanderbergs.cpp -c -I. -o ./sharedanderbergs.o g++ -O3 venncommand.cpp -c -I. -o ./venncommand.o g++ -O3 venn.cpp -c -I. -o ./venn.o g++ -O3 fullmatrix.cpp -c -I. -o ./fullmatrix.o g++ -O3 heatmap.cpp -c -I. -o ./heatmap.o g++ -O3 heatmapcommand.cpp -c -I. -o ./heatmapcommand.o g++ -O3 libshuffcommand.cpp -c -I. -o ./libshuffcommand.o g++ -O3 nocommands.cpp -c -I. -o ./nocommands.o g++ -O3 sharedbraycurtis.cpp -c -I. -o ./sharedbraycurtis.o g++ -O3 sharedkulczynski.cpp -c -I. -o ./sharedkulczynski.o g++ -O3 sharedlennon.cpp -c -I. -o ./sharedlennon.o g++ -O3 sharedkulczynskicody.cpp -c -I. -o ./sharedkulczynskicody.o g++ -O3 sharedmorisitahorn.cpp -c -I. -o ./sharedmorisitahorn.o g++ -O3 sharedochiai.cpp -c -I. -o ./sharedochiai.o g++ -O3 readcolumn.cpp -c -I. -o ./readcolumn.o g++ -O3 readotu.cpp -c -I. -o ./readotu.o g++ -O3 readphylip.cpp -c -I. -o ./readphylip.o g++ -O3 consensuscommand.cpp -c -I. -o ./consensuscommand.o g++ -O3 heatmapsimcommand.cpp -c -I. -o ./heatmapsimcommand.o g++ -O3 heatmapsim.cpp -c -I. -o ./heatmapsim.o heatmapsim.cpp: In member functionvoid
HeatMapSim::getPic(std::vector<SharedRAbundVector*,
std::allocator<SharedRAbundVector*> >, std::vector<Calculator*,
std::allocator<Calculator*> >)’:
heatmapsim.cpp:82: warning: initialization to int' fromdouble’
heatmapsim.cpp:82: warning: argument to int' fromdouble’
g++ -O3 optionparser.cpp -c -I. -o ./optionparser.o
g++ -O3 filterseqscommand.cpp -c -I. -o ./filterseqscommand.o
In file included from filterseqscommand.h:14,
from filterseqscommand.cpp:10:
filters.h: In member function void Filters::setTrump(float)': filters.h:29: warning: assignment tochar’ from float' filters.h:29: warning: argument tochar’ from float' g++ -O3 goodscoverage.cpp -c -I. -o ./goodscoverage.o g++ -O3 sequencedb.cpp -c -I. -o ./sequencedb.o g++ -O3 sharedjackknife.cpp -c -I. -o ./sharedjackknife.o g++ -O3 sharedmarczewski.cpp -c -I. -o ./sharedmarczewski.o g++ -O3 aligncommand.cpp -c -I. -o ./aligncommand.o g++ -O3 treemap.cpp -c -I. -o ./treemap.o g++ -O3 parsimonycommand.cpp -c -I. -o ./parsimonycommand.o parsimonycommand.cpp: In member functionvirtual int
ParsimonyCommand::execute()’:
parsimonycommand.cpp:142: warning: passing double' for argument 1 oftypename
std::_Rb_tree<_Key, std::pair<const _Key, _Tp>,
std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, _Alloc>::iterator
std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Key&) [with _Key = int,
_Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:144: warning: passing double' for argument 1 of_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
int, _Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:145: warning: passing double' for argument 1 of_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
int, _Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:148: warning: passing double' for argument 1 of_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
int, _Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:168: warning: passing double' for argument 1 oftypename
std::_Rb_tree<_Key, std::pair<const _Key, _Tp>,
std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, _Alloc>::iterator
std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Key&) [with _Key = int,
_Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:170: warning: passing double' for argument 1 of_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
int, _Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:172: warning: passing double' for argument 1 of_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
int, _Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:176: warning: passing double' for argument 1 of_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
int, _Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:199: warning: passing double' for argument 1 oftypename
std::_Rb_tree<_Key, std::pair<const _Key, _Tp>,
std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, _Alloc>::iterator
std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Key&) [with _Key = int,
_Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:201: warning: passing double' for argument 1 of_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
int, _Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:203: warning: passing double' for argument 1 of_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
int, _Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:207: warning: passing double' for argument 1 of_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
int, _Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
parsimonycommand.cpp:241: warning: passing float' for argument 1 of_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
int, _Tp = double, _Compare = std::less, _Alloc =
std::allocator<std::pair<const int, double> >]’
g++ -O3 parsimony.cpp -c -I. -o ./parsimony.o
g++ -O3 distancedb.cpp -c -I. -o ./distancedb.o
g++ -O3 seqsummarycommand.cpp -c -I. -o ./seqsummarycommand.o
g++ -O3 chimeraseqscommand.cpp -c -I. -o ./chimeraseqscommand.o
In file included from filterseqscommand.h:14,
from bellerophon.h:15,
from chimeraseqscommand.cpp:11:
filters.h: In member function void Filters::setTrump(float)': filters.h:29: warning: assignment tochar’ from float' filters.h:29: warning: argument tochar’ from float' g++ -O3 sharedlistvector.cpp -c -I. -o ./sharedlistvector.o g++ -O3 tree.cpp -c -I. -o ./tree.o g++ -O3 readtree.cpp -c -I. -o ./readtree.o g++ -O3 sharedsobscollectsummary.cpp -c -I. -o ./sharedsobscollectsummary.o g++ -O3 deconvolutecommand.cpp -c -I. -o ./deconvolutecommand.o g++ -O3 listseqscommand.cpp -c -I. -o ./listseqscommand.o g++ -O3 getseqscommand.cpp -c -I. -o ./getseqscommand.o g++ -O3 removeseqscommand.cpp -c -I. -o ./removeseqscommand.o g++ -O3 systemcommand.cpp -c -I. -o ./systemcommand.o g++ -O3 binsequencecommand.cpp -c -I. -o ./binsequencecommand.o g++ -O3 distancecommand.cpp -c -I. -o ./distancecommand.o g++ -O3 ace.cpp -c -I. -o ./ace.o g++ -O3 averagelinkage.cpp -c -I. -o ./averagelinkage.o g++ -O3 bootstrap.cpp -c -I. -o ./bootstrap.o g++ -O3 calculator.cpp -c -I. -o ./calculator.o g++ -O3 chao1.cpp -c -I. -o ./chao1.o g++ -O3 cluster.cpp -c -I. -o ./cluster.o g++ -O3 clustercommand.cpp -c -I. -o ./clustercommand.o g++ -O3 collect.cpp -c -I. -o ./collect.o g++ -O3 collectcommand.cpp -c -I. -o ./collectcommand.o g++ -O3 collectsharedcommand.cpp -c -I. -o ./collectsharedcommand.o g++ -O3 commandoptionparser.cpp -c -I. -o ./commandoptionparser.o g++ -O3 completelinkage.cpp -c -I. -o ./completelinkage.o g++ -O3 database.cpp -c -I. -o ./database.o g++ -O3 engine.cpp -c -I. -o ./engine.o g++ -O3 fastamap.cpp -c -I. -o ./fastamap.o g++ -O3 fileoutput.cpp -c -I. -o ./fileoutput.o g++ -O3 globaldata.cpp -c -I. -o ./globaldata.o g++ -O3 groupmap.cpp -c -I. -o ./groupmap.o g++ -O3 helpcommand.cpp -c -I. -o ./helpcommand.o g++ -O3 inputdata.cpp -c -I. -o ./inputdata.o g++ -O3 jackknife.cpp -c -I. -o ./jackknife.o g++ -O3 kmer.cpp -c -I. -o ./kmer.o g++ -O3 kmerdb.cpp -c -I. -o ./kmerdb.o g++ -O3 listvector.cpp -c -I. -o ./listvector.o g++ -O3 mothur.cpp -c -I. -o ./mothur.o g++ -O3 nameassignment.cpp -c -I. -o ./nameassignment.o g++ -O3 npshannon.cpp -c -I. -o ./npshannon.o g++ -O3 ordervector.cpp -c -I. -o ./ordervector.o g++ -O3 progress.cpp -c -I. -o ./progress.o g++ -O3 quitcommand.cpp -c -I. -o ./quitcommand.o g++ -O3 rabundvector.cpp -c -I. -o ./rabundvector.o g++ -O3 rarecalc.cpp -c -I. -o ./rarecalc.o g++ -O3 raredisplay.cpp -c -I. -o ./raredisplay.o raredisplay.cpp: In member functionvirtual void
RareDisplay::update(std::vector<SharedRAbundVector*,
std::allocator<SharedRAbundVector*> >, int, int)’:
raredisplay.cpp:70: warning: assignment to int' fromdouble’
raredisplay.cpp:70: warning: argument to int' fromdouble’
raredisplay.cpp:78: warning: passing double' for argument 1 ofvoid
std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = int, _Alloc =
std::allocator]’
g++ -O3 rarefact.cpp -c -I. -o ./rarefact.o
g++ -O3 rarefactcommand.cpp -c -I. -o ./rarefactcommand.o
g++ -O3 rarefactsharedcommand.cpp -c -I. -o ./rarefactsharedcommand.o
g++ -O3 sabundvector.cpp -c -I. -o ./sabundvector.o
g++ -O3 sequence.cpp -c -I. -o ./sequence.o
g++ -O3 shannon.cpp -c -I. -o ./shannon.o
g++ -O3 sharedace.cpp -c -I. -o ./sharedace.o
g++ -O3 sharedchao1.cpp -c -I. -o ./sharedchao1.o
sharedchao1.cpp: In member function void SharedChao1::initialTree(int)': sharedchao1.cpp:104: warning: assignment toint’ from float' sharedchao1.cpp:104: warning: argument toint’ from float' g++ -O3 sharedcommand.cpp -c -I. -o ./sharedcommand.o g++ -O3 sharedjabund.cpp -c -I. -o ./sharedjabund.o g++ -O3 sharedjclass.cpp -c -I. -o ./sharedjclass.o g++ -O3 sharedjest.cpp -c -I. -o ./sharedjest.o g++ -O3 sharedordervector.cpp -c -I. -o ./sharedordervector.o g++ -O3 sharedrabundvector.cpp -c -I. -o ./sharedrabundvector.o g++ -O3 sharedsabundvector.cpp -c -I. -o ./sharedsabundvector.o g++ -O3 sharedsobs.cpp -c -I. -o ./sharedsobs.o g++ -O3 sharedsorabund.cpp -c -I. -o ./sharedsorabund.o g++ -O3 sharedsorclass.cpp -c -I. -o ./sharedsorclass.o g++ -O3 sharedsorest.cpp -c -I. -o ./sharedsorest.o g++ -O3 sharedthetan.cpp -c -I. -o ./sharedthetan.o g++ -O3 sharedthetayc.cpp -c -I. -o ./sharedthetayc.o g++ -O3 simpson.cpp -c -I. -o ./simpson.o g++ -O3 singlelinkage.cpp -c -I. -o ./singlelinkage.o g++ -O3 sparsematrix.cpp -c -I. -o ./sparsematrix.o g++ -O3 summarycommand.cpp -c -I. -o ./summarycommand.o g++ -O3 summarysharedcommand.cpp -c -I. -o ./summarysharedcommand.o g++ -O3 uvest.cpp -c -I. -o ./uvest.o g++ -O3 validcalculator.cpp -c -I. -o ./validcalculator.o g++ -O3 validparameter.cpp -c -I. -o ./validparameter.o g++ -O3 treenode.cpp -c -I. -o ./treenode.o g++ -O3 readtreecommand.cpp -c -I. -o ./readtreecommand.o g++ -O3 reversecommand.cpp -c -I. -o ./reversecommand.o g++ -O3 trimseqscommand.cpp -c -I. -o ./trimseqscommand.o g++ -O3 slibshuff.cpp -c -I. -o ./slibshuff.o g++ -O3 libshuff.cpp -c -I. -o ./libshuff.o g++ -O3 dlibshuff.cpp -c -I. -o ./dlibshuff.o g++ -O3 mergefilecommand.cpp -c -I. -o ./mergefilecommand.o g++ -O3 coverage.cpp -c -I. -o ./coverage.o g++ -O3 whittaker.cpp -c -I. -o ./whittaker.o g++ -O3 getgroupcommand.cpp -c -I. -o ./getgroupcommand.o g++ -O3 getlabelcommand.cpp -c -I. -o ./getlabelcommand.o g++ -O3 getlinecommand.cpp -c -I. -o ./getlinecommand.o g++ -O3 secondarystructurecommand.cpp -c -I. -o ./secondarystructurecommand.o g++ -O3 chimeracheckrdp.cpp -c -I. -o ./chimeracheckrdp.o chimeracheckrdp.cpp: In member functionvoid
ChimeraCheckRDP::makeSVGpic(std::vector<sim, std::allocator >, int)’:
chimeracheckrdp.cpp:370: warning: initialization to int' fromfloat’
chimeracheckrdp.cpp:370: warning: argument to int' fromfloat’
g++ -O3 ccode.cpp -c -I. -o ./ccode.o
g++ -O3 chimeraslayer.cpp -c -I. -o ./chimeraslayer.o
g++ -O3 slayer.cpp -c -I. -o ./slayer.o
slayer.cpp: In member function std::string Slayer::getResults(Sequence*, std::vector<Sequence*, std::allocator<Sequence*> >)': slayer.cpp:50: error: call of overloadedlog(int)’ is ambiguous
/usr/include/bits/mathcalls.h:110: error: candidates are: double log(double)
/usr/include/g++/cmath:419: error: long double std::log(long
double)
/usr/include/g++/cmath:411: error: float std::log(float)
make: *** [slayer.o] Fehler 1


BUT, typing then ./mothur to start the program works neither in the mothur nor the mothur-v.1.6.0 directory. The error is as follows:

bash: ./mothur: Datei oder Verzeichnis nicht gefunden (file or directory not found)


In the mothur-v.1.6.0/ directory there are four mothur files with the following extensions; .o, .cpp, h., and .logFile.

Is there the executable file missing?!?

I hope you can help me.

A big THANKS in advance :slight_smile:

Best regards,

Tim

This is a bug. Thanks for reporting it. The problem lies here:

slayer.cpp: In member function std::string Slayer::getResults(Sequence*, std::vector<Sequence*, std::allocator<Sequence*> >)': slayer.cpp:50: error: call of overloadedlog(int)’ is ambiguous
/usr/include/bits/mathcalls.h:110: error: candidates are: double log(double)
/usr/include/g++/cmath:419: error: long double std::log(long
double)
/usr/include/g++/cmath:411: error: float std::log(float)
make: *** [slayer.o] Fehler 1

in the slayer.cpp file line 50 log(2) should be log(2.0) to comply with the type required by cmath. Because of the error mothur.exe was never made that’s why it can’t be found. We will make the change in 1.7, but for now to get yourself going make the change to slayer.cpp and then try the make again. Thanks again for bringing this bug to our attention!