[Debian-med-packaging] Help getting missing classes found by prottest

Markus Koschany apo at gambaru.de
Fri Oct 16 21:26:16 UTC 2015


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.patch
Type: text/x-diff
Size: 1122 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/debian-med-packaging/attachments/20151016/066d9d0e/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/debian-med-packaging/attachments/20151016/066d9d0e/attachment.sig>


More information about the Debian-med-packaging mailing list