Why do I get 'divide by zero` errors when I try to run my script with Rakudo?












4















I just built Rakudo and Parrot so that I could play with it and get started on learning Perl 6. I downloaded the Perl 6 book and happily typed in the first demo program (the tennis tournament example).



When I try to run the program, I get an error:



Divide by zero
current instr.: '' pc -1 ((unknown file):-1)


I have my perl6 binary in the build directory. I added a scripts directory under the rakudo build directory:



  rakudo
|- perl6
- scripts
|- perlbook_02.01
- scores


If I try to run even a simple hello world script from my scripts directory I get the same error:



#!/home/daotoad/rakudo/perl6

use v6;
say "Hello nurse!";


However if I run it from the rakudo directory it works.



It sounds like there are some environment variables I need to set, but I am at a lost as to what the are and what values to give them.



Any thoughts?



Update:



I'd rather not install rakudo at this point, I'd rather just run things from the build directory. This will allow me to keep my changes to my system minimal as I try out different Perl6 builds (Rakudo * is out very soon).



The README file encouraged me to think that this was possible:




   $ cd rakudo
$ perl Configure.pl --gen-parrot
$ make


This will create a "perl6" or "perl6.exe" executable in the
current (rakudo) directory. Programs can then be run from
the build directory using a command like:



   $ ./perl6 hello.pl



Upon rereading, I found a reference to the fact that it is necessary to install rakudo before running scripts outside the build directory:




Once built, Rakudo's make install target will install Rakudo
and its libraries into the Parrot installation that was used to
create it. Until this step is performed, the "perl6" executable
created by make above can only be reliably run from the root of
Rakudo's build directory. After make install is performed,
the installed executable can be run from any directory (as long as
the Parrot installation that was used to create it remains intact).




So it looks like I need to install rakudo to play with Perl 6.



The next question is, where rakudo be installed? README says into the Parrot install used to build.



I used the --gen-parrot option in my build, which looks like it installs into rakudo/parrot-install. So rakudo will be installed into my rakudoparrot-install?



Reading the Makefile, supports this conclusion. I ran make install, and it did install into parrot_install.



This part of the build/install process is unclear for a newbie to Perl6. I'll see if I can up with a documentation patch to clarify things.



Off the top of my head:




  1. Emphasize running make install before running scripts outside of build. This requirement is currently burried in the middle of a paragraph and can be easily missed by someone skimming the docs (me).


  2. Explicitly state that with --gen-parrot will install perl6 into the parrot_install directory.











