in reply to Converting to exe

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".

Replies are listed 'Best First'.
Re^2: Converting to exe
by Anonymous Monk on Oct 13, 2011 at 07:14 UTC
    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.

        Thx, i will try the ActiveState distribution. It is funny that Perl App actually builds the exe in exact same way as the pp application(or package packer). So in other words i can build with PerlApp a script with a Strawberry Perl installation. It recognizes the paths to the modules(but not all how it seems).It builds but i get the same error as with the pp application

        I must say i'm a C++ programmer and i'm very new to the Perl world(3 separated weeks at max) so if i say something stupid ... that's also a explanation.

        Anyway i'll try the ActiveState solution and see further.