https://bugzilla.redhat.com/show_bug.cgi?id=498390



--- Comment #48 from Gerd Pokorra <[email protected]> ---
I already made some tests to do that.

NQP has the not documented configuration option --libdir. I installed a nqp
package on my computer which has the configuration --libdir=%{_libdir}. This
nqp rpm works fine.

In the rakudo.spec file I added the lines:

%{__sed} -i -e 's#$(PREFIX)/share/nqp/lib#%{_libdir}/nqp#g' Makefile
%{__sed} -i -e 's#/usr/share/nqp/lib#%{_libdir}/nqp#g' Makefile

So with that modifications all is installed at /usr/lib64/nqp on my computer:
# ls /usr/lib64/nqp
JASTNodes.jar           NQPHLL.jar       NQPP5QRegex.moarvm  QASTNode.jar
MASTNodes.moarvm        NQPHLL.moarvm    NQPP6QRegex.jar     QASTNode.moarvm
MASTOps.moarvm          nqp.jar          NQPP6QRegex.moarvm
QRegex.jarModuleLoader.jar        nqp.moarvm       Perl6              
QRegex.moarvm
...

But executing same perl6 code fails:

[gz016@vgerd2 ~]$ perl6 -e 'say 10'
While looking for '/usr/share/nqp/lib/Perl6/BOOTSTRAP.moarvm': no such file or
directory
   at gen/moar/ModuleLoader.nqp:83  (/usr/lib64/nqp/Perl6/ModuleLoader.moarvm:)
 from gen/moar/ModuleLoader.nqp:75 
(/usr/lib64/nqp/Perl6/ModuleLoader.moarvm:load_module)
...

The reason for that problem seems to be that the path $[prefix}/share/nqp/lib
is hardcoded in rakudo source files.

The source file src/Perl6/ModuleLoader.nqp has the following code at line 51:

            $file := ($include ?? $include ~ '/' !!
nqp::getcomp('perl6').config<prefix> ~ '/share/nqp/lib/') ~ $file;


For moving (installing) the files /usr/share/nqp/lib/Perl/*.moarvm also this
source files have to been changed. 
A other solution would be to configure the moarvm, nqp and rakudo rpms with the
configuration --prefix=%{_libdir}. I do not like this solution.

-- 
You are receiving this mail because:
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to