Crates.io | ei-sys |
lib.rs | ei-sys |
version | 0.8.1 |
source | src |
created_at | 2019-01-15 21:21:37.216212 |
updated_at | 2019-02-22 01:08:11.48115 |
description | Low level Rust bindings to ei, a library to communicate with distributed Erlang. |
homepage | https://github.com/animalsiknow/ei-sys |
repository | https://github.com/animalsiknow/ei-sys |
max_upload_size | |
id | 108777 |
size | 37,413 |
This library contains low level bindings for ei
, a library to handle the Erlang external term format and to communicate with distributed Erlang nodes.
The library with which this crate links is not usually included in the default link path. There are two ways to configure this crate.
EI_LINK_SEARCH
environment variable to the directory that contains libei.The official Erlang binaries are compiled with MSVC 11 (Visual Studio 2012), which is not ABI compatible with binaries built with more recent MSVC versions, including those that are compatible with Rust. You will need to build you own Erlang. You can follow the official instructions, but change the PATH
, LIBPATH
, LIB
, and INCLUDE
environment for those of the version of MSVC you are using with Rust.
For example, for a x86_64
build with Visual Studio 2017, open the x64 Native Tool Command Promp for VS 2017, and then you can see the values of the variables listed above by typing
echo %PATH%
echo %LIBPATH%
echo %LIB%
echo %INCLUDE%
Note also that Erlang does not build with mingw. Thus you cannot use this crate with a {i686|x86_64}-pc-windows-gnu
version of Rust, i.e. you need to use {i686|x86_64}-pc-windows-msvc
.
The official Erlang documentation on ei
and ei_connect
contains information on how to use this library, as well as a complete listing of the types and functions. The documentation for this crate has additional information that can be of interest to those building on top of this crate, such as the precondition to respect safely whan calling into this crate.