-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
Fix linux binary build process #3986
Comments
With completely static linking of pandoc, it does not appear possible to load .so lua modules, hence no lpeg. It doesn't look possible to statically compile in dl -- because the dl on the compilation machine may not match what is required on the host machine. Looks like we need both dynamic linking and the '-Wl,-E' options for it to work. I had hoped to make the completely static build the linux binary package -- this maximizes portability. But I guess we can't do that if we want lua filters to be able to use lpeg and others. We could still make the linux package completely static, and tell people who want to use dynamic libraries in their lua filters that they need to build pandoc themselves. Or we could continue to offer a dynamically linked linux package. |
Sorry, I had forgotten about this. Just providing a fully static binary seems to be the best option, even if it limits the capabilities of the included lua intepreter. We'll need to add a cabal flag for hslua, so '-Wl,-E' can be disabled selectively. This would offload the responsibility to build a full-featured pandoc binary to the package maintainers of linux distros. Many distros seem to prefer LuaJIT over the default Lua 5.3 anyway. If we find the time, we can still provide custom packages; not going down that rabbit hole right away seems like a sensible trade-off. |
+++ Albert Krewinkel [Oct 21 17 13:36 ]:
Sorry, I had forgotten about this.
Just providing a fully static binary seems to be the best option, even
if it limits the capabilities of the included lua intepreter. We'll
need to add a cabal flag for hslua, so '-Wl,-E' can be disabled
selectively.
Can you make a release of hslua with that option, then?
Or maybe it's better just not to include the linker option
at all in hslua?
… This would offload the responsibility to build a full-featured pandoc
binary to the package maintainers of the linux distros. Many distros
seem to prefer LuaJIT over the default Lua 5.3 anyway. If we find the
time, we can still provide custom packages; not going down that rabbit
hole right away seems like a sensible trade-off.
—
You are receiving this because you authored the thread.
Reply to this email directly, [1]view it on GitHub, or [2]mute the
thread.
References
1. #3986 (comment)
2. https://github.com/notifications/unsubscribe-auth/AAAL5BsjC31kytSfwW3DAUTUwEZ47OnQks5sulXrgaJpZM4QBoc8
|
I'm not comfortable deviating too far from the usual lua build parameters, so I added a cabal flag: dynamic symbol exporting can be prevented with hslua-0.9.2 by disabling the |
OK, thanks.
+++ Albert Krewinkel [Oct 22 17 21:06 ]:
… I'm not comfortable deviating too far from the usual lua build
parameters, so I added a cabal flag: dynamic symbol exporting can be
prevented with hslua-0.9.2 by disabling the export-dynamic flag.
—
You are receiving this because you authored the thread.
Reply to this email directly, [1]view it on GitHub, or [2]mute the
thread.
References
1. #3986 (comment)
2. https://github.com/notifications/unsubscribe-auth/AAAL5EMltiU1y-nZxa-fvsgdBnnEQxnVks5su645gaJpZM4QBoc8
|
OK, we have a fully static build now. Lua filters work, but not if they require .so files. |
Since the fully static build isn't working, revert to old build using an older debian image?
The text was updated successfully, but these errors were encountered: