-
Notifications
You must be signed in to change notification settings - Fork 16
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
Nightly build for Windows #609
base: main
Are you sure you want to change the base?
Conversation
Per discussion, let's check |
Quick update. I confirmed that the conda env installs both Regardless, I pushed a commit to try rem confirming conda installation setup
mamba create -n win-vcf -c tiledb tiledbvcf-py
mamba activate win-vcf
dir %CONDA_PREFIX%\Library\bin\tile*
rem Volume in drive C has no label.
rem Volume Serial Number is 8038-C77D
rem
rem Directory of C:\Users\john\mambaforge\envs\win-vcf\Library\bin
rem
rem 11/03/2023 09:51 AM 15,554,048 tiledb.dll
rem 11/10/2023 08:21 PM 1,328,640 tiledbvcf.dll
rem 11/10/2023 08:21 PM 1,752,576 tiledbvcf.exe
rem 11/10/2023 08:21 PM 2,159,104 tiledbvcf4test.dll
rem 4 File(s) 20,794,368 bytes
rem 0 Dir(s) 27,726,221,312 bytes free
tiledbvcf version
rem TileDB-VCF version
rem TileDB version 2.17.4
rem htslib version 1.15.1 |
Setting
Thus I thought maybe I need to set some env var, but confusingly, locally I can run (base) C:\Users\john>mambaforge\envs\win-vcf\Library\bin\tiledbvcf version
rem TileDB-VCF version
rem TileDB version 2.17.4
rem htslib version 1.15.1 |
I uploaded the installation directory (contains both libtiledb and libtiledbvcf) as an artifact. It can be downloaded by scrolling to the bottom of the latest CI build Note that I also run |
aa94ccb
to
738c286
Compare
This nightly build for Windows is a work-in-progress. The existing GitHub Actions pipeline to test TileDB-VCF against release libtiledb on Windows relies exclusively on conda (ie everything is built inside of an activated conda environment). In contrast, for this build against dev libtiledb, I have tried to use conda as little as possible (currently only for installing the Python dependencies, but I'm open to trying to replace these with PyPI packages). Unfortunately this is causing problems. Code that runs fine inside a conda env doesn't work in a more minimal setup. I'd appreciate any advice.
Problem 1: Unable to run
tiledbvcf.exe version
I install
tiledbvcf.exe
into a local directory that is not on thePATH
. Thus I provide the full path when trying to execute it. This does not work, and I've tried various things (with and without.exe
, absolute versus relative path). This approach of installing into a local directory works fine on Linux/macOS. Is this even possible on Windows?Problem 2: Python client unable to find
tiledbvcf.dll
at runtimeI can build the Python client against the locally built libtiledbvcf using
--libtiledbvcf
. However, it immediately fails at runtime because it can't findtiledbvcf.dll
(or one of its dependencies)I've already added the installation location to
PATH
. Maybe the issue is thattiledbvcf.dll
can't findtiledb.dll
?Problem 3: What tests to run for
libtiledbvf
?The existing Windows build only runs the tests for the Python client. Which
libtiledbvcf
tests are feasible to run on Windows?The unit tests,
tiledb_vcf_unit
, require building an executable and then running it. But from the example oftiledbvcf.exe version
above, I don't think I can simply executetiledb_vcf_unit
like I do for Linux/macOS.The script
run-cli-tests.sh
requires bcftools to be installed, and I don't think it's worth the effort to build bcftools on Windows.