in reply to Troubles creating a .exe

If I understand you correctly, this is actually a very common problem when making .exe's. The program runs, but not after you've made the .exe. Problem is that some things are "autoloaded" when running native and you need to get that stuff into the .exe. Easy way is to add "use Algorithm::Diff;" etc to the source code. This a "hint" that will cause PerlApp to include that into the .exe - then it will be found when the .exe runs. Any module that has an explicit "use" statement gets forced into the .exe.

If these are errors from PerlApp instead of .exe run time errors, then that means that the modules were not installed correctly using PPM. With ActiveState only use PPM for module installation! Active State PPM (Perl Package Manager) works with pre-compiled .ppd files. If the modules are installed correctly (ie with PPM), PerlApp will find the XS DLL's, etc.

I've been a PerlApp user for more than a decade and this thing works well. I would use the GUI version which allows you to save all of the settings as a type of "project file". This is easier than working with the command line and 5 bazillion options.

Anyway more of explanation of where this is going wrong would help. I hope what I said the first 2 paragraphs is helpful. I believe that is likely to solve your problem.

Replies are listed 'Best First'.
Re^2: Troubles creating a .exe
by cbouwkamp (Novice) on Feb 26, 2012 at 03:08 UTC
    I do use PPM to install my packages. It actually is recently that I have started getting the errors using perlApp. When I try to add Net Module it says that it cannot locate it. I then go to ppm and it says that it is installed in the library it is pointing to.
      This kind of "oh, it used to work, but it doesn't any more" question is different.

      I would assume that something changed and we don't know what.What does your %path% environment variable say?

      Did you upgrade Perl in the meantime?

      It is possible to "re-initialize" your system. Of course a full back-up is mandatory before you try this!!!...

      see "ppm help" for ppm profile save and ppm profile restore.

      This generates an XML file that can be fed into ppm to re-install your modules. Make a profile, Uninstall Perl,reboot, reinstall Perl, use ppm to run this saved profile. DANGER: Depending upon the Perl upgrade history of your machine, this may cause some trouble!

      However, at this point, I'm thinking that something has gone wrong in the path rather than some fundamental flaw in the installation. I mean you have runnable code outside of the .exe so something about your installation is right!

        I uninstalled perl restarted and reinstalled it. I am still getting these same damn errors that never change.
        Can't locate Mojo/EventEmitter.pm in @INC (@INC contains:) at /<C:\Use +rs\Chris\Desktop\Crysys\RTXCountdown\RTX.exe>Mojo/Base.pm line 32. BEGIN failed--compilation aborted at /<C:\Users\Chris\Desktop\Crysys\R +TXCountdown\RTX.exe>Mojo/UserAgent.pm line 2. BEGIN failed--compilation aborted at /<C:\Users\Chris\Desktop\Crysys\R +TXCountdown\RTX.exe>Google/Voice.pm line 6. BEGIN failed--compilation aborted at RTX.pl line 4.
        also I did upgrade to Activeperl 5.14.2 Build 1402
      What does this mean: "When I try to add Net Module it says that it cannot locate it"? Add by what means?
        Yes it works great when it is in komodo IDE. I just cant create the perl app.
        When I try to add the module in perl app it gives me this error on it: PerlApp is not able to locate Net.pm using the current module search path. This module is probably required. If this module is required then adjust the module search path on the Main tab so that it can be found. Otherwise consider trimming the module in order to hide this error. But my search paths are C:\Perl\Lib and C:\Perl\Site\Lib which is where the PPM says its located