stxmjh / interproscan

Automatically exported from code.google.com/p/interproscan
0 stars 0 forks source link

[interhelp #24091] libmysqlclient.so.16: cannot open shared object file: No such file or directory #44

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Hi team,

It looks like interproscan can't find this .so file while it's actually on my 
system, located here:

[04:02] ~/interproscan/src/interproscan-5.4-47.0 ⇒ locate libmysqlclient.so.16
/usr/lib64/mysql/libmysqlclient.so.16

Can you please let me know how to fix this ?

Thanks
Seb

More details:

What steps will reproduce the problem?
1. execute interproscan.sh not in cluster mode.
2. input is a DNA file
3. --goterms and --iprlookup activated

What is the expected output? What do you see instead?
interproscan results I suppose.

Error output from binary:
bin/nucleotide/getorf: error while loading shared libraries: 
libmysqlclient.so.16: cannot open shared object file: No such file or directory

What version of the product are you using? On what operating system?
v5.4-47 on a debian

Please provide any additional information below.

Command line:
./interproscan.sh -d ~/interproscan/output/ -f tsv --goterms --iprlookup -t n 
-i chunk_10.fa

Output:
23/07/2014 03:32:26:769 Welcome to InterProScan-5.4-47.0
23/07/2014 03:32:38:496 Running the following analyses:
[jobTIGRFAM-13.0, jobProDom-2006.1, jobPIRSF-2.84, jobPfamA-27.0, 
jobPrositeProfiles-20.97, jobSMART-6.2, jobHAMAP-201311.27, 
jobPrositePatterns-20.97, jobPRINTS-42.0, jobSuperFamily-1.75, jobCoils-2.2, 
jobGene3d-3.5.0]
23/07/2014 03:32:38:527 Running InterProScan v5 in STANDALONE mode...
2014-07-23 03:32:45,160 
[uk.ac.ebi.interpro.scan.management.model.implementations.RunBinaryStep:146] 
ERROR - Command line failed with exit code: 127
Command: bin/nucleotide/getorf -sf pearson -sequence 
~/interproscan/src/interproscan-5.4-47.0/chunk_10.fa -outseq 
~/interproscan/src/interproscan-5.4-47.0/temp/XXXXXX/jobLoadNucleicAcidSequence/
orfs.fasta -minsize 50
Error output from binary:
bin/nucleotide/getorf: error while loading shared libraries: 
libmysqlclient.so.16: cannot open shared object file: No such file or directory

2014-07-23 03:32:45,164 
[uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener:193] ERROR - 
Execution thrown when attempting to executeInTransaction the StepExecution.  
All database activity rolled back.
java.lang.IllegalStateException: Command line failed with exit code: 127
Command: bin/nucleotide/getorf -sf pearson -sequence 
~/interproscan/src/interproscan-5.4-47.0/chunk_10.fa -outseq 
~/interproscan/src/interproscan-5.4-47.0/temp/XXXXXX/jobLoadNucleicAcidSequence/
orfs.fasta -minsize 50
Error output from binary:
bin/nucleotide/getorf: error while loading shared libraries: 
libmysqlclient.so.16: cannot open shared object file: No such file or directory

        at uk.ac.ebi.interpro.scan.management.model.implementations.RunBinaryStep.execute(RunBinaryStep.java:148)
        at uk.ac.ebi.interpro.scan.jms.activemq.StepExecutionTransactionImpl.executeInTransaction(StepExecutionTransactionImpl.java:86)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at $Proxy94.executeInTransaction(Unknown Source)
        at uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener.onMessage(LocalJobQueueListener.java:181)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:326)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:264)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1071)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1063)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:960)
        at java.lang.Thread.run(Thread.java:662)

Original issue reported on code.google.com by sebri...@gmail.com on 23 Jul 2014 at 8:13

GoogleCodeExporter commented 9 years ago
this won't work either (using the distribution test file):

./interproscan.sh -i test_nt_seqs.fasta -f tsv --goterms --iprlookup -t n -o 
test_nt_seqs.tsv

Seb

Original comment by sebri...@gmail.com on 23 Jul 2014 at 8:22

GoogleCodeExporter commented 9 years ago

Original comment by Maxim.Sc...@gmail.com on 28 Jul 2014 at 1:19

