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

Re: Help getting missing classes found by prottest



Am 16.10.2015 um 22:26 schrieb Andreas Tille:
> Hi,
> 
> I try to package prottest[1] but I get errors of kind
> 
> i    [mkdir] Created dir: /build/prottest-3.4+dfsg/build/empty
>     [javac] Compiling 120 source files to /build/prottest-3.4+dfsg/build/classes
>     [javac] /build/prottest-3.4+dfsg/src/main/java/es/uvigo/darwin/prottest/ProtTest.java:23: error: package mpi does not exist
>     [javac] import mpi.MPI;
>     [javac]           ^
>     [javac] /build/prottest-3.4+dfsg/src/main/java/es/uvigo/darwin/prottest/ProtTest.java:55: error: package pal.misc does not exist
>     [javac] import pal.misc.Identifier;
>     [javac]                ^
>     [javac] /build/prottest-3.4+dfsg/src/main/java/es/uvigo/darwin/prottest/ProtTest.java:56: error: package pal.tree does not exist
>     [javac] import pal.tree.Tree;
>     [javac]                ^
>     [javac] /build/prottest-3.4+dfsg/src/main/java/es/uvigo/darwin/prottest/util/factory/ProtTestFactory.java:30: error: package pal.alignment does not exist
>     [javac] import pal.alignment.Alignment;
>     [javac]                     ^
> ...
> 
> 
> I have no idea why neither mpi nor pal classes are found since I tried
> to add mpj and pal but obviously failed.
> 
> Any help is welcome
> 
>       Andreas.


Hey,

since this project uses Ant as build system, you have normally two options:

1. Patch build.xml and change the path to the prottest.lib directory
from lib to /usr/share/java

2. Symlink Debian's system jar files during the dh_auto_build override
step from /usr/share/java to the lib directory.

Unfortunately there is no simple way to automate this step, since the
name of the lib property can be different from project to project.

However in this case the upstream developer apparently uses the Netbeans
IDE for development and he or she includes another build xml file with

<import file="buildconf/build-impl.xml"/>

which in turn imports the project.properties file.

In this file you can find a lot of file.reference lines which actually
point the Ant build system to the required libraries to build this package:

If you patch project.properties with the attached patch, the build will
be successful. After that you just have to modify the debian/install
file because the prottest.jar can actually be found in the dist
directory as prottest-3.4.jar.

P.S.: Please note that the swing-worker.jar is still imported from the
libs directory. I don't know if this one is already packaged for Debian.

Cheers,

Markus
From: Markus Koschany <apo@gambaru.de>
Date: Fri, 16 Oct 2015 23:05:52 +0200
Subject: build

---
 buildconf/project.properties | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/buildconf/project.properties b/buildconf/project.properties
index 1434886..db3f333 100755
--- a/buildconf/project.properties
+++ b/buildconf/project.properties
@@ -19,11 +19,11 @@ dist.dir=dist
 dist.jar=${dist.dir}/prottest-3.4.jar
 dist.javadoc.dir=${dist.dir}/javadoc
 excludes=
-file.reference.AbsoluteLayout.jar=lib/AbsoluteLayout.jar
-file.reference.appframework-1.0.3.jar=lib/appframework-1.0.3.jar
-file.reference.alter.jar=lib/alter.jar
-file.reference.mpj.jar=lib/mpj.jar
-file.reference.pal.jar=lib/pal.jar
+file.reference.AbsoluteLayout.jar=/usr/share/java/AbsoluteLayout.jar
+file.reference.appframework-1.0.3.jar=/usr/share/java/bsaf.jar
+file.reference.alter.jar=/usr/share/java/alter.jar
+file.reference.mpj.jar=/usr/share/java/mpj.jar
+file.reference.pal.jar=/usr/share/java/pal-cvs.jar
 file.reference.ProtTest-HPC-src=src
 file.reference.swing-worker-1.1.jar=lib/swing-worker-1.1.jar
 includes=**

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: