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

Re: How to be with SINA that has non-free dependency



Hi Andreas,

On 6/13/19 1:03 AM, Andreas Tille wrote:
What directory has to be built and what files need to be installed?

Run:

make bin/arb_pt_server

and

make lib/arb_tcp.dat


That should do it. I think you have all files required.


I'd make it a sepearate package, something like arb-pt-server, with


arb-pt-server.install:

bin/arb_pt_server usr/bin

lib/arb_tcp.dat /etc/arb


arb-pt-server.links:

etc/arb/arb_tcp.dat usr/lib/${DEB_HOST_MULTIARCH}/arb


For the moment for me the take away message from the paragraph above
is that we need arb_tcp.dat from the original arb tarball.  Anything
else?

For backround: the "pt server" is a sequence search engine. It's very fast, but a memory hog. It was implemented as a daemon so that multiple users can share the index (which used to take hours to load). Not really common any more, but back in the day when 32MB was a ton of memory that was different.


If you can package the arb_pt_server binary as above, the tests for SINA should run fine.

If you cannot, you could just delete the file "SINA/tests/accuracy.tests" and then run "make check-filtered P=^tests" instead of "make check".

The accuracy.tests file contains integration tests checking overall accuracy with the PT server. There is a second file that does the same tests with the internal engine. So not running it is fine. The check-filtered call avoids running the unit tests, calling only the integration tests on the fully built binary. That should be fine for packaging - you don't need to have 100% code coverage, you need to know that the build isn't broken.

I would prefer the solution with tested arb_pt_server support. If I was to add a "no pt server support" flag to SINA it would have to disable the support as well, not just the tests. I can do that, it's going to be quite a bit of work though.


This is perfectly understood and to prove this I have updated

Apologies, I was just trying to make sure no time got wasted on it. Supporting old versions is a luxury I have to keep minimized.


Thanks a lot for your contribution which is very motivating
Thanks! :) I'm sorry that help from "upstream" is required. For good software, that should not be necessary.


W.r.t. the build log - this is where it failed first:

configure:14608: checking arbdb.h usability
configure:14608: g++ -c -g -O2 -fdebug-prefix-map=/build/sina-1.6.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/build/sina-1.6.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -I/usr/lib/x86_64-linux-gnu/arb/INCLUDE -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include conftest.cpp >&5
conftest.cpp:63:10: fatal error: arbdb.h: No such file or directory
 #include <arbdb.h>
          ^~~~~~~~~

Check that /usr/lib/x86_64-linux-gnu/arb/INCLUDE/arbdb.h exists. Perhaps I messed up the patch for libarb-dev. INCLUDE should point to /usr/include/arb.

Elmar



Reply to: