ActiveBlog

A comedy of errors... Kind of.
by Kevin "kj" Woolley

Kevin "kj" Woolley, December 15, 2005

Sometimes it's not the big problems that bring you down -- it's the small ones. In this post I will go over a few small problems and their solutions. My Perl program works great, until I compile it with PerlApp....

Sometimes it's not the big problems that bring you down -- it's the small ones.  In this post I will go over a few small problems and their solutions.

My Perl program works great, until I compile it with PerlApp.  When I run the executable, I get the error message "Unrecognized character \xEF at foo.pl line 1."

Fortunately, this one has an easy, though easy-to-miss solution.

The file is saved in Unicode, and there is a Byte-Order Mark (BOM) present.  A BOM helps a text editor figure out what byte order the file is saved in, but it can cause problems with PerlApp and other tools.

The solution is to save the file (or a copy of the file) without a BOM, and use that copy of the file when running PerlApp.

Using Komodo you can turn off BOMs for the current file by going to Edit | Current File Settings and deselecting "Use signature (BOM)".  Other editors will do it different ways, but it's almost always possible -- check the manual or help system for your editor.

I installed Komodo as root and the license as my regular account, but Komodo won't run.

If you install Komodo as root, it has to be run once as root before it will run as a regular user.  This allows things to get set up the way they should be.  If you use su or sudo to do the initial run as root, you may run into the next problem, too.

I ran Komodo once as root and now it works under my regular user account, but I can't save some preferences and/or the Preferences window doesn't close when I hit "Okay".

I ran into this one myself, and it took a bit of poking and prodding to figure out what was up.  Fortunately, the solution is an easy one.

If you use su or sudo to run Komodo for the first time, some preferences files get saved in your regular user's .komodo directory, but they are owned by root and not writable by your regular user account.  The solution is to execute "chown -R youruser:yourgroup /home/youruser/.komodo" as root, and things will work as they should.

I installed Komodo on my 64-bit Linux box, but it won't run at all.  How do I make it work?

Our very own JeffG actually has a blog entry dedicated to this.  I used it to get Komodo running on my AMD64 Kubuntu 5.10 box, and it works like a charm.

I wrote a script that uses the Switch Perl module.  It works great unwrapped, but when I wrap it with PerlApp it doesn't work.

This happens because the Switch module is implemented as a Perl source filter.  Currently, code that uses source filters cannot be processed by PerlApp.  There is no easy work-around for this that I am aware of -- the only option at this point seems to be to convert the code using Switch to use if...elsif...else clauses or one of the other alternatives from the perlsyn manual page.

There's a few to get us started.  Stay tuned for more.

Subscribe to ActiveState Blogs by Email

Share this post:

About the Author: RSS

kj is ActiveState’s Systems Administrator. He was born in London, Ontario, grew up in North Vancouver, and spent several years in the Northwest Territories doing technical sales. As a technical infrastructure specialist, he brings over twenty years of systems administration experience to ActiveState.