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

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.

 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. 


Elmar
 

> 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


Reply to: