Premake5在FreeBSD 10.1上无法构建。
2015-7-1 19:36:20
收藏:0
阅读:82
评论:1
我正在尝试从源代码在 FreeBSD 10.1 上构建 Premake5。最终,我通过删除“-dl”选项并明确地使用 gmake 进行构建来编译它。它已经构建完成,但我无法让它执行任何操作,只能输出以下错误消息。无论我如何调用它,它都会崩溃,甚至在“premake5 --help”上也是如此。
以下是该消息:
PANIC:在调用 Lua API 时出现不受保护的错误(尝试调用字符串值)
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
代码有很多 bug。它以 linux 是 posix 的假设开始,但显然这并不正确。它们在很多地方使用了 linuxism,因此将其转换为 posix 将是一个相当大的任务,而在此之前,在非 linux posix 系统上,它永远不会令人满意地工作。
-ldl显然是第一个障碍。下一个是在premake.c中的premake_locate_executable函数中。在这里,他们使用了/proc文件系统,这是一种 linuxism,因为这在 BSD 上失败了,因此它们回退到一些 lua 方法,但它们似乎假定lua_tostring弹出了相应的值,而它实际上并没有这样做。由于在此函数中堆栈不平衡,因此以下lua_call尝试调用它们留在堆栈上的垃圾,而不是他们想要的函数。即使在我修复了这个问题之后,他们使用
getconf _NPROCESSORS_ONLN来获取核心数,并使用多作业构建,但实际上他们并没有验证此调用是否成功(在 Linux 和 MacOSX 之外它并不成功)。在解决了这个问题之后,我遇到了一个问题,即他们的 makefile 不是正常的 make,而是 GNU-make,因此我不得不改用
gmake来尝试构建。从那时起,一切都解开了,因为
contrib目录中的所有预制文件都没有针对 BSD 进行配置,尽管它是其中的一个合法配置目标(即它不是默认的linux),因此这些组件没有配置。总之,BSD 不是受支持的平台。