share|improve this question





























    4















    I just built Rakudo and Parrot so that I could play with it and get started on learning Perl 6. I downloaded the Perl 6 book and happily typed in the first demo program (the tennis tournament example).



    When I try to run the program, I get an error:



    Divide by zero
    current instr.: '' pc -1 ((unknown file):-1)


    I have my perl6 binary in the build directory. I added a scripts directory under the rakudo build directory:



      rakudo
    |- perl6
    - scripts
    |- perlbook_02.01
    - scores


    If I try to run even a simple hello world script from my scripts directory I get the same error:



    #!/home/daotoad/rakudo/perl6

    use v6;
    say "Hello nurse!";


    However if I run it from the rakudo directory it works.



    It sounds like there are some environment variables I need to set, but I am at a lost as to what the are and what values to give them.



    Any thoughts?



    Update:



    I'd rather not install rakudo at this point, I'd rather just run things from the build directory. This will allow me to keep my changes to my system minimal as I try out different Perl6 builds (Rakudo * is out very soon).



    The README file encouraged me to think that this was possible:




       $ cd rakudo
    $ perl Configure.pl --gen-parrot
    $ make


    This will create a "perl6" or "perl6.exe" executable in the
    current (rakudo) directory. Programs can then be run from
    the build directory using a command like:



       $ ./perl6 hello.pl



    Upon rereading, I found a reference to the fact that it is necessary to install rakudo before running scripts outside the build directory:




    Once built, Rakudo's make install target will install Rakudo
    and its libraries into the Parrot installation that was used to
    create it. Until this step is performed, the "perl6" executable
    created by make above can only be reliably run from the root of
    Rakudo's build directory. After make install is performed,
    the installed executable can be run from any directory (as long as
    the Parrot installation that was used to create it remains intact).




    So it looks like I need to install rakudo to play with Perl 6.



    The next question is, where rakudo be installed? README says into the Parrot install used to build.



    I used the --gen-parrot option in my build, which looks like it installs into rakudo/parrot-install. So rakudo will be installed into my rakudoparrot-install?



    Reading the Makefile, supports this conclusion. I ran make install, and it did install into parrot_install.



    This part of the build/install process is unclear for a newbie to Perl6. I'll see if I can up with a documentation patch to clarify things.



    Off the top of my head:




    1. Emphasize running make install before running scripts outside of build. This requirement is currently burried in the middle of a paragraph and can be easily missed by someone skimming the docs (me).


    2. Explicitly state that with --gen-parrot will install perl6 into the parrot_install directory.











    share|improve this question



























      4












      4








      4








      I just built Rakudo and Parrot so that I could play with it and get started on learning Perl 6. I downloaded the Perl 6 book and happily typed in the first demo program (the tennis tournament example).



      When I try to run the program, I get an error:



      Divide by zero
      current instr.: '' pc -1 ((unknown file):-1)


      I have my perl6 binary in the build directory. I added a scripts directory under the rakudo build directory:



        rakudo
      |- perl6
      - scripts
      |- perlbook_02.01
      - scores


      If I try to run even a simple hello world script from my scripts directory I get the same error:



      #!/home/daotoad/rakudo/perl6

      use v6;
      say "Hello nurse!";


      However if I run it from the rakudo directory it works.



      It sounds like there are some environment variables I need to set, but I am at a lost as to what the are and what values to give them.



      Any thoughts?



      Update:



      I'd rather not install rakudo at this point, I'd rather just run things from the build directory. This will allow me to keep my changes to my system minimal as I try out different Perl6 builds (Rakudo * is out very soon).



      The README file encouraged me to think that this was possible:




         $ cd rakudo
      $ perl Configure.pl --gen-parrot
      $ make


      This will create a "perl6" or "perl6.exe" executable in the
      current (rakudo) directory. Programs can then be run from
      the build directory using a command like:



         $ ./perl6 hello.pl



      Upon rereading, I found a reference to the fact that it is necessary to install rakudo before running scripts outside the build directory:




      Once built, Rakudo's make install target will install Rakudo
      and its libraries into the Parrot installation that was used to
      create it. Until this step is performed, the "perl6" executable
      created by make above can only be reliably run from the root of
      Rakudo's build directory. After make install is performed,
      the installed executable can be run from any directory (as long as
      the Parrot installation that was used to create it remains intact).




      So it looks like I need to install rakudo to play with Perl 6.



      The next question is, where rakudo be installed? README says into the Parrot install used to build.



      I used the --gen-parrot option in my build, which looks like it installs into rakudo/parrot-install. So rakudo will be installed into my rakudoparrot-install?



      Reading the Makefile, supports this conclusion. I ran make install, and it did install into parrot_install.



      This part of the build/install process is unclear for a newbie to Perl6. I'll see if I can up with a documentation patch to clarify things.



      Off the top of my head:




      1. Emphasize running make install before running scripts outside of build. This requirement is currently burried in the middle of a paragraph and can be easily missed by someone skimming the docs (me).


      2. Explicitly state that with --gen-parrot will install perl6 into the parrot_install directory.











      share|improve this question
















      I just built Rakudo and Parrot so that I could play with it and get started on learning Perl 6. I downloaded the Perl 6 book and happily typed in the first demo program (the tennis tournament example).



      When I try to run the program, I get an error:



      Divide by zero
      current instr.: '' pc -1 ((unknown file):-1)


      I have my perl6 binary in the build directory. I added a scripts directory under the rakudo build directory:



        rakudo
      |- perl6
      - scripts
      |- perlbook_02.01
      - scores


      If I try to run even a simple hello world script from my scripts directory I get the same error:



      #!/home/daotoad/rakudo/perl6

      use v6;
      say "Hello nurse!";


      However if I run it from the rakudo directory it works.



      It sounds like there are some environment variables I need to set, but I am at a lost as to what the are and what values to give them.



      Any thoughts?



      Update:



      I'd rather not install rakudo at this point, I'd rather just run things from the build directory. This will allow me to keep my changes to my system minimal as I try out different Perl6 builds (Rakudo * is out very soon).



      The README file encouraged me to think that this was possible:




         $ cd rakudo
      $ perl Configure.pl --gen-parrot
      $ make


      This will create a "perl6" or "perl6.exe" executable in the
      current (rakudo) directory. Programs can then be run from
      the build directory using a command like:



         $ ./perl6 hello.pl



      Upon rereading, I found a reference to the fact that it is necessary to install rakudo before running scripts outside the build directory:




      Once built, Rakudo's make install target will install Rakudo
      and its libraries into the Parrot installation that was used to
      create it. Until this step is performed, the "perl6" executable
      created by make above can only be reliably run from the root of
      Rakudo's build directory. After make install is performed,
      the installed executable can be run from any directory (as long as
      the Parrot installation that was used to create it remains intact).




      So it looks like I need to install rakudo to play with Perl 6.



      The next question is, where rakudo be installed? README says into the Parrot install used to build.



      I used the --gen-parrot option in my build, which looks like it installs into rakudo/parrot-install. So rakudo will be installed into my rakudoparrot-install?



      Reading the Makefile, supports this conclusion. I ran make install, and it did install into parrot_install.



      This part of the build/install process is unclear for a newbie to Perl6. I'll see if I can up with a documentation patch to clarify things.



      Off the top of my head:




      1. Emphasize running make install before running scripts outside of build. This requirement is currently burried in the middle of a paragraph and can be easily missed by someone skimming the docs (me).


      2. Explicitly state that with --gen-parrot will install perl6 into the parrot_install directory.








      perl6 rakudo






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 1 at 20:24









      Ether

      44.6k1174150




      44.6k1174150










      asked Jun 29 '10 at 19:31









      daotoaddaotoad

      22.1k74896




      22.1k74896
























          2 Answers
          2






          active

          oldest

          votes


















          5














          Did you run make install in Rakudo?



          It's necessary to do it to be able to use Rakudo outside its build directory (and that's why both the README and http://rakudo.org/how-to-get-rakudo tell you to do it.



          Don't worry, the default install location is local (in parrot_install/bin/perl inside your rakudo directory).






          share|improve this answer
























          • Thanks for the answer. I updated my question to give a bigger response.

            – daotoad
            Jun 30 '10 at 0:57



















          3














          In response to your update I've now updated the README:



          http://github.com/rakudo/rakudo/commit/261eb2ae08fee75a0a0e3935ef64c516e8bc2b98



          I hope you find that clearer than before. If you still see room for improvement, please consider submitting a patch to rakudobug@perl.org.






          share|improve this answer
























          • Can I accept both your answers? Thank you, all your work is really appreciated. You and the rest of the perl6 team are doing amazing work in the face of a vicious environment of FUD and naysayers. My sincerest thanks to you all.

            – daotoad
            Jun 30 '10 at 22:02











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f3144043%2fwhy-do-i-get-divide-by-zero-errors-when-i-try-to-run-my-script-with-rakudo%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5














          Did you run make install in Rakudo?



          It's necessary to do it to be able to use Rakudo outside its build directory (and that's why both the README and http://rakudo.org/how-to-get-rakudo tell you to do it.



          Don't worry, the default install location is local (in parrot_install/bin/perl inside your rakudo directory).






          share|improve this answer
























          • Thanks for the answer. I updated my question to give a bigger response.

            – daotoad
            Jun 30 '10 at 0:57
















          5














          Did you run make install in Rakudo?



          It's necessary to do it to be able to use Rakudo outside its build directory (and that's why both the README and http://rakudo.org/how-to-get-rakudo tell you to do it.



          Don't worry, the default install location is local (in parrot_install/bin/perl inside your rakudo directory).






          share|improve this answer
























          • Thanks for the answer. I updated my question to give a bigger response.

            – daotoad
            Jun 30 '10 at 0:57














          5












          5








          5







          Did you run make install in Rakudo?



          It's necessary to do it to be able to use Rakudo outside its build directory (and that's why both the README and http://rakudo.org/how-to-get-rakudo tell you to do it.



          Don't worry, the default install location is local (in parrot_install/bin/perl inside your rakudo directory).






          share|improve this answer













          Did you run make install in Rakudo?



          It's necessary to do it to be able to use Rakudo outside its build directory (and that's why both the README and http://rakudo.org/how-to-get-rakudo tell you to do it.



          Don't worry, the default install location is local (in parrot_install/bin/perl inside your rakudo directory).







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jun 29 '10 at 22:17









          moritzmoritz

          10.8k12851




          10.8k12851













          • Thanks for the answer. I updated my question to give a bigger response.

            – daotoad
            Jun 30 '10 at 0:57



















          • Thanks for the answer. I updated my question to give a bigger response.

            – daotoad
            Jun 30 '10 at 0:57

















          Thanks for the answer. I updated my question to give a bigger response.

          – daotoad
          Jun 30 '10 at 0:57





          Thanks for the answer. I updated my question to give a bigger response.

          – daotoad
          Jun 30 '10 at 0:57













          3














          In response to your update I've now updated the README:



          http://github.com/rakudo/rakudo/commit/261eb2ae08fee75a0a0e3935ef64c516e8bc2b98



          I hope you find that clearer than before. If you still see room for improvement, please consider submitting a patch to rakudobug@perl.org.






          share|improve this answer
























          • Can I accept both your answers? Thank you, all your work is really appreciated. You and the rest of the perl6 team are doing amazing work in the face of a vicious environment of FUD and naysayers. My sincerest thanks to you all.

            – daotoad
            Jun 30 '10 at 22:02
















          3














          In response to your update I've now updated the README:



          http://github.com/rakudo/rakudo/commit/261eb2ae08fee75a0a0e3935ef64c516e8bc2b98



          I hope you find that clearer than before. If you still see room for improvement, please consider submitting a patch to rakudobug@perl.org.






          share|improve this answer
























          • Can I accept both your answers? Thank you, all your work is really appreciated. You and the rest of the perl6 team are doing amazing work in the face of a vicious environment of FUD and naysayers. My sincerest thanks to you all.

            – daotoad
            Jun 30 '10 at 22:02














          3












          3








          3







          In response to your update I've now updated the README:



          http://github.com/rakudo/rakudo/commit/261eb2ae08fee75a0a0e3935ef64c516e8bc2b98



          I hope you find that clearer than before. If you still see room for improvement, please consider submitting a patch to rakudobug@perl.org.






          share|improve this answer













          In response to your update I've now updated the README:



          http://github.com/rakudo/rakudo/commit/261eb2ae08fee75a0a0e3935ef64c516e8bc2b98



          I hope you find that clearer than before. If you still see room for improvement, please consider submitting a patch to rakudobug@perl.org.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jun 30 '10 at 10:02









          moritzmoritz

          10.8k12851




          10.8k12851













          • Can I accept both your answers? Thank you, all your work is really appreciated. You and the rest of the perl6 team are doing amazing work in the face of a vicious environment of FUD and naysayers. My sincerest thanks to you all.

            – daotoad
            Jun 30 '10 at 22:02



















          • Can I accept both your answers? Thank you, all your work is really appreciated. You and the rest of the perl6 team are doing amazing work in the face of a vicious environment of FUD and naysayers. My sincerest thanks to you all.

            – daotoad
            Jun 30 '10 at 22:02

















          Can I accept both your answers? Thank you, all your work is really appreciated. You and the rest of the perl6 team are doing amazing work in the face of a vicious environment of FUD and naysayers. My sincerest thanks to you all.

          – daotoad
          Jun 30 '10 at 22:02





          Can I accept both your answers? Thank you, all your work is really appreciated. You and the rest of the perl6 team are doing amazing work in the face of a vicious environment of FUD and naysayers. My sincerest thanks to you all.

          – daotoad
          Jun 30 '10 at 22:02


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f3144043%2fwhy-do-i-get-divide-by-zero-errors-when-i-try-to-run-my-script-with-rakudo%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          MongoDB - Not Authorized To Execute Command

          How to fix TextFormField cause rebuild widget in Flutter

          Npm cannot find a required file even through it is in the searched directory