Entering edit mode
4.1 years ago
ek699
▴
10
Hi I've just installed "bedtools" under the directory, /home/id/, in cluster system by doing:
wget https://github.com/arq5x/bedtools2/releases/download/v2.29.2/bedtools.static.binary
mv bedtools.static.binary bedtools
chmod a+x bedtools
And also add the path by doing:
export PATH=$PATH:/home/id
And try to run a simple bedtools command below to check if the installation works properly:
cat chr119XYM.bam | bedtools bamtobed | head -1
Then, it gives me error " FATAL: kernel too old "
I tried to install different versions of bedtools just in case the recent version occurs the error, but the different version of bedtools gave me different errors after installation..
Could you please help me how to make bedtools command work? I really do appreciate it. Thank you.
What OS are you using? What is the output of
uname -a
?I am using a cluster system. The output of uname -a is: Linux d1.univname.edu 2.6.32-754.10.1.el6.x86_64 #1 SMP Tue Jan 15 17:07:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
That's it literally: the kernel on your cluster is too old for this binary. I just repeated your sequence of commands on my local cluster which is even older than the one you are using (
2.6.32-431.29.2.el6.x86_64
), and the result was identical.Have you tried compiling from the repository? It went smoothly on my cluster.
Thanks so much for your trial. I did try compiling from the repository following:
But when I type "make" I got error:
This is why I tried to use the binary file... Could you please advise me how to proceed from this error?
If your cluster has modules that can be added to adjust your environment, you probably already have a newer GCC. Type
module avail
to see if there are any modules to be added. If so, look for newer GCC and CMake, and you may need to add matchingbinutils
as well. For my cluster setup that looks something like this:You can type
initadd
instead ofadd
in your commands if you want to make the change permanent. Don't worry if you don't have exactly GCC 6.4. It is likely that any GCC version 5 and above would work.I really do appreciate the details.. when I typed "module avail" it says "command not found." Is there any other way I can look for it? Or did I type it wrong?
If it says
command not found
then your cluster probably does not usemodules
software system for management of software versions.While you could look around and see if newer GCC compilers are available, you may want to contact your sys admins about this. They can either help you compile the program or let you know where newer GCC compilers are located.
module avail
is not a standard command - I just suggested it in case we had similar clusters. Ask your cluster IT support about the possibility of adding newer GCC. They may be willing to compile it for you, because it is absolutely trivial to do it with a recent version of GCC. Just show them the 4 commands you pasted above when you tried compiling, because it definitely works with a proper compiler.See this thread for some answers. Look to see if you have newer GCC compiler available. Try using that instead.