[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help needed to update to latest fastqc




On 08/12/2015 08:43 PM, Tim Booth wrote:
> Hi,
>
> After a fair amount of struggling I conclude that I do not have all the
> code required to build this thing from source.
>
> The distribution of JHDF5 from
> https://wiki-bsse.ethz.ch/pages/viewpage.action?pageId=26609113
> contains some Java source code and a bunch of pre-compiled JNI shared
> libs, eg.:
>
> sis-jhdf5/lib/native/jhdf5/amd64-Linux/libjhdf5.so
>
> The source for this file is not to be found anywhere that I can see it.
> One might assume (and the FAQ implies) that the file is equivalent
> to /usr/lib/jni/libjhdf5.so provided by the exiting package libjhdf5-jni
> but it isn't!  Inspecting it with readelf shows it is full of symbols in
> the ETH SIS namespace:
>
> tbooth@balisaur[sis-jhdf5] readelf -sW ./sis-jhdf5/lib/native/jhdf5/amd64-Linux/libjhdf5.so | grep ch_systemsx | head
>     19: 0000000000039a40    58 FUNC    GLOBAL DEFAULT   10 Java_ch_systemsx_cisd_hdf5_hdf5lib_H5_H5Scopy
>     31: 000000000002e930   181 FUNC    GLOBAL DEFAULT   10 Java_ch_systemsx_cisd_hdf5_hdf5lib_H5_H5Dchdir_1ext
>     35: 000000000003b590   918 FUNC    GLOBAL DEFAULT   10 Java_ch_systemsx_cisd_hdf5_hdf5lib_H5_H5Sget_1select_1bounds
>     40: 00000000000387f0    45 FUNC    GLOBAL DEFAULT   10 Java_ch_systemsx_cisd_hdf5_hdf5lib_H5_H5Pcreate_1xfer_1abort
>     41: 0000000000038820    66 FUNC    GLOBAL DEFAULT   10 Java_ch_systemsx_cisd_hdf5_hdf5lib_H5_H5Pget_1char_1encoding
>     46: 0000000000034500   203 FUNC    GLOBAL DEFAULT   10 Java_ch_systemsx_cisd_hdf5_hdf5lib_H5_H5Oopen
>     47: 0000000000034ae0   363 FUNC    GLOBAL DEFAULT   10 Java_ch_systemsx_cisd_hdf5_hdf5lib_H5_H5Pget_1version
>     52: 0000000000035210    66 FUNC    GLOBAL DEFAULT   10 Java_ch_systemsx_cisd_hdf5_hdf5lib_H5_H5Pset_1layout
>     65: 000000000003c560   126 FUNC    GLOBAL DEFAULT   10 Java_ch_systemsx_cisd_hdf5_hdf5lib_H5_H5Tget_1member_1name
>     68: 0000000000032da0    58 FUNC    GLOBAL DEFAULT   10 Java_ch_systemsx_cisd_hdf5_hdf5lib_H5_H5Idec_1ref
> ...and many more...
>
> So, this .so file is definitely specific to this library.  It seems to
> be a superset of a fork of the upstream NCSA code.  The only contact
> details I can find for the library are for Dr. Bernd Rinn who is the
> head of the whole division, but I shall contact him personally and see
> if he can pass the query on.
I will have a look on my side. I think that I found some code some times
ago, but this packaging is definitly quite hard.
could you make what you made available (sis-hdf5, sis-base etc.) so that
I avoid losing time doing the same thing to test compilation.

Olivier
>
> If Bernd can't help, then unless I've missed a trick we will have to
> consider that this library and anything that depends on it (eg FastQC)
> are not fully open source :-(
>
> Cheers,
>
> TIM
>
> On Wed, 2015-08-12 at 15:00 +0200, Andreas Tille wrote:
>> Hi Tim,
>>
>> from my *very* naive point of view your considerations make sense.
>> Olivier might have some more educated opinion (and perhaps some code?).
>>
>> I'll be available vor sponsering as usual.
>>
>> Thanks for your work on this
>>
>>      Andreas.
>>
>> On Wed, Aug 12, 2015 at 11:44:19AM +0100, Tim Booth wrote:
>>> Hi Andreas and Olivier,
>>>
>>> I'm going to have a crack at the FastQC update.  I've been poking at the
>>> HDF5 packages and here are my conclusions so far:
>>>
>>> ---
>>>
>>> We have 2 Free Java libraries for HDF5:
>>>
>>> 1) The "NCSA" lib distributed by hdfgroup.org with classes in namespace
>>> ncsa.hdf.hdf5lib, packaged on Debian as libjhdf5-java.
>>>
>>> 2) The "CISD" aka. "SIS" lib distributed by ethz.ch with classes in the
>>> namespace ch.systemsx, not currently packaged on Debian.
>>>
>>> The SIS library forks some Java code from the ncsa.hdf namespace, and
>>> also needs to link against the NCSA native library (via JNI) at runtime.
>>>
>>> So, trying to package sis-jhdf5:
>>>
>>> wget
>>> 'https://wiki-bsse.ethz.ch/download/attachments/26609237/sis-jhdf5-14.12.1-r33502.zip?version=1&modificationDate=1424599261225&api=v2'
>>> # The source is in a zip within the zip...
>>> unzip sis-*
>>> mkdir sis-jhdf5-14.12.1
>>> cd !$
>>> unzip ../sis-jhdf5/src/sis-jhdf5-src.zip
>>>
>>> For compilation to succeed, we also need sis-base, not to be confused
>>> with the entirely separate project at sis.apache.org!
>>>
>>> wget
>>> http://bs-svn01.ethz.ch/repos/cisd/libraries/trunk/sis-base/sis-base-src.zip
>>>
>>> The code also depends on their own args4j library, but only for the CLI
>>> under ch/systemsx/cisd/hdf5/h5ar/HDF5ArchiverMain.java which we can
>>> simply leave out just now.
>>>
>>> So - can we exclude the ncsa.hdf.hdf5lib.* classes from sis-jhdf5 and
>>> compile it against the existing classes in /usr/share/java/jhdf5.jar?
>>> My conclusion is not, because...
>>>
>>> The version of ncsa/hdf/hdf5lib/exceptions/HDF5Exception.java supplied
>>> with the sis-jhdf5 code subclasses RuntimeException but the version in
>>> libhdf5-java does not.  The result is that the code here does not need
>>> to declare the exceptions being thrown, and thus simply ignores them
>>> all.  One can go through and add all "throws" declarations (there are a
>>> _lot_ of them!!), but then any client code using the library will also
>>> break unless it is likewise patched or the code is modified to handle
>>> the exceptions internally. I think we'd best just admit defeat here and
>>> use the code supplied with sis-jhdf5.
>>>
>>> So, I'm going to try rolling two new packages, and see if that allows me
>>> to compile the latest FastQC:
>>>
>>> libsis-base-java (should be simple)
>>> libsis-jhdf5-java (depends on libsis-base-java + existing libjhdf5-jni)
>>>
>>> I'll report back on progress and commit to SVN as usual.  Let me know if
>>> you think I'm missing something.
>>>
>>> Cheers,
>>>
>>> TIM
>>>
>>>
>>> On Thu, 2015-06-25 at 09:37 +0200, Andreas Tille wrote:
>>>> Hi Olivier,
>>>>
>>>> any news about this hdf5lib packaging?
>>>>
>>>> Kind regards
>>>>
>>>>      Andreas.
>>>>
>>>> On Tue, May 05, 2015 at 09:25:23AM +0200, Olivier Sallou wrote:
>>>>>
>>>>> On 05/04/2015 10:52 PM, Andreas Tille wrote:
>>>>>> Hi Olivier,
>>>>>>
>>>>>> On Mon, May 04, 2015 at 06:41:10PM +0200, Olivier Sallou wrote:
>>>>>>> File fastqc/uk/ac/babraham/FastQC/Sequence/Fast5File.java imports
>>>>>>> HDFS5Factory from ch.systemsx.cisd.hdf5
>>>>>>>
>>>>>>> but jhdf5.jar only contains files like:  ncsa/hdf/hdf5lib/... and no
>>>>>>> HDF5Factory
>>>>>>>
>>>>>>> this jhdf5 is not the correctl lib (or an other one is needed).
>>>>>> I guess its this one:
>>>>>>
>>>>>>     https://svncisd.ethz.ch/doc/hdf5/hdf5-8.10/ch/systemsx/cisd/hdf5/package-summary.html
>>>>> seems that original code source is the same
>>>>> (https://svncisd.ethz.ch/repos/cisd/jhdf5/trunk/source/java/)
>>>>> (/ncsa/...) but that /ch/...  has not been included for a reason
>>>>>>  
>>>>>>> In addition, in debian/patches/build.xml is missing commons-math3.jar to
>>>>>>> be added in pathelement for classpath.
>>>>>>>
>>>>>>> for duplicate classes, I don't yet, but hdf5 first need to be resolved.
>>>>>> If I do not hear from you I'll try the URL above tomorrow (if nobody
>>>>>> else might beat me which would for sure welcome as always).
>>>>>>
>>>>>> Kind regards
>>>>>>
>>>>>>       Andreas.
>>>>>>
>>>>> -- 
>>>>> Olivier Sallou
>>>>> IRISA / University of Rennes 1
>>>>> Campus de Beaulieu, 35000 RENNES - FRANCE
>>>>> Tel: 02.99.84.71.95
>>>>>
>>>>> gpg key id: 4096R/326D8438  (keyring.debian.org)
>>>>> Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438
>>>>>
>>>>>
>>>>> -- 
>>>>> To UNSUBSCRIBE, email to debian-med-REQUEST@lists.debian.org
>>>>> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>>>>> Archive: https://lists.debian.org/55487063.1090804@irisa.fr
>>>>>
>>>>>
>>>> -- 
>>>> http://fam-tille.de
>>>>
>>>>
>>> -- 
>>> Nothing is inherently mysterious - nothing that actually exists, that
>>> is.  If I am ignorant about a phenomenon, that is a fact about my state
>>> of mind, not a fact about the phenomenon; to worship a phenomenon
>>> because it seems so wonderfully mysterious, is to worship your own
>>> ignorance.
>>>
>>>   - Eliezer Yudkowsky
>>>
>>>
>
> -- 
> gpg key id: 4096R/326D8438  (keyring.debian.org)
> Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438


Reply to: