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

ci: Use --no-build-isolation to instal cgat #77

Closed
wants to merge 4 commits into from

Conversation

ns-rse
Copy link
Contributor

@ns-rse ns-rse commented Nov 27, 2024

As suggested attempting to install
dependencies (and in one instance IsoSLAM itself) with the --no-build-isolation flag in the hope that NumPy is
correctly detected by cgat when it is built and installed.

@ns-rse ns-rse force-pushed the ns-rse/63-install-dependencies-in-ci branch 5 times, most recently from 2fe3f4e to 4dde71c Compare November 27, 2024 12:04
As [suggested](cgat-developers/cgat-apps#134 (comment)) attempting to install
dependencies (and in one instance `IsoSLAM` itself) with the `--no-build-isolation` flag in the hope that NumPy is
correctly detected by `cgat` when it is built and installed.

Further in light of [investigations](cgat-developers/cgat-apps#134 (comment))
also explicitly install the build requirements (`numpy` / `Cython` / `pysam` / `wheel`) prior to installing.
There is no wheel for pysam on the Windows release (see [files](https://pypi.org/project/pysam/#files)) so removing
windows from the os matrix of tests.
[updated setup.py and pyproject.toml](cgat-developers/cgat-apps#136) moves some of the
configuration options of `cgat-apps` from `setup.py` to `pyproject.toml`, testing to see if they install.

Previously I've found that there were some errors building pysam for windows (see
[log](https://github.com/sudlab/IsoSLAM/actions/runs/12049902667/job/33597647405?pr=77)) there are no wheels for pysam
for windows so it attempts to build from source so I've removed Windows from the build matrix but then hit errors trying
to compile [`v0.7.4`](https://github.com/sudlab/IsoSLAM/actions/runs/12050103589/job/33598275747?pr=77)

```
      cgat/BamTools/bamtools.c: In function ‘__pyx_pw_4cgat_8BamTools_8bamtools_7bam2bam_filter_bam’:
      cgat/BamTools/bamtools.c:41504:8: warning: ‘__pyx_v_remove_contig_tids’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      41504 |   int *__pyx_v_remove_contig_tids;
            |        ^~~~~~~~~~~~~~~~~~~~~~~~~~
      cgat/BamTools/bamtools.c: In function ‘__pyx_pf_4cgat_8BamTools_8bamtools_2bam2stats_count.constprop’:
      cgat/BamTools/bamtools.c:1204:40: warning: ‘__pyx_v_fastq_nreads’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       1204 |   #define PyInt_FromLong               PyLong_FromLong
            |                                        ^~~~~~~~~~~~~~~
      cgat/BamTools/bamtools.c:27028:11: note: ‘__pyx_v_fastq_nreads’ was declared here
      27028 |   int64_t __pyx_v_fastq_nreads;
            |           ^~~~~~~~~~~~~~~~~~~~
      cgat/BamTools/bamtools.c:33541:31: warning: ‘__pyx_v_fastq_counts’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      33541 |           __pyx_v_fastq_count = (&(__pyx_v_fastq_counts[__pyx_v_read_index]));
            |           ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      gcc -shared -Wl,--rpath=/opt/hostedtoolcache/Python/3.12.7/x64/lib -Wl,--rpath=/opt/hostedtoolcache/Python/3.12.7/x64/lib build/temp.linux-x86_64-cpython-312/cgat/BamTools/bamtools.o -L/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/pysam -L/opt/hostedtoolcache/Python/3.12.7/x64/lib -L/opt/hostedtoolcache/Python/3.12.7/x64/lib -lhts -lctabixproxies.cpython-312-x86_64-linux-gnu -lcfaidx.cpython-312-x86_64-linux-gnu -lcsamfile.cpython-312-x86_64-linux-gnu -lcvcf.cpython-312-x86_64-linux-gnu -lcbcf.cpython-312-x86_64-linux-gnu -lctabix.cpython-312-x86_64-linux-gnu -lchtslib.cpython-312-x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/cgat/BamTools/bamtools.cpython-312-x86_64-linux-gnu.so -Wl,-rpath,/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/pysam -Wl,-rpath,/opt/hostedtoolcache/Python/3.12.7/x64/lib -Wl,-rpath,/opt/hostedtoolcache/Python/3.12.7/x64/lib
      /usr/bin/ld: cannot find -lhts: No such file or directory
      collect2: error: ld returned 1 exit status
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cgat
Failed to build cgat
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (cgat)
```

This may be a system library that is required though :thinking:
@ns-rse ns-rse force-pushed the ns-rse/63-install-dependencies-in-ci branch from 990be83 to a0c94e5 Compare November 28, 2024 11:26
@ns-rse
Copy link
Contributor Author

ns-rse commented Dec 4, 2024

#104 removed the dependency on cgat and cgatcore so we no longer need a pipeline where these packages install.

@ns-rse ns-rse closed this Dec 4, 2024
@ns-rse ns-rse deleted the ns-rse/63-install-dependencies-in-ci branch December 4, 2024 12:24
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

Successfully merging this pull request may close these issues.

1 participant