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

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

Hi Elmar,

On Thu, Jun 20, 2019 at 10:41:10AM -0600, Elmar Pruesse wrote:
> > > > make lib/arb_tcp.dat
> > > This target does not exist.
> Just
> cp $SRCDIR/lib/arb_tcp_org.dat $DESTDIR/.../lib/arb_tcp.dat
> The Makefile in lib/ just does a cp as well. No processsing.

Sure.  My point was that before I repackaged the libarb tarball not even
lib/arb_tcp_org.dat was included.  But now I changed the Files-Excluded
rules and its now not removed any more.  So that's a solved problem.
> Alternatively, just put this data into the file:
> ----
> ARB_DB_SERVER           :/tmp/arb_db_$(USER)_$(ARB_PID)
> ARB_NAME_SERVER                 localhost:3020 arb_name_server
> -d$(ARBHOME)/lib/nas/names.dat
> ARB_NAME_SERVER_START           localhost:3021 arb_name_server
> -d$(ARBHOME)/lib/nas/names_start.dat -fstart=1
> ARB_PT_SERVER0          :$(HOME)/.arb_pts/$(USER)1.socket arb_pt_server  
> -D$(HOME)/.arb_pts/$(USER)1.arb
> ARB_PT_SERVER1          :$(HOME)/.arb_pts/$(USER)1.socket arb_pt_server
> -D$(HOME)/.arb_pts/$(USER)2.arb
> ARB_PT_SERVER2          :$(HOME)/.arb_pts/$(USER)1.socket arb_pt_server
> -D$(HOME)/.arb_pts/$(USER)3.arb ----
> ----

I'll keep this hint in Debian Med mailing list archive in case there
will be issues with the license from ARB upstream.
> > > > 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
> > > Do you think this link is only needed inside the arb-pt-server package
> > > or is it better in libarb package? (I implemented the latter in the
> > > latest packages.)
> It is needed for arb_pt_server and arb_name_server. It is parsed by libARBDB
> and  the stuff in SERVERCONTROL. Could go in either.

OK, may be I'll leave it in libarb.
> Since I'd prefer as much as possible tests I added the package.
> > > Regarding SINA packaging: Do you think a Recommends: arb-pt-server or a
> > > Suggests would be appropriate?
> Yes, sounds good. Either will do. Guess 'suggests' is enough. Mostly, you'd
> want it constrained to the right version if it does get installed by the
> user.

I added it as Suggests.  What would be the "right version"? 
(Feel free to commit what you consider correct - that's probably faster than
you explain here in detail and I do it according to your advise.)
> > > when using the Debian packaged spdlog (version 1.3.1). In the packaging
> > > we have removed the spdlog code copy (as per Debian policy) and try to
> > > link against the Debian packaged version. In several other projects I
> > > realised problems with this approach and it seems spdlog is a moving
> > > target. Do you think you can adapt SINA to latest spdlog or should we
> > > rather stick to the code copy?
> Use the vendored one if that is permissible. I have patched it to include a
> progress monitor, but the patch was rejected upstream. See
> https://github.com/gabime/spdlog/issues/1030#issuecomment-499979592. I will
> have to turn it into a separate package. Problem is that I would want/need
> to have an API change in the upstream spdlog, so I'll have to do some copy
> paste coding, sadly, to do the separate package. I'm planning to, and I
> could expedite it if Debian policy requires it, but it would take me a week
> or so to fit it in.

Well, "require" is to much - there are packages in the pool which do
conflict with this rule (and some of these are actually pinned to some
spdlog versions :-().  For the moment I re-included spdlog into the Git
repository since we want to make some progress to test linking against
libarb.  Until this is sorted out and all licensing issues which I
expect due to the additional files we need to build libarb are solved we
have time to sort out the spdlog issue.  If you could somehow settle with
the official code that would be helpful in any case.

With the latest push of the sina packaging I get:

libtool: link: (cd "src/.libs" && rm -f "libsina.so.0" && ln -s "libsina.so.0.0.0" "libsina.so.0")
libtool: link: (cd "src/.libs" && rm -f "libsina.so" && ln -s "libsina.so.0.0.0" "libsina.so")
libtool: link: ar cru src/.libs/libsina.a  src/align.o src/aligned_base.o src/alignment_stats.o src/cseq.o src/cseq_comparator.o src/famfinder.o src/mseq.o src/pseq.o src/query_arb.o src/query_pt.o src/rw_fasta.o src/rw_arb.o src/log.o src/search.o src/search_filter.o src/tray.o src/kmer_search.o
ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: ranlib src/.libs/libsina.a
libtool: link: ( cd "src/.libs" && rm -f "libsina.la" && ln -s "../libsina.la" "libsina.la" )
/bin/bash ./libtool  --tag=CXX   --mode=link g++  -g -O2 -fdebug-prefix-map=/build/sina-1.6.0=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/build/sina-1.6.0=. -fstack-protector-strong -Wformat -Werror=format-security -W -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/arb/lib -Wl,-rpath -Wl,/usr/lib/x86_64-linux-gnu/arb/lib   -Wl,-z,relro   -o src/sina src/sina.o src/libsina.la /usr/lib/x86_64-linux-gnu/arb/PROBE_COM/client.a /usr/lib/x86_64-linux-gnu/arb/PROBE_COM/common.a -lARBDB -lCORE -lglib-2.0 /usr/lib/x86_64-linux-gnu/arb/SL/HELIX/HELIX.a -lARBDB -lCORE -lglib-2.0 -lARBDB -lCORE -lglib-2.0  -ldl -lrt 
libtool: link: g++ -g -O2 -fdebug-prefix-map=/build/sina-1.6.0=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/build/sina-1.6.0=. -fstack-protector-strong -Wformat -Werror=format-security -W -Wl,-rpath -Wl,/usr/lib/x86_64-linux-gnu/arb/lib -Wl,-z -Wl,relro -o src/.libs/sina src/sina.o  -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/arb/lib src/.libs/libsina.so /usr/lib/x86_64-linux-gnu/arb/PROBE_COM/client.a /usr/lib/x86_64-linux-gnu/arb/PROBE_COM/common.a /usr/lib/x86_64-linux-gnu/arb/SL/HELIX/HELIX.a -lARBDB -lCORE -lglib-2.0 -ldl -lrt
/usr/bin/ld: src/sina.o: undefined reference to symbol '_ZN5boost15program_options29options_description_easy_initclEPKcS3_'
/usr/bin/ld: //usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.67.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1120: src/sina] Error 1

Any idea how to fix this?

Kind regards



Reply to: