text: user943: I am trying to install bowtie2 aligner from sources without the root access.
  Bowtie2 needs tbb package to be installed and it is recommended to install oneTBB.
  # install one TBB
  mkdir -p SHOME/soft
  cd $HOME/soft
  git clone https://github.com/oneapi-src/oneTBB.git
  cd oneTBB
  make
  
  Then I add C_INCLUDE_PATH to .bashrc:
  echo "export C_INCLUDE_PATH=$HOME/soft/oneTBB/include" >> ~./bashrc
  
  and continue to install bowtie2:
  # install bowtie2
  mkdir -p $HOME/soft/bowtie/source
  cd $HOME/soft/bowtie/source
  wget https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.4.1/bowtie2-2.4.1-source.zip
  unzip bowtie2-2.4.1-source.zip -d ..
  cd ../bowtie2-2.4.1
  make
  
  TBB library is recognized but in the end I get this error:
  /usr/bin/ld: cannot find -ltbb
  /usr/bin/ld: cannot find -ltbbmalloc_proxy
  collect2: error: ld returned 1 exit status
  
  ltbb and ltbballoc_proxy are not in TBB but libtbb and libtbballoc_proxy instead.
  I also tryed to add variables to .bashrc:
  TBB_LIB_PATH=$HOME/soft/oneTBB
  TBB_INCLUDE_PATH=$HOME/soft/oneTBB/include
  TBB_RELEASE_DIR=$HOME/soft/oneTBB/build/home/suvar/apps/oneTBB/build/linux_intel64_gcc_cc9.3.0_libc2.31_kernel5.4.0_release
  
  but seems it does not help.
  I need help to complete the installation of bowtie2 on our server.
  
  user4980: You need to give the path to the source files for the compiler and the full path to the compiled libraries (all parent directories included) for the linker.  You also need to use either CPATH or CPLUS_INCLUDE_PATH instead of C_INCLUDE_PATH to point to the oneTBB source, since bowtie2 is C++ and C_INCLUDE_PATH will only have an effect for C (see Environment Variables Affecting GCC in the GCC documentation for more info.)
  For example like this, inside bowtie2-2.4.1, without making any lasting changes to the shell's setup in this case:
  $ ONETBB=$HOME/soft/oneTBB
  $ export LIBRARY_PATH=$ONETBB/build/linux_intel64_gcc_cc5.4.0_libc2.23_kernel4.4.0_release
  $ export LD_LIBRARY_PATH=$LIBRARY_PATH
  $ export CPATH=$ONETBB/include
  $ make
  
  After it's built you'll still need the library path to oneTBB defined (via LD_LIBRARY_PATH) so bowtie2 can find it at run-time.
  But if you don't have a specific reason to compile from source I'd recommend avoiding it.  You could go with what h.mon suggested and use an existing binary, or use a package manger to install it like zorbax suggested.  Conda has a package for bowtie2 in the bioconda channel, up through and beyond version 2.4.1, and you can use that as a package manager without root access.
  
original_text: 943: <p>I am trying to install bowtie2 aligner from sources without the root access.
  Bowtie2 needs tbb package to be installed and it is recommended to install oneTBB.</p>
  <pre><code># install one TBB
  mkdir -p SHOME/soft
  cd $HOME/soft
  git clone https://github.com/oneapi-src/oneTBB.git
  cd oneTBB
  make
  </code></pre>
  <p>Then I add C_INCLUDE_PATH to .bashrc:</p>
  <pre><code>echo &quot;export C_INCLUDE_PATH=$HOME/soft/oneTBB/include&quot; &gt;&gt; ~./bashrc
  </code></pre>
  <p>and continue to install bowtie2:</p>
  <pre><code># install bowtie2
  mkdir -p $HOME/soft/bowtie/source
  cd $HOME/soft/bowtie/source
  wget https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.4.1/bowtie2-2.4.1-source.zip
  unzip bowtie2-2.4.1-source.zip -d ..
  cd ../bowtie2-2.4.1
  make
  </code></pre>
  <p>TBB library is recognized but in the end I get this error:</p>
  <pre><code>/usr/bin/ld: cannot find -ltbb
  /usr/bin/ld: cannot find -ltbbmalloc_proxy
  collect2: error: ld returned 1 exit status
  </code></pre>
  <p>ltbb and ltbballoc_proxy are not in TBB but libtbb and libtbballoc_proxy instead.
  I also tryed to add variables to .bashrc:</p>
  <pre><code>TBB_LIB_PATH=$HOME/soft/oneTBB
  TBB_INCLUDE_PATH=$HOME/soft/oneTBB/include
  TBB_RELEASE_DIR=$HOME/soft/oneTBB/build/home/suvar/apps/oneTBB/build/linux_intel64_gcc_cc9.3.0_libc2.31_kernel5.4.0_release
  </code></pre>
  <p>but seems it does not help.</p>
  <p>I need help to complete the installation of bowtie2 on our server.</p>
   4980: <p>You need to give the path to the source files for the compiler <em>and</em> the full path to the compiled libraries (all parent directories included) for the linker.  You also need to use either CPATH or CPLUS_INCLUDE_PATH instead of C_INCLUDE_PATH to point to the oneTBB source, since bowtie2 is C++ and C_INCLUDE_PATH will only have an effect for C (see <a href="http://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html" rel="nofollow noreferrer">Environment Variables Affecting GCC</a> in the GCC documentation for more info.)</p>
  <p>For example like this, inside bowtie2-2.4.1, without making any lasting changes to the shell's setup in this case:</p>
  <pre><code><span class="math-container">$ ONETBB=$</span>HOME/soft/oneTBB
  <span class="math-container">$ export LIBRARY_PATH=$</span>ONETBB/build/linux_intel64_gcc_cc5.4.0_libc2.23_kernel4.4.0_release
  <span class="math-container">$ export LD_LIBRARY_PATH=$</span>LIBRARY_PATH
  <span class="math-container">$ export CPATH=$</span>ONETBB/include
  $ make
  </code></pre>
  <p>After it's built you'll still need the library path to oneTBB defined (via LD_LIBRARY_PATH) so bowtie2 can find it at run-time.</p>
  <p><strong>But if you don't have a specific reason to compile from source I'd recommend avoiding it.</strong>  You could go with what h.mon suggested and use an existing binary, or use a package manger to install it like zorbax suggested.  <a href="https://conda.io/" rel="nofollow noreferrer">Conda</a> has <a href="https://anaconda.org/bioconda/bowtie2" rel="nofollow noreferrer">a package for bowtie2 in the bioconda channel</a>, up through and beyond version 2.4.1, and you can use that as a package manager without root access.</p>
  