Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add meson #74

Closed
wants to merge 20 commits into from
Closed

Add meson #74

wants to merge 20 commits into from

Conversation

armintoepfer
Copy link
Contributor

@armintoepfer armintoepfer commented Dec 5, 2017

  • Library support and minimap2 executable
    Update kseq.h from htslib HEAD. Otherwise we cannot link
    minimap2 and htslib at the same time.

@lh3
Copy link
Owner

lh3 commented Dec 5, 2017

What's the linking error?

@armintoepfer
Copy link
Contributor Author

armintoepfer commented Dec 5, 2017

duplicate symbol _ks_destroy in:
    /usr/local/lib/libhts.a(hts.o)
    subprojects/minimap2/libminimap2.a(bseq.c.o)
duplicate symbol _ks_init in:
    /usr/local/lib/libhts.a(hts.o)
    subprojects/minimap2/libminimap2.a(bseq.c.o)
duplicate symbol _ks_getuntil2 in:
    /usr/local/lib/libhts.a(hts.o)
    subprojects/minimap2/libminimap2.a(bseq.c.o)
ld: 3 duplicate symbols for architecture x86_64

@lh3
Copy link
Owner

lh3 commented Dec 5, 2017

What is the exact gcc/g++/ld command line used for linking?

@armintoepfer
Copy link
Contributor Author

There was an issue with htslib 1.3.2, but works fine with HEAD. I'll go forward and revert my kseq.h update

Library support and minimap2 executable
@lh3 lh3 added the enhancement label Dec 6, 2017
@lh3
Copy link
Owner

lh3 commented Dec 6, 2017

Thanks a lot for the clarification. Nonetheless, I am concerned with adding a new build system that I will not maintain. Once I add new files, meson will keep out of sync until someone else fix it. This seems not ideal. In addition, other developers will want to add autoconf, cmake, ninja... which will make things worse.

@SoapZA
Copy link

SoapZA commented Dec 6, 2017

@lh3 Please reconsider this. The whole ecosystem is switching to Meson (and not CMake) from the Autotools, due to it's trivial composability and pluggability. For people that want to reuse minimap2, the current make based solution does not scale, due to necessarily leading to recursive Make solutions. Wayland, the Xorg consortium, systemd, GTK+ have all switched to it from their ancient Autotools-based solutions.

@lh3
Copy link
Owner

lh3 commented Dec 6, 2017

The user base of meson seems much smaller than cmake/autoconf right now. I will leave this issue open and revisit at a later time.

@jmarshall
Copy link
Contributor

FYI the linking error has gone away because HTSlib no longer uses kseq.h's kstream itself, since samtools/htslib@71c03b8.

@armintoepfer
Copy link
Contributor Author

I'll close this. If you want modern build system support, let me know and I can provide it for HEAD.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants