paulsengroup / hictk

Blazing fast toolkit to work with .hic and .cool files
MIT License
23 stars 1 forks source link

Allow dynamically linking to Arrow libs even when building with static linking #200

Closed robomics closed 2 months ago

robomics commented 2 months ago

Introduce a new build knob HICTK_WITH_ARROW_SHARED to force dynamic linking to the Arrow libs even when BUILD_SHARED_LIBS=OFF.

This is mostly needed to workaround a segfault that occurs under very specific conditions due to (I think) ABI incompatibilities.

The segfault occurs when the following conditions are met:

The segfault was observed while developing hictkpy (see https://github.com/paulsengroup/hictkpy/pull/56 for more details).

Notably, the segfault is triggered upon calling hictkpy::PixelSelector::to_df(). However, for some obscure reason, this only happens for certain queries.

Running the same queries directly from hictk through the C++ API does not result in a segfault (nor does it raise any error when building hictk with ASAN).

codecov[bot] commented 2 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 85.10%. Comparing base (48341b4) to head (a1ebfe4). Report is 4 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #200 +/- ## ======================================= Coverage 85.10% 85.10% ======================================= Files 120 120 Lines 10332 10332 ======================================= Hits 8793 8793 Misses 1539 1539 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.