jcmoyer / rust-lua53

Lua 5.3 bindings for Rust
MIT License
158 stars 45 forks source link

unable to use a rust-lua module from a rust-lua host program ("multiple Lua VMs detected") #72

Open tinyplasticgreyknight opened 7 years ago

tinyplasticgreyknight commented 7 years ago

I'm trying to use a host program which embeds lua using rust-lua53 when some of the scripts import modules which are also written using rust-lua53.

The problem seems to be that luaL_checkversion() fails because it is seeing the host and the module as having two distinct VM memory spaces, hence the "multiple Lua VMs detected" error message.

Small test case here: https://github.com/tinyplasticgreyknight/lua-embed-test

I'd copied the sample implementations of host and module, so hopefully I'm not too off-track here.

tinyplasticgreyknight commented 7 years ago

Forgot to mention, this is on Linux 64-bit. I ran into issue #73 while trying to reproduce on Windows. :-(

tinyplasticgreyknight commented 7 years ago

Using the standalone reference interpreter, I can require() the module in that test case just fine, and call its provided function. This makes me suspect I'm doing something wrong with the host executable.

bpglaser commented 7 years ago

I can confirm it is indeed broken on windows too. Compiled with stable-x86_64-pc-windows-msvc.