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 <[email protected]> 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

