[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,

di you have any remaining questions?  I just want to point out that to
get SINA into the next Debian release its most probably a lot of waiting
for libarb upstream and ftpmaster involved.  If you really want to get
this done please confirm *now* that the existing libarb is what SINA
wants.

Thank you

    Andreas.

On Fri, Sep 25, 2020 at 08:15:32AM +0200, Andreas Tille wrote:
> Hi Elmar
> 
> On Thu, Sep 24, 2020 at 06:17:11PM -0600, Elmer Pruesse wrote:
> > I think I can devote some time to this now. What do you need from me to proceed?
> > 
> > SINA uses three things from ARB (as far as I remember):
> > - The database (libarbdb.so and libcore.so)
> > - The PT server client (PROBE_COM/client.a)
> > - Some Code for parsing secondary structure (SL/HELIX/HELIX.a)
> > 
> > The database lib is required.
> 
> I think / hope all this is implemented in
> 
>     https://salsa.debian.org/med-team/libarb
>  
> >  If I didn’t already, I can modify the build system to allow not using the two static libraries. That will lead to reduced feature set though. But for typical cases should be ok. 
> 
> Do you feel able to build a package from there and install it to test
> whether SINA builds and runs properly?  If not I can upload the package
> to some location for your comfort.  Please be so kind to test it before
> I go on asking upstream to fix the license for all the code that is
> required.
>  
> Kind regards
> 
>       Andreas.
> 
>  
> > > On Sep 24, 2020, at 7:50 AM, Andreas Tille <andreas@an3as.eu> wrote:
> > > 
> > > Hi Elmar,
> > > 
> > > are you interested that we are working together on Sina packaging for
> > > Debian.  It was more than one year ago that I was working really hard to
> > > extract the part from arb that could be a future libarb.  I'm waiting
> > > for confirmation that this is all code that is sufficient to build Sina.
> > > It would even help if you confirm that you are overworked / not
> > > interested so we would stop waiting and start doing something again.
> > > 
> > > Please let me know if you need further information.
> > > 
> > > Kind regards
> > > 
> > >      Andreas.
> > > 
> > >> On Thu, Nov 14, 2019 at 09:13:03AM +0100, Andreas Tille wrote:
> > >> Hi again,
> > >> 
> > >> I wonder whether you understood that we are waiting for some signal of
> > >> yours whether the attempt to package libarb works with sina.  So far we
> > >> are running into trouble and I'm just waiting for your input how to get
> > >> sina build with libarb.  Further work on the libarb package is stalled
> > >> until you will answer the mail below.
> > >> 
> > >> Kind regards
> > >> 
> > >>     Andreas.
> > >> 
> > >>> On Wed, Jul 31, 2019 at 02:25:36PM +0200, Andreas Tille wrote:
> > >>> Ping again.
> > >>> I do not see any sense to continue with libarb packaging as long
> > >>> as there is no way to build sina smoothly with what we have.
> > >>> 
> > >>> So can you please comment (in public on list) about the issue
> > >>> 
> > >>>  /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
> > >>> 
> > >>> Kind regards
> > >>>       Andreas.
> > >>> 
> > >>> On Wed, Jul 10, 2019 at 10:25:54PM +0200, Andreas Tille wrote:
> > >>>> Ping?
> > >>>> 
> > >>>> On Thu, Jun 20, 2019 at 10:19:34PM +0200, Andreas Tille wrote:
> > >>>>> 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_TCP_DAT_VERSION 2
> > >>>>>> 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
> > >>>>> 
> > >>>>>        Andreas.
> > >>>>> 
> > >>>>> -- 
> > >>>>> http://fam-tille.de
> > >>>>> 
> > >>>>> 
> > >>>> 
> > >>>> -- 
> > >>>> http://fam-tille.de
> > >>> 
> > >>> -- 
> > >>> http://fam-tille.de
> > >> 
> > >> -- 
> > >> http://fam-tille.de
> > >> 
> > >> 
> > > 
> > > -- 
> > > http://fam-tille.de
> > 
> > 
> 
> -- 
> http://fam-tille.de
> 
> 

-- 
http://fam-tille.de


Reply to: