sourmash-bio / sourmash_plugin_branchwater

fast, multithreaded sourmash operations: search, compare, and gather.
GNU Affero General Public License v3.0
14 stars 2 forks source link

add `win` builds for conda-forge package #160

Open ctb opened 7 months ago

ctb commented 7 months ago

per https://github.com/sourmash-bio/sourmash_plugin_branchwater/issues/152#issuecomment-1834138009, the conda-forge recipe at https://github.com/conda-forge/sourmash_plugin_branchwater-feedstock only builds for linux. We should update this to make osx and win work as well.

ctb commented 7 months ago

current status over on https://github.com/conda-forge/sourmash_plugin_branchwater-feedstock/pull/3:

this command:

2023-12-07T23:10:29.3676230Z warning: ToolExecError: Command "x86_64-apple-darwin13.4.0-clang++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=x86_64-apple-darwin" "-march=core2" "-mtune=haswell" "-mssse3" "-ftree-vectorize" "-fPIC" "-fPIE" "-fstack-protector-strong" "-O2" "-pipe" "-stdlib=libc++" "-fvisibility-inlines-hidden" "-fmessage-length=0" "-isystem" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include" "-fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/work=/usr/local/src/conda/sourmash_plugin_branchwater-0.8.4" "-fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p=/usr/local/src/conda-prefix" "-D_LIBCPP_DISABLE_AVAILABILITY" "-I" "rocksdb/include/" "-I" "rocksdb/" "-I" "rocksdb/third-party/gtest-1.8.1/fused-src/" "-I" "snappy/" "-I" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/work/target/x86_64-apple-darwin/release/build/lz4-sys-2e2f6e731e4d0996/out/include" "-I" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/zstd-sys-2.0.8+zstd.1.5.5/zstd/lib" "-I" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/work/target/x86_64-apple-darwin/release/build/libz-sys-f2bfddc1786cc49f/out/include" "-I" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/work/target/x86_64-apple-darwin/release/build/bzip2-sys-ca7ba6303a522b9c/out/include" "-I" "." "-std=c++17" "-Wsign-compare" "-Wshadow" "-Wno-unused-parameter" "-Wno-unused-variable" "-Woverloaded-virtual" "-Wnon-virtual-dtor" "-Wno-missing-field-initializers" "-Wno-strict-aliasing" "-Wno-invalid-offsetof" "-msse2" "-std=c++17" "-DSNAPPY=1" "-DLZ4=1" "-DZSTD=1" "-DZLIB=1" "-DBZIP2=1" "-DNDEBUG=1" "-DOS_MACOSX" "-DROCKSDB_PLATFORM_POSIX" "-DROCKSDB_LIB_IO_POSIX" "-DROCKSDB_SUPPORT_THREAD_LOCAL" "-o" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/work/target/x86_64-apple-darwin/release/build/librocksdb-sys-e29c22cd5341f0e1/out/rocksdb/cache/clock_cache.o" "-c" "rocksdb/cache/clock_cache.cc" with args "x86_64-apple-darwin13.4.0-clang++" did not execute successfully (status code exit status: 1).running: "x86_64-apple-darwin13.4.0-clang++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=x86_64-apple-darwin" "-march=core2" "-mtune=haswell" "-mssse3" "-ftree-vectorize" "-fPIC" "-fPIE" "-fstack-protector-strong" "-O2" "-pipe" "-stdlib=libc++" "-fvisibility-inlines-hidden" "-fmessage-length=0" "-isystem" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include" "-fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/work=/usr/local/src/conda/sourmash_plugin_branchwater-0.8.4" "-fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p=/usr/local/src/conda-prefix" "-D_LIBCPP_DISABLE_AVAILABILITY" "-I" "rocksdb/include/" "-I" "rocksdb/" "-I" "rocksdb/third-party/gtest-1.8.1/fused-src/" "-I" "snappy/" "-I" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/work/target/x86_64-apple-darwin/release/build/lz4-sys-2e2f6e731e4d0996/out/include" "-I" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/zstd-sys-2.0.8+zstd.1.5.5/zstd/lib" "-I" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/work/target/x86_64-apple-darwin/release/build/libz-sys-f2bfddc1786cc49f/out/include" "-I" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/work/target/x86_64-apple-darwin/release/build/bzip2-sys-ca7ba6303a522b9c/out/include" "-I" "." "-std=c++17" "-Wsign-compare" "-Wshadow" "-Wno-unused-parameter" "-Wno-unused-variable" "-Woverloaded-virtual" "-Wnon-virtual-dtor" "-Wno-missing-field-initializers" "-Wno-strict-aliasing" "-Wno-invalid-offsetof" "-msse2" "-std=c++17" "-DSNAPPY=1" "-DLZ4=1" "-DZSTD=1" "-DZLIB=1" "-DBZIP2=1" "-DNDEBUG=1" "-DOS_MACOSX" "-DROCKSDB_PLATFORM_POSIX" "-DROCKSDB_LIB_IO_POSIX" "-DROCKSDB_SUPPORT_THREAD_LOCAL" "-o" "/Users/runner/miniforge3/conda-bld/sourmash_plugin_branchwater_1701988939528/work/target/x86_64-apple-darwin/release/build/librocksdb-sys-e29c22cd5341f0e1/out/rocksdb/cache/secondary_cache.o" "-c" "rocksdb/cache/secondary_cache.cc"

is giving this error:

2023-12-07T23:06:48.2637320Z warning: rocksdb/db/db_impl/compacted_db_impl.cc:28:18: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer


per https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk I tried to deal with this by adding -D_LIBCPP_DISABLE_AVAILABILITY, which appears in the above command - so I'm not sure what's up.

fascinating conversation here: https://github.com/conda-forge/conda-forge.github.io/issues/1844

ctb commented 6 months ago

@luizirber for the win! https://github.com/conda-forge/sourmash-minimal-feedstock/pull/55

luizirber commented 6 months ago

conda-forge/sourmash-minimal-feedstock#55 is merged, so I think the same solution can be applied here

ctb commented 6 months ago

https://github.com/conda-forge/sourmash_plugin_branchwater-feedstock/pull/3 is now merged; once sourmash_plugin_branchwater v0.8.5 shows up on conda-forge for Mac OS X, I'll close this.

ctb commented 6 months ago

whups, need to try enabling windows ;)

ctb commented 6 months ago

https://github.com/conda-forge/sourmash_plugin_branchwater-feedstock is available on osx-arm64 (and osx-x86)! 🎉

ctb commented 6 months ago

trying windows here: https://github.com/conda-forge/sourmash_plugin_branchwater-feedstock/pull/6

ctb commented 6 months ago

alas, windows builds are failing for some reason 🤷 - no obvious error above this, but:

2023-12-18T18:52:30.8106571Z (base) %SRC_DIR%>conda activate "%PREFIX%" 
2023-12-18T18:52:31.2304874Z import: 'sourmash_plugin_branchwater'
2023-12-18T18:52:31.2316699Z Traceback (most recent call last):
2023-12-18T18:52:31.2317250Z   File "D:\bld\sourmash_plugin_branchwater_1702924838688\test_tmp\run_test.py", line 2, in <module>
2023-12-18T18:52:31.2318016Z     import sourmash_plugin_branchwater
2023-12-18T18:52:31.2318923Z ModuleNotFoundError: No module named 'sourmash_plugin_branchwater'

I'll dig into it next time I'm feeling energetic :)