in reply to Re^2: Compiling Problems with PerlApp! Please Help.
in thread Compiling Problems with PerlApp! Please Help.

My wxPerl scripts compile fine once I install Alien-wxWidgets, Wx, and Wx-Perl-Packager. Of course, you will have to install any other modules you happen to use in your script to avoid compilation errors.
  • Comment on Re^3: Compiling Problems with PerlApp! Please Help.

Replies are listed 'Best First'.
Re^4: Compiling Problems with PerlApp! Please Help.
by StmyD (Initiate) on Oct 16, 2010 at 20:41 UTC

    The problem is, it does indeed compile without the wx BUT when other people try to use it it does not work on other machines. How can I make this program distributable? Thank you very much thus far you are helping me significantly.

      Make sure that "Make dependent executable" is not checked in the "Size" tab.
Re^4: Compiling Problems with PerlApp! Please Help.
by StmyD (Initiate) on Oct 16, 2010 at 21:06 UTC

    dependent executable is not checked. i just had my buddy execute this on his machine and he received the following error: "The program cant start because libcc_s_sjlj.dll is missing from your computer. Try reinstalling the program to fix this problem."

    any thoughts?

      I did a google search on libgcc_s_sjlj.dll. I couldn't find anything for just "libcc_". One thought: are you building and testing on 32 bit machines or is one of these a 64 bit? PerlApp is a 32 bit program and it makes 32 bit programs.

      As kind of a desperation move, uninstall PerlApp and ActiveState Perl, reboot and then re-install them both. Something may have gone wrong with your installation during some previous experiment. This was suggested before, but I second this: look on the ActiveState site and make sure that your PerlApp is compatible with the version of Perl that you are installing.

      Your program doesn't have any dependencies other than core functions. It should compile and run just fine as an "independent exe".

      Only use ppm to install new modules! ActiveState compiles the stuff in their repository and the installation will include their binary builds when needed. If you ever need to build a binary yourself, install the ActiveState version of mingw (its in their repository and use ppm to do that).

      Update: stuff like this: "I corrected that by pointing the directory to a different location" sounds a bit fishy. You shouldn't have to do anything like that! ppm knows where to install stuff and how to setup the paths. It is possible that you have created a path problem and hopefully the uninstall and re-install will set things right. BTW are you on Vista or XP?

      Sorry for the belated reply.

      I've never come across the error message you quoted and, of course, there is no file named libcc_s_sjlj.dll in my system. I tried to compile your script and (apart from a redundant "my" in the last line) it compiled fine and ran on systems with and without Perl installed (download the compiled script from http://www.iota.gr/test.exe and check it out yourself).

      So, my best guess at this point would be that you are probably using a version of Perl that is not supported by the version of PerlApp that you are running.

Re^4: Compiling Problems with PerlApp! Please Help.
by StmyD (Initiate) on Oct 16, 2010 at 20:27 UTC

    Im sorry, but where do i install Alien-wxWidgets, Wx, and Wx-Perl-Packager? Do I put them anywhere and then install them with PPM? Here is my code:

    #!/usr/bin/perl use strict; use warnings; print "Simple Letter Counting Program\n"; print "Written by StmyD\n"; print "Processing...\n"; print "Please type word for counting: "; my $name = "<STDIN>"; my $size = length(<STDIN>); my $final = $size - 1; my $super = 100 - $final; print "Your word contains $final letters and is $super letters away fr +om being 100 letters!\n"; print "Dare to try me again? Enter here: "; my $name2 = "<STDIN>"; my $size2 = length(<STDIN>); my $final2 = $size2 - 1; my $super2 = 100 - $final2; print "Your word contains $final2 letters and is $super2 letters away +from being 100 letters!\n"; print "One more time... next step gets interesting? Enter here: "; my $name3 = "<STDIN>"; my $size3 = length(<STDIN>); my $final3 = $size3 - 1; my $super3 = 100 - $final3; print "Your word contains $final3 letters and is $super3 letters away +from being 100 letters!\n"; print "CLICK ENTER to continue to next step, or type 420!\n"; my $text = <STDIN>; print "Ok, lets try something new. Enter two numbers when prompted and + i will tell you\n a bit about them.\n"; print "Number 1: \n"; my $number1 = <STDIN>; print "Number 2: \n"; my $number2 = <STDIN>; my $abs1 = abs($number1 - $number2); my $awesome = 100 - $abs1; print "These numbers are $abs1 integers apart and their difference is +$awesome\n integers away from 100 "; print "All done.\n"; print "CLICK ENTER to exit!\n"; my $text = <STDIN>;
      You should install all modules using PPM only but I can't understand why you tried to compile your script with wx support in the first place. Your script does not seem to make use of any wx features. So, it should compile without taking any of the steps I suggested above.