GoogleCodeExporter commented 9 years ago
In my case, this solved the issue:

locate libmysqlclient
..
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.18
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18.0.0
..

cd /usr/lib/x86_64-linux-gnu/
sudo ln -s libmysqlclient.so.18 libmysqlclient.so.16

then I got similar errors for libssl.so.10 and libcrypto.so.10 and repeated the 
procedure by linking these to slightly older versions which I had in the same 
/usr/lib/x86_64-linux-gnu/ folder. 

Original comment by heikki.s...@gmail.com on 30 Jul 2014 at 12:01

GoogleCodeExporter commented 9 years ago
Thanks for sharing that with the community.
Best,
Maxim

Original comment by Maxim.Sc...@gmail.com on 30 Jul 2014 at 12:55

GoogleCodeExporter commented 9 years ago
Hi Maxim,

thanks for helping on this. Sorry to bother you again with this, but your fix 
doesn't work here.

locate libmysqlclient
..
/usr/lib64/mysql/libmysqlclient.so.15
/usr/lib64/mysql/libmysqlclient.so.15.0.0
/usr/lib64/mysql/libmysqlclient.so.18
/usr/lib64/mysql/libmysqlclient.so.18.0.0
/usr/lib64/mysql/libmysqlclient_r.so.15
/usr/lib64/mysql/libmysqlclient_r.so.15.0.0
..

sudo ln -s /usr/lib64/mysql/libmysqlclient.so.18 
/usr/lib64/mysql/libmysqlclient.so.16
ls -l /usr/lib64/mysql
-rwxr-xr-x 1 root root 1517784 Feb 19  2011 libmysqlclient_r.so.15.0.0
lrwxrwxrwx 1 root root      24 Sep 17  2012 libmysqlclient.so.15 -> 
libmysqlclient.so.15.0.0
-rwxr-xr-x 1 root root 1507344 Feb 19  2011 libmysqlclient.so.15.0.0
lrwxrwxrwx 1 root root      37 Aug  1 03:21 libmysqlclient.so.16 -> 
/usr/lib64/mysql/libmysqlclient.so.18
lrwxrwxrwx 1 root root      24 Sep 17  2012 libmysqlclient.so.18 -> 
libmysqlclient.so.18.0.0
-rwxr-xr-x 1 root root 3119920 Aug 15  2012 libmysqlclient.so.18.0.0

Same error:
bin/nucleotide/getorf: error while loading shared libraries: 
libmysqlclient.so.16: cannot open shared object file: No such file or directory

Can you please let me know where iprscan is expecting that file ?

One more point on this:
Lucky me, I'm in the sudoer file on that specific server. However, my final 
goal is to use the cluster mode (SGE) on a grid where I don't have any 
permissions for modifying the nodes libs.

Would it be possible for you to add a parameter in the properties file that 
allows us to specify MYSQL_LIB=PATH for example ?

Actually, would it be possible to have a version of iprscan that can locate and 
use those .so files by itself ? That would be very convenient for us that are 
not sudoers on every node/server.

Thanks,
Seb

Original comment by sebri...@gmail.com on 1 Aug 2014 at 7:43

GoogleCodeExporter commented 9 years ago
Hi Seb,

Please note, if the provided EMBOSS getorf binary doesn't work, you could 
always use your local one. Check if there is already one installed on your 
cluster. If not you would have to ask your system administrator to 
compile/install the same getorf version as in InterProScan, which you could 
then use by changing the path in your properties file:
binary.getorf.path=???

There is a section about compiling binaries in our documentation, which you 
will find here:
http://code.google.com/p/interproscan/wiki/CompilingBinaries#

In theory you don't need to use InterProScan's ORF prediction functionality. 
You could also use your own tools first and feed InterProScan with protein 
sequences later on.

Best,
Maxim

Original comment by Maxim.Sc...@gmail.com on 1 Aug 2014 at 8:07

GoogleCodeExporter commented 9 years ago
Hi Maxim,

that's exactly what I figured out after my previous message, and this fixed the 
issue indeed!

Thanks for your help!
Seb

Original comment by sebri...@gmail.com on 1 Aug 2014 at 8:44

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago

Original comment by Maxim.Sc...@gmail.com on 4 Aug 2014 at 8:30