usadellab / Trimmomatic

Other
214 stars 70 forks source link

libzip incompatibility issue #11

Closed scottkall closed 3 years ago

scottkall commented 3 years ago

Hi! Noticed this and didn't find other answers (only questions) on the web similar to it, and none connected to Trimmomatic. Currently getting this error with Trimmomatic 0.39 on Ubuntu 18.04.5 LTS, two different computers.

➜ trimmomatic --help  # or any other command
Error occurred during initialization of VM
Corrupted ZIP library: /opt/install/conda/lib/libzip.so

On these computers, here is the libzip:

➜ ls -l /opt/install/conda/lib/libzip.so
lrwxrwxrwx 1 user user 13 Jul  2 19:04 /opt/install/conda/lib/libzip.so -> libzip.so.5.4
➜ ls -l /opt/install/conda/lib/libzip.so.5.4
-rwxrwxr-x 2 user user 141384 Jun 18 21:15 /opt/install/conda/lib/libzip.so.5.4

And trimmomatic still works for me with this version of libzip:

-rw-rw-r-- 2 user user 43312 May 10  2019 /opt/install/conda/lib/libzip.so

Running conda update libzip fixed this, but it upgraded, downgraded, removed, added, and superseded over 100 packages to do so.

TonyBolger commented 3 years ago

This seems to be an issue between the java VM install on your machine and the particular version of libzip it is trying to use - it's not directly related to trimmomatic. Normally the java VM includes a libzip of its own, so this problem is fairly rare.

Anyway, the error message happens when the java VM doesn't get the library entry point it needs for working with jar files - depending on the java version, 4 - 6 different entry points are required (ZIP_Open, ZIP_FindEntry, ZIP_ReadEntry, ZIP_GetNextEntry are always needed, ZIP_CRC32 can also be, and ZIP_InflateFully as well, but it will give a different error).

You can see the relevant entries with: nm -g /libzip.so | grep ZIP_

For example, i see:

0000000000005f10 T ZIP_Close 0000000000002c20 T ZIP_CRC32 0000000000006660 T ZIP_FindEntry 0000000000006180 T ZIP_GetEntry 00000000000061c0 T ZIP_GetNextEntry 0000000000005aa0 T ZIP_Lock 0000000000005ec0 T ZIP_Open 0000000000006320 T ZIP_Read 00000000000066b0 T ZIP_ReadEntry 0000000000005ab0 T ZIP_Unlock