[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl] General Perl question, sorry



Don Blaheta <blahedo@quincy.edu> writes:
>I posted this to the newsgroup, but got no response, so I thought I'd
>try here, even though it isn't MacPerl specific...

Not only is this not MacPerl specific, but it's specific to a different OS.
Please don't let this become a habit.

However, I both know the answer and feel I can use it to give a rough sketch
of the future in MacPerl, so I'll answer it.

>Whenever I try to use Perl modules on this Linux machine, it barfs.  I
>don't have root access, so I only have them in my account, but that
>doesn't seem to be the problem. 

It might be at least part of the problem.

> It _finds_ the module file, then it
>gives me the following error:
>
>Can't load module GD, dynamic loading not available in this perl at GD.pm line
 49
>BEGIN failed--compilation aborted at demos/fills.pl line 3.
>
>line 49 of GD.pm just says 
>
>bootstrap GD;
>
>and line 3 of fills.pl is the call to GD.  It's not just GD.pm, either,
>because I got the exact same problems with the curses port.  What's
>going on here?

What you're seeing here is the DynaLoader, an ultramodern Perl5 extension.
GD is written in C. If you wanted to use something like this in Perl4, you
had to statically link it into the Perl executable.

With Perl5 however, the OS searches for a dynamic library containing the C
code and executes the initialization routine. The exact mechanism for this
is highly system dependent, even between different versions of Unix. Thus,
there are about half a dozen DynaLoader variants, and it seems like your
admin configured Perl to use none of them. Thus the above message. The
situation for curses is exactly identical.

What does all of this have to do with MacPerl? Well, DynaLoader actually has
worked for me on the PPC in experimental setups. One of my higher priority 
tasks during the next months will be to turn this into an actual solid 
feature with the assistance of Tim Endres, who will take over the CFM-68K 
side of things.

Matthias

-----
Matthias Neeracher <neeri@iis.ee.ethz.ch> http://err.ethz.ch/members/neeri.html
   "Of course the government and the newspapers lie.  But in a 
    democracy they're not the *same* lies!" - GURPS Illuminati