Skip to content

librocksdb-sys fails to build with from_cargo(), succeeds with actual Cargo #3756

@rejuvenile

Description

@rejuvenile

In my project, I use Cargo as the source of truth for dependencies. This allows me to build both with Bazel or with Cargo. librocksdb-sys fails to build on Bazel on macOS, but succeeds with the same workspace built from Cargo.

cargo:warning=ToolExecError: command did not execute successfully (status code exit status: 1): env -u IPHONEOS_DEPLOYMENT_TARGET LC_ALL="C" "/private/var/tmp/_bazel_user/2fe8fca154ecc4fd4bfcc2428eaf334c/sandbox/darwin-sandbox/1103/execroot/_main/external/rules_cc++cc_configure_extension+local_config_cc/cc_wrapper.sh" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-macosx" "-mmacosx-version-min=26.1" "-I" "rocksdb/include/" "-I" "rocksdb/" "-I" "rocksdb/third-party/gtest-1.8.1/fused-src/" "-I" "snappy/" "-I" "/private/var/tmp/_bazel_user/2fe8fca154ecc4fd4bfcc2428eaf334c/sandbox/darwin-sandbox/1103/execroot/_main/bazel-out/aarch64-darwin-fastbuild/bin/external/rules_rust++crate+crates__lz4-sys-1.11.1-lz4-1.10.0/_bs.out_dir/include" "-I" "/private/var/tmp/_bazel_user/2fe8fca154ecc4fd4bfcc2428eaf334c/sandbox/darwin-sandbox/1103/execroot/_main/bazel-out/aarch64-darwin-fastbuild/bin/external/rules_rust++crate+crates__zstd-sys-2.0.16-zstd.1.5.7/_bs.cargo_runfiles/rules_rust++crate+crates__zstd-sys-2.0.16-zstd.1.5.7/zstd/lib" "-I" "/private/var/tmp/_bazel_user/2fe8fca154ecc4fd4bfcc2428eaf334c/sandbox/darwin-sandbox/1103/execroot/_main/bazel-out/aarch64-darwin-fastbuild/bin/external/rules_rust++crate+crates__libz-sys-1.1.23/_bs.out_dir/include" "-I" "/private/var/tmp/_bazel_user/2fe8fca154ecc4fd4bfcc2428eaf334c/sandbox/darwin-sandbox/1103/execroot/_main/bazel-out/aarch64-darwin-fastbuild/bin/external/rules_rust++crate+crates__bzip2-sys-0.1.13-1.0.8/_bs.out_dir/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" "-include" "cstdint" "-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" "-U_FORTIFY_SOURCE" "-fstack-protector" "-Wall" "-Wthread-safety" "-Wself-assign" "-Wunused-but-set-parameter" "-Wno-free-nonheap-object" "-fcolor-diagnostics" "-fno-omit-frame-pointer" "-std=c++17" "-mmacosx-version-min=26.1" "-no-canonical-prefixes" "-Wno-builtin-macro-redefined" "-D__DATE__=\"redacted\"" "-D__TIMESTAMP__=\"redacted\"" "-D__TIME__=\"redacted\"" "-o" "/private/var/tmp/_bazel_user/2fe8fca154ecc4fd4bfcc2428eaf334c/sandbox/darwin-sandbox/1103/execroot/_main/bazel-out/aarch64-darwin-fastbuild/bin/external/rules_rust++crate+crates__librocksdb-sys-0.17.3-10.4.2/_bs.out_dir/24bbbf8ebb94fff2-db_ttl_impl.o" "-c" "rocksdb/utilities/ttl/db_ttl_impl.cc"cargo:warning=In file included from rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc:11:
cargo:warning=In file included from rocksdb/db/column_family.h:18:
cargo:warning=In file included from rocksdb/db/memtable_list.h:16:
cargo:warning=In file included from rocksdb/db/memtable.h:21:
cargo:warning=In file included from rocksdb/db/merge_helper.h:13:
cargo:warning=In file included from rocksdb/db/range_del_aggregator.h:18:
cargo:warning=In file included from rocksdb/db/pinned_iterators_manager.h:12:
cargo:warning=In file included from rocksdb/table/internal_iterator.h:17:
cargo:warning=In file included from rocksdb/table/format.h:19:
cargo:warning=In file included from rocksdb/options/cf_options.h:14:
cargo:warning=rocksdb/util/compression.h:37:10: fatal error: 'snappy.h' file not found
cargo:warning=   37 | #include <snappy.h>
cargo:warning=      |          ^~~~~~~~~~
cargo:warning=1 error generated.

Note, snappy.h is included in the crate, so I'm not sure why it's not finding it.

/private/var/tmp/_bazel_user/2fe8fca154ecc4fd4bfcc2428eaf334c/external/rules_rust++crate+crates__librocksdb-sys-0.17.3-10.4.2/snappy/snappy.h

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions