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

How to compile with conda? #47

Closed
Hoeze opened this issue Jan 27, 2020 · 8 comments
Closed

How to compile with conda? #47

Hoeze opened this issue Jan 27, 2020 · 8 comments
Assignees

Comments

@Hoeze
Copy link

Hoeze commented Jan 27, 2020

Hi, could you please provide some information how to compile this package within a conda-environment?
I guess I have to somehow build libtiledb with cmake -DFORCE_EXTERNAL_HTSLIB=OFF?

@ihnorton
Copy link
Member

Hi @Hoeze, are you able to build with these steps?: https://docs.tiledb.com/developer/tiledbvcf/installation/python

We will add support for building against libtiledb and htslib from conda (see #48) -- in order to facilitate making a conda package too. However, I need to update the package for compatibility with arrow changes (some tests currently fail) -- will do as soon as possible.

@Hoeze
Copy link
Author

Hoeze commented Jan 28, 2020

Hi @ihnorton, thanks for your answer.

Using your instructions did not work because I was missing some header files in conda (where do I get header files for e.g. zlib?).
Compiling against the system is not possible for the same reason.

Yesterday I was able to compile against conda's htslib:

  1. first compile libtiledbvcf using cmake -DFORCE_EXTERNAL_HTSLIB=OFF <libtiledbvcf_folder> && make
  2. python setup.py install the python package.
    However, I did not test it yet, I only tried the import.

ihnorton added a commit that referenced this issue Jan 29, 2020
This calculation needs to return the number of uint8 elements required to store a nullable bitmask
for a given number of records, which is "ceil(num_records, 8)" using the internal ceil function.

For #47 compatibility with arrow 0.15 release and current trunk, where additional consistency checks
have been added.
ihnorton added a commit that referenced this issue Jan 29, 2020
This calculation needs to return the number of uint8 elements required to store a nullable bitmask
for a given number of records, which is "ceil(num_records, 8)" using the internal ceil function.

For #47 compatibility with arrow 0.15 release and current trunk, where additional consistency checks
have been added.
@ihnorton
Copy link
Member

ihnorton commented Feb 4, 2020

Hi @Hoeze, as soon as the next arrow release is available, I will submit a conda recipe for this package -- the release process is happening now. TileDB-VCF has some test failures when building against arrow 0.15, and these are fixed upstream in the upcoming arrow 0.16. (I haven't been able to find a workaround for this issue on our side yet, so I'm going to defer to the imminent release for a fix).

@Hoeze
Copy link
Author

Hoeze commented Feb 4, 2020

Thanks a lot @ihnorton!

@ihnorton
Copy link
Member

ihnorton commented Mar 5, 2020

Hi @Hoeze, sorry about the delay here. I've uploaded an initial conda package for linux.

If you want to build in your own environment w/ tiledb and htslib installed, use python setup.py install --libtiledbvcf=${CONDA_PREFIX} (see #59).

I will work on submitting this to bioconda soon, that seems like a better channel than conda-forge due to the scope and htslib dependency.

@ihnorton
Copy link
Member

@aaronwolen was this fixed by #98?

@aaronwolen
Copy link
Member

Actually, no. I just tried following the python install directions inside a fresh ubuntu container and it went belly up linking the aws sdk. It's some kind of issue w/ conda because the CLI builds fine w/ conda deactivated.

I'll investigate but let me know if you have any suggestions, @ihnorton.

@gspowley
Copy link
Member

Closing this issue since it has been inactive. Please reopen if there is still an issue.

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

4 participants