http://qs321.pair.com?node_id=758314


in reply to POE & Tk totally confound perlapp (or am I missing something?)

Off the top of my head, where you do --add "POE::Loop::Select", you probably should do --add "POE::Loop::TkActiveState" instead.

Untested, as my Windows VM is currently offline.

Replies are listed 'Best First'.
Re^2: POE & Tk totally confound perlapp (or am I missing something?)
by cmv (Chaplain) on Apr 17, 2009 at 19:13 UTC
    Rocco-

    Thanks for the help! I tried replacing the POE::Loop::Select with POE::Loop::TkActiveState, but that didn't make a difference, so I put things back the way they were.

    Looking at the original perlapp output, I noticed that POE::Loop::TkActiveState is already included. Here is the complete list (for future reference):

      That seems helpful.

      You should definitely not include POE::Loop::Select, since it's mutually exclusive of POE::Loop::TkActiveState.

      Can you force PerlApp to exclude modules? It may be that perlapp is too aggressive about including modules it finds in the source code, including POE::Loop::Select when it shouldn't be used.

      perlapp's output includes a number of errors, many of them within Tk. For example:

      +++ C:\Perl\lib\auto\Tk\tabFocus.al auto\tk\tk.dll: error: Case mismatch between module and file name refby: C:\Perl\lib\Tk.pm file: C:\Perl\lib\auto\Tk\Tk.dll

      That shouldn't be an issue on Windows, which uses a case-insensitive filesystem. I don't know whether it's significant for PerlApp, though.

      Maybe we can narrow this down to a POE issue vs. a Tk issue? Have you tried bundling up a program that uses POE by itself? Have you tried bundling up a Tk program that doesn't use POE? Do they work separately?