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 to int’ from double' readdistcommand.cpp:178: warning: argument to int’ 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 function void Filters::setTrump(float)‘:
filters.h:29: warning: assignment to char' from float’
filters.h:29: warning: argument to char' from float’
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 to int’ from double' boneh.cpp:47: warning: argument to int’ from double' g++ -O3 efron.cpp -c -I. -o ./efron.o efron.cpp: In member function virtual EstOutput
Efron::getValues(SAbundVector*)‘:
efron.cpp:19: warning: assignment to int' from double’
efron.cpp:19: warning: argument to int' from double’
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 to char’ from float' filters.h:29: warning: argument to char’ from float' bellerophon.cpp: In member function virtual void
Bellerophon::print(std::ostream&)‘:
bellerophon.cpp:51: warning: assignment to int' from double’
bellerophon.cpp:51: warning: argument to int' from double’
bellerophon.cpp:53: warning: assignment to int' from double’
bellerophon.cpp:53: warning: argument to int' from double’
bellerophon.cpp:55: warning: assignment to int' from double’
bellerophon.cpp:55: warning: argument to int' from double’
bellerophon.cpp:57: warning: assignment to int' from double’
bellerophon.cpp:57: warning: argument to int' from double’
bellerophon.cpp:59: warning: assignment to int' from double’
bellerophon.cpp:59: warning: argument to int' from double’
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 to int’ from float' pintail.cpp:43: warning: argument to int’ 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 function void
HeatMapSim::getPic(std::vector<SharedRAbundVector*,
std::allocator<SharedRAbundVector*> >, std::vector<Calculator*,
std::allocator<Calculator*> >)‘:
heatmapsim.cpp:82: warning: initialization to int' from double’
heatmapsim.cpp:82: warning: argument to int' from double’
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 to char’ from float' filters.h:29: warning: argument to char’ 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 function virtual int
ParsimonyCommand::execute()‘:
parsimonycommand.cpp:142: warning: passing double' for argument 1 of typename
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 of typename
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 of typename
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 to char’ from float' filters.h:29: warning: argument to char’ 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 function virtual void
RareDisplay::update(std::vector<SharedRAbundVector*,
std::allocator<SharedRAbundVector*> >, int, int)‘:
raredisplay.cpp:70: warning: assignment to int' from double’
raredisplay.cpp:70: warning: argument to int' from double’
raredisplay.cpp:78: warning: passing double' for argument 1 of void
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 to int’ from float' sharedchao1.cpp:104: warning: argument to int’ 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 function void
ChimeraCheckRDP::makeSVGpic(std::vector<sim, std::allocator >, int)‘:
chimeracheckrdp.cpp:370: warning: initialization to int' from float’
chimeracheckrdp.cpp:370: warning: argument to int' from float’
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 overloaded log(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!