metronomu has asked for the wisdom of the Perl Monks concerning the following question:

This node falls below the community's threshold of quality. You may see it by logging in.

Replies are listed 'Best First'.
Re: Converting to exe
by Anonymous Monk on Oct 13, 2011 at 03:24 UTC

    Hello all, i have put this question a few days but didn't got a helping answer.

    Yes you did, Re: Convert to exe

Re: Converting to exe
by Marshall (Canon) on Oct 13, 2011 at 06:11 UTC
    I don't use pp, because I have a license for PerlApp. That is an easier albeit more expensive way to go. PerlApp does in one application some things that otherwise require multiple utilities.

    With PerlApp, all you will need a "use XML::LibXML;" statement in the source. That's it. No -m, no -x. Perlapp is pretty smart and that will cause the necessary stuff to be included in the .exe. Oh, I presume that you are building a standalone .exe?

    This is a guess...
    Now it could be that you have a corrupted Active State installation. This can happen in a number of ways. One way is if you built some XS module with an incompatible memory manager linkage.

    Basically you need to link with the OS's memory mgmt, MSVCRT.dll. That means that you have 2 choices of compilers: VC6 or mingw. If you built something and didn't use one of those - Houston, you have a problem!

    With Active State, it is far easier to use ppm to install pre-compiled modules rather than try to build them yourself from CPAN! There are scenarios where you can wind up with stuff that will only work on your machine and not others and I think also the kind of symptom that you are describing.

    So, if you want help with PerlApp, back up. Run the GUI version (not CLI version). Accept all defaults - nothing fancy - don't start off trying to be smarter than the tool. Rebuild your .exe and report back what errors you see. If some module cannot be found, you will only dig yourself a deeper hole by trying to force something that shouldn't need to be forced!

    If you have made build mistakes and need to re-install your Active State Perl....

    1. >ppm profile save C:\profile.xml
    make sure that this file looks good in text editor.
    2. use add/remove programs to uninstall Perl
    delete all data C:/Perl
    3. reinstall appropriate Active State MSI file
    4. >ppm profile restore C:\profile.xml
    this will re-install all modules that you previously installed
    5. use ppm to add any modules that you find are "missing".

      Thx for responding. Im really sorry, i assumed something(for this you can be stoned in programming), i don't use Active State Perl, i use the Strawberry Perl distribution, i only used the PerlApp(perhaps that's the reason PerlApp didn't built right) application for trying to build the standalone exe. Regarding "use XML::LibXML" with pp it still doesn't work(the same error, it doesn't find the SAX.pm module). With PerlApp i still have to try this. I will install the the ActiveState Perl distribution and try again.
        Well I am a bit confused. PerlApp is part of Active State's development kit and will cost you about $300 - check their website for current pricing. This thing works better and is smarter than the free tools, but you have to buy it!

        I must say that I am no salesman for Active State. I started using this thing a long time ago, Win NT, Perl 5.6. They've come a long way and the tool has definitely progressed. I am a satisfied user and I have found that this thing works.

        Basically if you are getting paid money to write the Perl program that you want to make into an exe, then paying some money to make that process easier and better is not that much of a stretch.

        You can use pp with ActiveState Perl. But you cannot use PerlApp with Strawberry Perl. Again, after a decade+ use, I would recommend PerlApp for professional environments.

Re: Converting to exe
by Anonymous Monk on Oct 13, 2011 at 08:23 UTC