Comments (6)
Hello, I'm sorry to react this late.
Nice to hear you like it!
I will investigate your issue.
from dogfood.
I've tried to reproduce your issue but did not got the same result.
But instead of the 'lfs' I used my own filesystem module and that worked.
The following three points may help you.
Do you use the pre-build binary?
In that case, then issue could be that the pre-build dogfood binaries are build with MSVC which may not be compatible with your Lua Rocks configuration (I assume).
Are the C modules and the dogfood executable of the same platform (x86/x64)?
Are you sure that you placed all the dependencies/DLLs required by 'lfs', 'socked' 'iuplua', 'gbk' are placed too in the same folder as these C modules? You can use Depdency Walker to figure out what is missing.
from dogfood.
Hi,
I use dogfood53_win_x86-32.zip and C module for lua 5.3.
I attach 'lfs.dll' and all the demo. I'm not sure compile compatible problem.
I use pre-compile binary for lfs.dll and lua5.3 from official, generally not suffer any compatible problem.
But the issue presents like a lua5.1 interpreter handles a 5.3 module - process blocks till some timeout, then program stop, without any error message.
Are the C modules and the dogfood executable of the same platform (x86/x64)?
Yes, they are. Otherwise, there will be prompt: error loading module 'lfs' from file 'lfs.dll', %1 not a valid Win32 application.
Are you sure that you placed all the dependencies.
Yes. Otherwise, it will prompt "module 'lfs' not found".
Demo:
--test.lua
print(_VERSION)
package.path=''
package.cpath='?.dll'
print(package.cpath)
-- require'lfs'
local _,lfs=assert(pcall(require,'lfs'))
print(lfs)
print'test OK'
Step:
dogfood.exe test.exe test
in cmd.test.exe
, will get
D:>test.exe
Lua 5.3
?.dllD:>
Files:
dogfood_test.zip
- lfs.dll
- test.exe
- test.lua
Thanks for your work, again~
from dogfood.
The lfs C module required lua53.dll.
However when I added lua53.dll then a 'multiple Lua VMs detected' message was displayed in the command prompt.
The pre-build Lua binaries are statically build with Lua which effectively disables support for C modules.
So, dogfood needs to be dynamically linked to support C modules.
I really liked the single dogfood executable without dependencies.
Its possible to embed a DDL in an executable but that requires a change to dog.c and the Visual Studio project files. I will try this but I'm not sure how it turns out.
from dogfood.
I've managed to embed Lua53.dll into the dogfood executable.
This zip contains a debug build of dogfood for Lua 5.3
It runs your test without errors.
Can you try this build with other libraries?
from dogfood.
A new release of dogfood has been made.
Also the pre-build binaries are updated to include the fix for your issue.
from dogfood.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dogfood.