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

Are bam_aux_first and bam_aux_next available from the shared library? #1514

Closed
kojix2 opened this issue Oct 19, 2022 · 2 comments
Closed

Are bam_aux_first and bam_aux_next available from the shared library? #1514

kojix2 opened this issue Oct 19, 2022 · 2 comments

Comments

@kojix2
Copy link
Contributor

kojix2 commented Oct 19, 2022

Hi!

Thanks for all your help, I am kojix2 and I am creating htslib bindings for Ruby and Crystal.

Curiously, I noticed that two functions are not included in the shared library: bam_aux_first and bam_aux_next. Since these are not macro functions and HTSLIB_EXPORT is declared, I expected them to be included in the shared library.

htslib/htslib/sam.h

Lines 1638 to 1639 in eab0ee1

HTSLIB_EXPORT
uint8_t *bam_aux_first(const bam1_t *b);

htslib/htslib/sam.h

Lines 1650 to 1651 in eab0ee1

HTSLIB_EXPORT
uint8_t *bam_aux_next(const bam1_t *b, const uint8_t *s);

I downloaded the 1.16 release and followed the instructions to compile on Ubuntu.

autoreconf -i 
./configure
make
make install

When the nm command is executed,

nm libhts.so.3  | grep aux

bam_aux_first and bam_aux_next are not found.

0000000000010ed0 t __do_global_dtors_aux
00000000001025b8 d __do_global_dtors_aux_fini_array_entry
0000000000046770 t aux_parse
0000000000051870 T bam_aux2A
00000000000518a0 T bam_aux2Z
0000000000050510 T bam_aux2f
0000000000050480 T bam_aux2i
00000000000519e0 T bam_auxB2f
0000000000051910 T bam_auxB2i
00000000000518e0 T bam_auxB_len
000000000004b7c0 T bam_aux_append
000000000004f850 T bam_aux_del
000000000004b8b0 T bam_aux_get
0000000000050220 T bam_aux_update_array
0000000000050100 T bam_aux_update_float
000000000004fd20 T bam_aux_update_int
000000000004fa70 T bam_aux_update_str
000000000008e040 t cram_encode_aux.constprop.0
00000000000114d0 t kf_betai_aux.part.0
0000000000042670 t sam_format_aux1
0000000000041e60 t skip_aux

Why are these functions not available from the shared library?
How can I add these functions to the shared library?

@kojix2
Copy link
Contributor Author

kojix2 commented Oct 19, 2022

I wrote up to the above and checked 1.16 just to be sure, and found that bam_aux_first and bam_aux_next do not exist.
I see that htslib is still under active development.
Sorry for the trouble. I will close this issue.

@kojix2 kojix2 closed this as completed Oct 19, 2022
@jmarshall
Copy link
Member

Yes, PR #1354 was merged a couple of weeks after the 1.16 release. (There's also a followup that will add another related function that I still need to get back to.)

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

No branches or pull requests

2 participants