Hi Pranav, I admit its even worse for me. :-(
On Tue, Jun 30, 2020 at 12:03:22PM +0530, Pranav Ballaney wrote: > Hi, > I was trying to add autopkgtests to bbmap [1] but I'm having some trouble > getting it to work. > Here is the command I'm trying to run along with the output (and I've > attached the input file with this email). > > > bbduk.sh in=SRR1753664_1.min.fastq out=clean1.fq Please somehow commit your input files. I simply tried: bbduk.sh in=something out=anything > /usr/bin/bbduk.sh: line 348: /usr/share/bbmap/calcmem: No such file or > directory > /usr/bin/bbduk.sh: line 349: setEnvironment: command not found > /usr/bin/bbduk.sh: line 350: parseXmx: command not found > /usr/bin/bbduk.sh: line 354: freeRam: command not found > java -Xmxm -Xmsm -cp /usr/share/java/bbmap.jar jgi.BBDuk > in=SRR1753664_1.min.fastq out=clean1.fq > Invalid maximum heap size: -Xmxm > Error: Could not create the Java Virtual Machine. > Error: A fatal exception has occurred. Program will exit. > > It says that it couldn't find calcmem, which is probably because in > d/rules, line 30 is commented out. > > # cp -a calcmem.sh $(PKGSHAREDIR)/calcmem # we don't have any name > space collision when keeping .sh extension > > After uncommenting this and building, this error goes away, Yep. I commited this. Always feel free to push your local changes if you find some enhancement. > but I get the > following error: > > > bbduk.sh in=SRR1753664_1.min.fastq out=clean1.fq > java -ea -Xmx1110m -Xms1110m -cp /usr/share/java/bbmap.jar jgi.BBDuk > in=SRR1753664_1.min.fastq out=clean1.fq > Executing jgi.BBDuk [in=SRR1753664_1.min.fastq, out=clean1.fq] > Version 38.84 > > Warning! Cannot find primes.txt.gz > /home/pranav/code/debian-med/bbmap/SRR1753664/file:/usr/share/java/bbmap.jar!/primes.txt.gz > java.lang.Exception > at dna.Data.findPath(Data.java:1246) > at dna.Data.findPath(Data.java:1193) > at shared.Primes.fetchPrimes(Primes.java:167) > at shared.Primes.<clinit>(Primes.java:177) > at kmer.ScheduleMaker.<clinit>(ScheduleMaker.java:155) > at jgi.BBDuk.<init>(BBDuk.java:984) > at jgi.BBDuk.main(BBDuk.java:77) > Exception in thread "main" java.lang.ExceptionInInitializerError > at kmer.ScheduleMaker.<clinit>(ScheduleMaker.java:155) > at jgi.BBDuk.<init>(BBDuk.java:984) > at jgi.BBDuk.main(BBDuk.java:77) > Caused by: java.lang.NullPointerException > at fileIO.ByteFile.<init>(ByteFile.java:43) > at fileIO.ByteFile1.<init>(ByteFile1.java:98) > at fileIO.ByteFile1.<init>(ByteFile1.java:94) > at shared.Primes.fetchPrimes(Primes.java:169) > at shared.Primes.<clinit>(Primes.java:177) > ... 3 more > > > I tried running the same command using the upstream package, and it works > fine, so it's certainly some issue with the packaging here. > > It appears to have something to do with line 33 in d/rules, where the path > is being replaced from ".DIR""current/" to the jar file. > I've never worked with .jar files or Java in general, so I don't know what > the exclamation mark means here: bbmap.jar!/primes.txt.gz > Is it trying to find primes.txt.gz inside the jar file? If yes, looking at > d/rules, it appears that nothing from resources/ in the original package is > being installed. > If this is indeed the case, please take a look and let me know how I can > install these files and update the relevant paths. I think your analysis is correct. There is no "proper" build procedure for this package. Thus I had to use jh_build to get the JAR assembled. Obviously the files in resources/ dir are missing but needed to let the tools work properly. I checked the jh_build manpage which says that it is possible to add extra files via JH_JAR_EXTRA environment variable which I tried in my last commit. Unfortunately it either does not work or I did it wrong. I'd be super happy if you could ask for better advise at debian-j...@lists.debian.org how to really get those files included. Thanks a lot for spotting this. It shows again how important all your work is for Debian Med users. Kind regards Andreas. > [1] https://salsa.debian.org/med-team/bbmap -- http://fam-tille.de