Bug 1809907

Summary: Pandoc Lua filter are broken on armv7hl
Product: [Fedora] Fedora Reporter: Elliott Sales de Andrade <quantum.analyst>
Component: pandocAssignee: Jens Petersen <petersen>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 30CC: petersen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-05-26 18:24:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Elliott Sales de Andrade 2020-03-04 06:55:43 UTC
Description of problem:
Running pandoc with Lua filters on armv7hl fails with a backtrace of not loading the pandoc Lua extension.


Version-Release number of selected component (if applicable):
pandoc-2.2.1-1.fc30.armv7hl
pandoc-common-2.2.1-1.fc30.noarch


Steps to Reproduce:
1. mock -r fedora-30-armhfp --forcearch=armv7hl --install pandoc
2. mock -r fedora-30-armhfp --forcearch=armv7hl --shell
3. Then run the following `test.md` with `filt.lua` through pandoc:

<mock-chroot> sh-5.0# cat > test.md <<EOF
> # Header
> 
> Some text.
> EOF

<mock-chroot> sh-5.0# cat > filt.lua <<EOF
> local pandocList = require 'pandoc.List'
> EOF


Actual results:
<mock-chroot> sh-5.0# pandoc --lua-filter filt.lua test.md 
Error running filter filt.lua:
Couldn't load 'init.lua'.
[string "-- This Lua script is run every time the Lua interpreter is started when running..."]:5: module 'pandoc' not found:
	no field package.preload['pandoc']
	no file '/usr/share/lua/5.3/pandoc.lua'
	no file '/usr/share/lua/5.3/pandoc/init.lua'
	no file '/usr/lib/lua/5.3/pandoc.lua'
	no file '/usr/lib/lua/5.3/pandoc/init.lua'
	no file './pandoc.lua'
	no file './pandoc/init.lua'
	no file '/usr/lib/lua/5.3/pandoc.so'
	no file '/usr/lib/lua/5.3/loadall.so'
	no file './pandoc.so'



Expected results:
On, e.g., x86_64, it runs and prints out the file converted to HTML.
<mock-chroot> sh-5.0# pandoc --lua-filter filt.lua test.md
<h1 id="header">Header</h1>
<p>Some text.</p>


Additional info:
This breaks building of R-rmarkdown and R-shiny if it happens to hit this arch.

Comment 1 Jens Petersen 2020-03-05 04:21:42 UTC
Thanks for reporting this.

So this is only with armv7hl on F30?

Comment 2 Elliott Sales de Andrade 2020-03-05 04:33:17 UTC
Yes, so far as I can tell. I tried fedora-30-i386 to see if it was a 32-bit problem, but that seemed to work fine.

Comment 3 Jens Petersen 2020-03-05 04:58:59 UTC
Is there a way to force an arch test build for R-markdown say?

Comment 4 Jens Petersen 2020-03-05 05:21:31 UTC
I see one difference for F30 x86_64:

$ cat ~/tmp/testing.lua
local pandocList = require 'pandoc2.List'
$ rpm -q pandoc pandoc-common
pandoc-2.2.1-1.fc30.x86_64
pandoc-common-2.2.1-1.fc30.noarch
$ echo | pandoc --lua-filter ~/tmp/testing.lua 
Error running filter /var/home/petersen/tmp/testing.lua:
/var/home/petersen/tmp/testing.lua:1: module 'pandoc2.List' not found:no file 'pandoc2.List.lua' in pandoc's datadir
	no field package.preload['pandoc2.List']
	no file '/usr/share/lua/5.3/pandoc2/List.lua'
	no file '/usr/share/lua/5.3/pandoc2/List/init.lua'
	no file '/usr/lib64/lua/5.3/pandoc2/List.lua'
	no file '/usr/lib64/lua/5.3/pandoc2/List/init.lua'
	no file './pandoc2/List.lua'
	no file './pandoc2/List/init.lua'
	no file '/usr/lib64/lua/5.3/pandoc2/List.so'
	no file '/usr/lib64/lua/5.3/loadall.so'
	no file './pandoc2/List.so'
	no file '/usr/lib64/lua/5.3/pandoc2.so'
	no file '/usr/lib64/lua/5.3/loadall.so'
	no file './pandoc2.so'

Note the "no file 'pandoc2.List.lua' in pandoc's datadir" (which should really be on a newline - like in newer pandoc).

Comment 5 Jens Petersen 2020-03-05 06:25:25 UTC
(In reply to Jens Petersen from comment #3)
> Is there a way to force an arch test build for R-markdown say?

You are correct, it seems to only affect 32bit arm:

https://koji.fedoraproject.org/koji/taskinfo?taskID=42208121

One other thing, the f30 pandoc build is currently unstripped due to a ghc-rpm-macros bug in F30 GA.
I could try rebuilding pandoc anyway - just to see if that somehow helps.

Comment 6 Jens Petersen 2020-03-05 07:28:50 UTC
(In reply to Jens Petersen from comment #4)
> I see one difference for F30 x86_64:
:
> Error running filter /var/home/petersen/tmp/testing.lua:
> /var/home/petersen/tmp/testing.lua:1: module 'pandoc2.List' not found:no
> file 'pandoc2.List.lua' in pandoc's datadir
:
> Note the "no file 'pandoc2.List.lua' in pandoc's datadir" (which should
> really be on a newline - like in newer pandoc).

This only happens too on armv7hl (eg if the module is really missing).

https://koji.fedoraproject.org/koji/taskinfo?taskID=42208646

Comment 7 Ben Cotton 2020-04-30 20:22:59 UTC
This message is a reminder that Fedora 30 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 30 on 2020-05-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '30'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 30 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 8 Ben Cotton 2020-05-26 18:24:06 UTC
Fedora 30 changed to end-of-life (EOL) status on 2020-05-26. Fedora 30 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.