[New Package] TypeDBDriverClib_jll v3.8.1#13229
Open
FrankUrbach wants to merge 7 commits intoJuliaPackaging:masterfrom
Open
[New Package] TypeDBDriverClib_jll v3.8.1#13229FrankUrbach wants to merge 7 commits intoJuliaPackaging:masterfrom
FrankUrbach wants to merge 7 commits intoJuliaPackaging:masterfrom
Conversation
c/Cargo.toml in typedb-driver does not declare crate-type = ["cdylib"], so plain `cargo build` only produces an rlib. Using `cargo rustc -- --crate-type=cdylib` forces output of a proper C-ABI shared library (.dylib/.so/.dll).
Author
|
Pushed a fix for the CI failures. Root cause: Fix: Changed the build command from cargo build --release -p typedb_driver_clibto cargo rustc --release -p typedb_driver_clib -- --crate-type=cdylibThis passes the crate type explicitly at compile time so cargo produces |
--crate-type must be passed as a cargo-level flag, not after -- (which would pass it to rustc directly). Also add --lib to explicitly select the library compilation unit, matching the known-working iceberg_rust_ffi pattern.
cargo rustc --crate-type flag requires cargo >=1.64 which may not be available in the sandbox. Use sed to patch c/Cargo.toml directly, then plain cargo build --release. This avoids any cargo version dependency.
Root cause: typedb-protocol (git dep of typedb-driver) has a build.rs that calls tonic_build::compile_protos(), which invokes `protoc` to generate Rust gRPC stubs from .proto files. Without protoc in PATH the build fails immediately. Also set PROTOC env var explicitly for prost-build to find it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New JLL package: TypeDBDriverClib_jll
What
Adds a BinaryBuilder recipe for
libtypedb_driver_clib, the C FFI layer of theTypeDB Driver (TypeDB 3.x).
The library is implemented in Rust (
c/crate in the typedb-driver workspace)and exposes a C-compatible API for use by language bindings.
Source
3.8.1(commit8e8d4a43da32adc1c56084f4d34174bebd0ce34a)Platforms
x86_64-linux-gnuaarch64-linux-gnux86_64-apple-darwinaarch64-apple-darwinx86_64-w64-mingw32Build
Uses
compilers = [:c, :rust]anddont_dlopen = true. Builds thetypedb_driver_clibcrate viacargo build -p typedb_driver_clibfrom theworkspace root. On Windows, Rust omits the
libprefix; theLibraryProductaccepts bothlibtypedb_driver_clibandtypedb_driver_clib.v1 CI failure (fixed)
The first CI run failed because of three mistakes in the recipe:
T/TypeDBDriverClib_jll/instead ofT/TypeDBDriverClib/nameincluded the_jllsuffix (BinaryBuilder appends it automatically)${CARGO_BUILD_TARGET}instead of the correct${rust_target}Consumer
Intended for use by
TypeDBClient_2.jl,
a Julia FFI client for TypeDB 3.x.