-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[master branch] Could not initialize Lua when luajit < 2.1.0 installed on macOS Catalina #7512
Comments
So to sum it up: Your OSC isn't working with luajit, but working with every other version of lua? Can you post a log file of the player generated with |
Thanks for this sum up, I install here is the link for the log file you mentioned (both it seems I get some message as |
Yes, that seems like a borked lua setup. Which is either a build system issue, or just broken libraries. Also that should be broken whether or not you set that script option I would guesstimate. Well, the build system should be able to pick just one. The fact that you have both installed only means that in theory either one of them could get picked. The commit you point towards switches the priority to 5.2 and luajit over 5.1. Which makes sense. You can still override the selection to lua 5.1 specifically should you want that.
On the mpv development channel there's at least one person utilizing luajit with mpv, and for him both with and without that option work (specifically on macOS). |
Thank Jeeb Here are some update
then I remove my local repo folder, I run
Update: I manage to install
So the current status is on my machine, which is macOS 10.15.3, I am totally fine with this result, but I wonder whether Anyway, thank all for helping me figure out my workaround |
Great that you were able to poke around and have something work. For the record, the person on IRC is also utilizing luajit master/2.1 branch. So yes, it could just be that luajit's current release is borked on macOS (or how Homebrew builds it, I lay no blame on either side). Given that I heard random issues about luajit on macOS before I wouldn't be surprised with that luajit release having issues, although this is most likely the first time I've heard that it wouldn't load at all. |
Thanks again for confirming this info. Since the developer is using master/2.1 branch, Line 65 in faf24a2
to ( 'luajit', 'luajit >= 2.1.0' ), I modify this line from my local and build it again, I can create the PR if you guys are busy |
The problem is that macOS is the only one having issues. Blanket heightening the version doesn't really make sense. |
Agree. A dirty solution will looks like
|
some note before I close this issue:
Thank all |
See the previous commit for the full explanation. Basically, luajit 2.0 has a bad pc file on macos that causes libmpv to fail during build. The workaround was, if the os was darwin and luajit was found, to save a full luajit dep and a partial luajit dep with the link args removed. The partial dep was used for compiling libmpv, and the full dep was used for the actual mpv executable. This worked and was needed for the CI to pass but it sucked. Since the previous commit now makes the CI grab lua 5.1, we don't need all this crap anymore. Just delete it and treat the dependency normally. This does effectively mean that building libmpv with luajit 2.0 on macOS will no longer work with the meson build. However libraries not being built correctly is not a mpv-specific issue. The waf build will succeed for some reason, but it has known issues and it would be better if it just failed honestly. An upstream developer said years ago that that macOS users should use the 2.1 branch (and there's no release of course). In any case, no macOS user should be building mpv with luajit 2.0, so we shouldn't be going out of our way to support this. mpv-player#7512 LuaJIT/LuaJIT#521 (comment)
See the previous commit for the full explanation. Basically, luajit 2.0 has a bad pc file on macos that causes libmpv to fail during build. The workaround was, if the os was darwin and luajit was found, to save a full luajit dep and a partial luajit dep with the link args removed. The partial dep was used for compiling libmpv, and the full dep was used for the actual mpv executable. This worked and was needed for the CI to pass but it sucked. Since the previous commit now makes the CI grab lua 5.1, we don't need all this crap anymore. Just delete it and treat the dependency normally. This does effectively mean that building libmpv with luajit 2.0 on macOS will no longer work with the meson build. However libraries not being built correctly is not a mpv-specific issue. The waf build will succeed for some reason, but it has known issues and it would be better if it just failed honestly. An upstream developer said years ago that that macOS users should use the 2.1 branch (and there's no release of course). In any case, no macOS user should be building mpv with luajit 2.0, so we shouldn't be going out of our way to support this. mpv-player#7512 LuaJIT/LuaJIT#521 (comment)
See the previous commit for the full explanation. Basically, luajit 2.0 has a bad pc file on macos that causes libmpv to fail during build. The workaround was, if the os was darwin and luajit was found, to save a full luajit dep and a partial luajit dep with the link args removed. The partial dep was used for compiling libmpv, and the full dep was used for the actual mpv executable. This worked and was needed for the CI to pass but it sucked. Since the previous commit now makes the CI grab lua 5.1, we don't need all this crap anymore. Just delete it and treat the dependency normally. This does effectively mean that building libmpv with luajit 2.0 on macOS will no longer work with the meson build. However libraries not being built correctly is not a mpv-specific issue. The waf build will succeed for some reason, but it has known issues and it would be better if it just failed honestly. An upstream developer said years ago that that macOS users should use the 2.1 branch (and there's no release of course). In any case, no macOS user should be building mpv with luajit 2.0, so we shouldn't be going out of our way to support this. mpv-player#7512 LuaJIT/LuaJIT#521 (comment)
See the previous commit for the full explanation. Basically, luajit 2.0 has a bad pc file on macos that causes libmpv to fail during build. The workaround was, if the os was darwin and luajit was found, to save a full luajit dep and a partial luajit dep with the link args removed. The partial dep was used for compiling libmpv, and the full dep was used for the actual mpv executable. This worked and was needed for the CI to pass but it sucked. Since the previous commit now makes the CI grab lua 5.1, we don't need all this crap anymore. Just delete it and treat the dependency normally. This does effectively mean that building libmpv with luajit 2.0 on macOS will no longer work with the meson build. However libraries not being built correctly is not a mpv-specific issue. The waf build will succeed for some reason, but it has known issues and it would be better if it just failed honestly. An upstream developer said years ago that that macOS users should use the 2.1 branch (and there's no release of course). In any case, no macOS user should be building mpv with luajit 2.0, so we shouldn't be going out of our way to support this. #7512 LuaJIT/LuaJIT#521 (comment)
mpv version and platform versions
master
branch, Mac OS X 10.15.33Reproduction steps
this behavior happens after d852ad2
and only happens when both
luajit
andlua@5.1
are installed from HomebrewExpected behavior
in my
mpv.conf
, I added one line asfrom tag
release/0.32.0
or any commit before d852ad2I can get the OSC show up when I move my cursor
Actual behavior
But when I build from d852ad2 or any commit after this commit on master branch. The OSC could never show up
Log file
https://0x0.st/iT9G.txt
The issue will be closed for ignoring the issue template.
My thought
This issue ONLY happens when BOTH
luajit
andlua@5.1
are installed from Homebrew.Before d852ad2 , the build script will pick up
lua@5.1
first, after this commit, it will pick upluajit
I try to uninstall
luajit
from my local and build frommaster
again, the OSC comes back.I try to revert this commit on my local and build it again with both
luajit
andlua@5.1
installed, the OSC works well.I am not sure whether it is a compatible issue or a configuration issue.
A quick fix is revert this commit d852ad2 , or at least move
lua@5.1
on the top ofluajit
. I can create this PR if necessary.A long term solution seems like require some time to investigate further.
cc @wm4
The text was updated successfully, but these errors were encountered: