1 unstable release
new 0.4.0 | Jan 21, 2025 |
---|
#5 in #some-ip
Used in up-transport-vsomeip
3.5MB
70K
SLoC
vsomeip-sys
What is it?
A fairly basic wrapper around the essentials needed to make a uProtocol uTransport implementation for SOME/IP based on top of the C++ vsomeip library.
Compatible vsomeip version
We currently support vsomeip 3.4.10 as released here.
How do I build it?
- Ensure you have a Rust toolchain installed
- Ensure you have the vsomeip library installed (optional, see features in
Cargo.toml
) - Ensure that you have the requirements of the vsomeip project install
- Run env_setup.sh in parent directory
source ../build/envsetup.sh
Then,
cargo build
Running a binary built with vsomeip-sys
You will need to ensure that LD_LIBRARY_PATH
includes the path to your vsomeip library install by:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path/to/vsomeip/lib> ./your_binary_built_with_vsomeip-sys
or by permanently modifying your LD_LIBRARY_PATH
to include the path to your vsomeip library install.
Allowing to build vsomeip for you (default)
The bundled
feature will compile vsomeip for you and is enabled by default.
vsomeip install path (optional)
You may additionally set:
VSOMEIP_INSTALL_PATH=/path/to/install/vsomeip
if you wish to choose where to install vsomeip. You can after-the-fact move this to some desired location on your system.
In any case you should put ${VSOMEIP_INSTALL_PATH}/lib
in your LD_LIBRARY_PATH
.
Supplying your own vsomeip includes (optional)
You may disable the bundled
feature if you wish to provide your own vsomeip library.
The VSOMEIP_INSTALL_PATH
then becomes required and must point to the install location of your vsomeip build.
You may do the following (note --no-default-features
):
VSOMEIP_INSTALL_PATH=<path/to/where/vsomeip/is/installed> cargo build --no-default-features
My build and deployment environments differ
This is fine. Simply make sure that the path to the vsomeip shared libraries is present on the LD_LIBRARY_PATH
on your deployment environment.
Dependencies
~3–8.5MB
~166K SLoC