Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
General
GeneralPortable MacsHardwareNetworking
Applications
Mac ApplicationsEudoraFirefox / MozillaInternet ExplorerOutlook ExpressMS OfficeEntourageExcelPowerPointWordVirtual PCMedia PlayerOther MS Products
Programming
Mac ProgrammingCodeWarriorPerl
Country Specific
Australian Mac GroupUK Mac Group

Mac Forum / Programming / Perl / October 2006



Tip: Looking for answers? Try searching our database.

Upgrading Perl 5.8.8

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Robert Hicks - 26 Sep 2006 00:27 GMT
I know that Tiger comes with 5.8.6 but I would like to get 5.8.8 up and
running.

I am just wondering if I should:

a) download and compile Perl myself and replace the Tiger version
b) use macports (aka darwinports) to install 5.8.8 in /opt

What did you do?

Robert
Gisle Aas - 26 Sep 2006 11:56 GMT
> I know that Tiger comes with 5.8.6 but I would like to get 5.8.8 up
> and running.
[quoted text clipped - 5 lines]
>
> What did you do?

I installed ActivePerl :)

 http://downloads.activestate.com/ActivePerl/MacOSX/5.8/

Signature

Gisle Aas

David Cantrell - 26 Sep 2006 12:16 GMT
> I know that Tiger comes with 5.8.6 but I would like to get 5.8.8 up and
> running.
> I am just wondering if I should:
> a) download and compile Perl myself and replace the Tiger version

Don't do that.  It's possible (unlikely, I'll admit) that that will
break some of Apple's stuff, or that your nice shiny new 5.8.8 might get
downgraded by Software Update at some point.

> b) use macports (aka darwinports) to install 5.8.8 in /opt

Do that - or build your own and put it in /usr/local or similar.

Signature

David Cantrell | top google result for "topless karaoke murders"

   If I could read only one thing it would be the future, in the
   entrails of the bastard denying me access to anything else.

John Delacour - 26 Sep 2006 13:34 GMT
>I know that Tiger comes with 5.8.6 but I would like to get 5.8.8 up
>and running.
[quoted text clipped - 5 lines]
>
>What did you do?

Apple's installation is in /usr/bin.  There is no need either to
replace it or to use any fink, darwinport etc.  Just install it in
/usr/local/bin, which is the default anyway.  Read the install file.

JD
Ray Zimmerman - 26 Sep 2006 14:20 GMT
> Apple's installation is in /usr/bin.  There is no need either to  
> replace it or to use any fink, darwinport etc.  Just install it in /
> usr/local/bin, which is the default anyway.  Read the install file.

This is what I've been doing for years. Then I replace /usr/bin/perl  
with a symlink to /usr/local/bin/perl. This leaves me with a default  
Perl install whose @INC does not include Apple's libraries, only  
those in /usr/local/perl-5.8.x.

I never noticed any issues with this until recently I had occasion to  
boot my PowerBook into single-user mode and at one point (I believe  
it was when shutting down) I saw the following in an error message ...

/System/CoreServices/RemoteManagement/ARDAget.app/Contents/Resources/
kickstart line 277
Can't locate Foundation.pm

Apparently a script related to Apple Remote Desktop Agent. And I did  
find Foundation.pm at /System/Library/Perl/Extras/5.8.6/darwin-thread-
multi-2level/Foundation.pm (which of course is not in my @INC).

So my question is ... what is the best way to make sure my new  
install (in /usr/local/) has everything the OS expects? Can I just  
install a few extra CPAN modules and make the OS happy, or do other  
apps install things in the Library/Perl dirs too?

What do the rest of you do?

    Ray
Joel Rees - 26 Sep 2006 14:40 GMT
>> Apple's installation is in /usr/bin.  There is no need either to  
>> replace it or to use any fink, darwinport etc.  Just install it  
[quoted text clipped - 25 lines]
>
> What do the rest of you do?

For my part, I leave the symbolic link at /usr/bin/perl as it is. If  
the system perl needs to be upgraded for some reason, Apple's system  
update can do it. I keep my hands off the systems perl.

To use the parallel install of perl, I just put /usr/local/bin/perl  
on the shebang, and/or edit the path in the .bash_profile script so  
that /usr/local/bin comes first in the path.
Sherm Pendley - 26 Sep 2006 16:56 GMT
>> Apple's installation is in /usr/bin.  There is no need either to  
>> replace it or to use any fink, darwinport etc.  Just install it  
[quoted text clipped - 3 lines]
> This is what I've been doing for years. Then I replace /usr/bin/
> perl with a symlink to /usr/local/bin/perl.

...

> So my question is ... what is the best way to make sure my new  
> install (in /usr/local/) has everything the OS expects?

Leave /usr/bin/perl alone, and write your own scripts with #!/usr/
local/bin/perl.

> Can I just install a few extra CPAN modules and make the OS happy

Why do that, when it's trivially simple to avoid making it unhappy to  
begin with?

> What do the rest of you do?

I use 5.8.6. My scripts run fine with it, and why fix what ain't broke?

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net
Ray Zimmerman - 26 Sep 2006 17:17 GMT
>> So my question is ... what is the best way to make sure my new  
>> install (in /usr/local/) has everything the OS expects?
[quoted text clipped - 11 lines]
> I use 5.8.6. My scripts run fine with it, and why fix what ain't  
> broke?

Thanks for the suggestions.

The reason I've done it this way is because I have a set of perl  
scripts and web apps that require a Perl environment that is  
identical across several machines, including my PowerBook and a few  
Linux servers. Sounds like the best approach is just to make my  
scripts/apps use /usr/local/bin/perl on all of my machines.

Just for the sake of curiousity, I'd be interested in knowing what  
Tiger's perl install includes beyond what is part of the core  
perl-5.8.6. Anybody have a list somewhere?

Thanks,

    Ray
Sherm Pendley - 26 Sep 2006 18:09 GMT
> The reason I've done it this way is because I have a set of perl  
> scripts and web apps that require a Perl environment that is  
> identical across several machines, including my PowerBook and a few  
> Linux servers.

I *HIGHLY* doubt that the difference in minor point versions is going  
to break those scripts. It's possible, but very unlikely. Have you  
verified that it definitely will break them, or are you just guessing  
that it might?

What I would do in this situation is check to see if 5.8.6 is close  
enough to develop with. If a script worked on one machine but not the  
other, I'd dig through the 5.8.7 and 5.8.8 change logs to find  
anything relevant to the problem.

Then and only then, if a version mismatch (rather than a mismatch  
between env. variables, file locations, locale, etc...) were indeed  
the problem, I would consider going to the trouble of installing a  
newer Perl.

I've built Perl from source hundreds of times and I know the process  
very well - but it's still time-consuming tedium that I'd rather  
avoid unless it's truly necessary.

> Sounds like the best approach is just to make my scripts/apps use /
> usr/local/bin/perl on all of my machines.
>
> Just for the sake of curiousity, I'd be interested in knowing what  
> Tiger's perl install includes beyond what is part of the core  
> perl-5.8.6. Anybody have a list somewhere?

Look around in /System/Library/Perl/Extras/

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net
Ray Zimmerman - 26 Sep 2006 18:50 GMT
>> The reason I've done it this way is because I have a set of perl  
>> scripts and web apps that require a Perl environment that is  
[quoted text clipped - 19 lines]
> process very well - but it's still time-consuming tedium that I'd  
> rather avoid unless it's truly necessary.

You are most likely correct ... sorry, my hijacking of this thread (I  
wasn't the original poster) probably made it look I felt I needed a  
5.8.8, when in fact I'm actually happily using a custom built 5.8.6.

My practice of building my own perl, which began back in the days of  
Jaguar, grew out of the need to have my web dev environment (apache,  
mod_perl, php, mod_ssl, lots of CPAN modules, etc, etc) be consistent  
across my dev machine (OS X) and several servers (Linux). And IIRC  
this did come after a number of version inconsistency related  
problems. At the time, building my own custom versions of everything  
on each box seemed the best way to go.

Next time I upgrade to a new machine (where are those Core 2 Duo  
MacBook Pros ;-), I may not bother to build my own.

>> Just for the sake of curiousity, I'd be interested in knowing what  
>> Tiger's perl install includes beyond what is part of the core  
>> perl-5.8.6. Anybody have a list somewhere?
>
> Look around in /System/Library/Perl/Extras/

Thanks.

    Ray
Sherm Pendley - 26 Sep 2006 22:36 GMT
> My practice of building my own perl, which began back in the days  
> of Jaguar, grew out of the need to have my web dev environment  
[quoted text clipped - 3 lines]
> inconsistency related problems. At the time, building my own custom  
> versions of everything on each box seemed the best way to go.

That makes perfect sense to me, but it's a very different situation.  
Jaguar shipped with 5.6, and most Linux distros were shipping with  
5.8 by then. That's a major release, and a *much* bigger jump than  
from 5.8.6 to 5.8.8 - that's just a minor "point" release to fix some  
bugs and update some of the core modules.

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net
Vic Norton - 26 Sep 2006 21:38 GMT
> I use 5.8.6. My scripts run fine with it, and why fix what ain't
> broke?

I just installed 5.8.8 in /usr/local. It went very smoothly and Perl 5.8.8 seems to work fine.

Except that it can't see the packages in /System/Library/Perl/5.8.6 that I use all the time. Stuff like
  Date::Format
  Date::Parse
  LWP
  ...

I tried the 5.8.8 script
  #!/usr/local/bin/perl -w
  use strict;
  use lib "/System/Library/Perl/5.8.6";
  for (@INC) {
     print "$_\n";
  }
  #use Date::Format;

It shows @INC as
  /System/Library/Perl/5.8.6
  /Volumes/VTN Docs/ My Perl/Tests
  /usr/local/lib/perl5/5.8.8/darwin-2level
  /usr/local/lib/perl5/5.8.8
  /usr/local/lib/perl5/site_perl/5.8.8/darwin-2level
  /usr/local/lib/perl5/site_perl/5.8.8
  /usr/local/lib/perl5/site_perl
  .
Since Date/Format.pm is in /System/Library/Perl/5.8.6/,
I figured that I could use it by uncommenting the
  #use Date::Format;
line. No way. Perl 5.8.8 still can't use Date::Format:
  Can't locate Date/Format.pm in @INC ...

As you can see not much of a systems person. I haven't any idea how to straighten this problem out. I think I'll take Sherm Pendleys's advice and stick with 5.8.6.

Regards,

Vic
Sherm Pendley - 26 Sep 2006 22:11 GMT
>> I use 5.8.6. My scripts run fine with it, and why fix what ain't
>> broke?
[quoted text clipped - 4 lines]
> Except that it can't see the packages in /System/Library/Perl/5.8.6  
> that I use all the time.

It doesn't need to. It has its own copy of core modules.

> Stuff like
>    Date::Format
>    Date::Parse
>    LWP
>    ...

Those aren't core modules. CPAN modules are installed under /Library/
Perl, which is the moral equivalent of the more traditional  
"site_perl" directory.

> I tried the 5.8.8 script
>    #!/usr/local/bin/perl -w
>    use strict;
>    use lib "/System/Library/Perl/5.8.6";

use lib '/Library/Perl/5.8.6';

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net
Joseph Alotta - 26 Sep 2006 17:45 GMT
Greetings,

I have a application in Perl that prints reports from a MySQL  
database.  I also have DSL that is accessed via Airport in my house.

Recently I bought an iMac for my wife and I want her to help me print  
reports from this new computer.   How do I get her computer to get  
data from the MySQL database that lives on my computer via Airport?

Do you have any suggestions on things I can try?

Joe
Ray Zimmerman - 26 Sep 2006 18:02 GMT
> I have a application in Perl that prints reports from a MySQL  
> database.  I also have DSL that is accessed via Airport in my house.
[quoted text clipped - 5 lines]
>
> Do you have any suggestions on things I can try?

Presumably, your Perl app does something like ...

    $host = 'localhost';
    $dsn = "DBI:mysql:database=$database;host=$hostname";
    $dbh = DBI->connect($dsn, $user, $password);

... to connect to the MySQL database. When run from your wife's  
computer, you'll have to change the 'localhost' to the IP address of  
the computer where the MySQL database resides. You'll need to make  
sure your MySQL permissions are set up to allow this. You may want to  
try connecting to the database using the 'mysql' command line tool  
first. Once you can do that successfully, then make the appropriate  
mods to the connection parameters in your app.

       Ray
Brian D Foy - 26 Sep 2006 19:43 GMT
>      $host = 'localhost';

> ... to connect to the MySQL database. When run from your wife's  
> computer, you'll have to change the 'localhost' to the IP address

Just use the zero-conf Bonjour stuff. Find your server's name and
append .local to it.  Look in the Sharing control panel for the right
name.

  $host = 'albook.local';

It's not just Mac, either. You can get stuff for the various other
unices and even Windows to do this.

http://www.apple.com/macosx/features/bonjour/
Joel Rees - 27 Sep 2006 15:29 GMT
On Sep 27, 2006, at 3:43 AM, brian d foy wrote:

>>      $host = 'localhost';
>
[quoted text clipped - 6 lines]
>
>    $host = 'albook.local';

Ouch.

Okay, looking around the 'net for zero-conf answers the old nagging  
question of why my machine refers to itself as something.local when I  
have a valid dns name set for it. It makes me a little queasy,  
since .local was supposed to be reserved for a slightly different  
administrative purpose, but, on the other hand, it kind of makes sense.

(Thanks, Wikipedia.)

(And the flame war echoing in my head from a certain final call in  
2005 on LLMNR might keep me from getting my sleep tonight, too. Lousy  
M$lop.)

> It's not just Mac, either. You can get stuff for the various other
> unices and even Windows to do this.
>
> http://www.apple.com/macosx/features/bonjour/
Brian D Foy - 27 Sep 2006 19:31 GMT
> On Sep 27, 2006, at 3:43 AM, brian d foy wrote:

> >> ... to connect to the MySQL database. When run from your wife's
> >> computer, you'll have to change the 'localhost' to the IP address

> > Just use the zero-conf Bonjour stuff. Find your server's name and
> > append .local to it.  Look in the Sharing control panel for the right
> > name.

> >    $host = 'albook.local';

> Okay, looking around the 'net for zero-conf answers the old nagging  
> question of why my machine refers to itself as something.local when I  
> have a valid dns name set for it.

In that case, use the host name you've configured for it. :)
Sherm Pendley - 26 Sep 2006 18:23 GMT
> I have a application in Perl that prints reports from a MySQL  
> database.  I also have DSL that is accessed via Airport in my house.
[quoted text clipped - 3 lines]
> to get data from the MySQL database that lives on my computer via  
> Airport?

MySQL client libraries use TCP/IP - they neither know nor care about  
the physical network layer. So you'd do this the same way you'd  
connect to any other "remote server" - just supply the host name (or  
IP address) as part of the dsn.

my $dsn = "DBI:mysql:database=foo;host=192.168.1.101";
my $dbh = DBI->connect($dsn, $user, $password);

If that's not working, some things to check:

    • Are the MySQL client libs and DBD::mysql installed on the client?
    • Is $user authorized to connect from another host?
    • Is MySQL itself configured to allow such connections in general?

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net
Joseph Alotta - 02 Oct 2006 05:22 GMT
Greetings everyone,

This is where I got to on the mySQL.  It seems like there is someone  
on the Mac to set
permissions.  I tried the Sharing Control Panel.  Where else should I  
try?

Hosea:/Library/MySQL/bin jja$ /Library/MySQL/bin/mysql -u root -D  
names -h Yeshua.local
ERROR 1130: Host '10.0.1.4' is not allowed to connect to this MySQL  
server
Hosea:/Library/MySQL/bin jja$

Joe.

>> I have a application in Perl that prints reports from a MySQL  
>> database.  I also have DSL that is accessed via Airport in my house.
[quoted text clipped - 22 lines]
> Web Hosting by West Virginians, for West Virginians: http://wv-www.net
> Cocoa programming in Perl: http://camelbones.sourceforge.net
Joseph Alotta - 02 Oct 2006 17:46 GMT
>> I have a application in Perl that prints reports from a MySQL  
>> database.  I also have DSL that is accessed via Airport in my house.
[quoted text clipped - 22 lines]
> Web Hosting by West Virginians, for West Virginians: http://wv-www.net
> Cocoa programming in Perl: http://camelbones.sourceforge.net

Hi everyone,

I am getting this error, having tried all the combinations.  Is there  
a control panel somewhere that I need to set permissions?  I already  
tried things in "Sharing".

Hosea:/Library/MySQL/bin jja$ /Library/MySQL/bin/mysql -u root -D  
names -h Yeshua.local
ERROR 1130: Host '10.0.1.4' is not allowed to connect to this MySQL  
server
Hosea:/Library/MySQL/bin jja$

Joe.
Ted Zeng - 02 Oct 2006 18:10 GMT
When you access MYSql from another machine, you need to set the access
privilege for that account. You can search the net on how to do this.

ted

-----Original Message-----
From: Joseph Alotta [mailto:jalotta@earthlink.net]
Sent: Monday, October 02, 2006 9:46 AM
Cc: Mac OS X Perl
Subject: Re: Perl, MySQl and Airport

On Sep 26, 2006, at 12:23 PM, Sherm Pendley wrote:

> On Sep 26, 2006, at 12:45 PM, Joseph Alotta wrote:
>
[quoted text clipped - 17 lines]
>
>     * Are the MySQL client libs and DBD::mysql installed on the
client?
>     * Is $user authorized to connect from another host?
>     * Is MySQL itself configured to allow such connections in
general?

> sherm--
>
> Web Hosting by West Virginians, for West Virginians: http://wv-www.net
> Cocoa programming in Perl: http://camelbones.sourceforge.net

Hi everyone,

I am getting this error, having tried all the combinations.  Is there  
a control panel somewhere that I need to set permissions?  I already  
tried things in "Sharing".

Hosea:/Library/MySQL/bin jja$ /Library/MySQL/bin/mysql -u root -D  
names -h Yeshua.local
ERROR 1130: Host '10.0.1.4' is not allowed to connect to this MySQL  
server
Hosea:/Library/MySQL/bin jja$

Joe.
Brian D Foy - 02 Oct 2006 19:36 GMT
> I am getting this error, having tried all the combinations.  Is there  
> a control panel somewhere that I need to set permissions?  I already  
[quoted text clipped - 5 lines]
> server
> Hosea:/Library/MySQL/bin jja$

I'm not aware of any Mac OS X particular interface to MySQL permissions
table. I think you have to do it through MySQL itself:

http://dev.mysql.com/doc/refman/4.1/en/privilege-system.html

Good luck :)
Ray Zimmerman - 02 Oct 2006 20:07 GMT
On Oct 2, 2006, at 2:36 PM, brian d foy wrote:
> I'm not aware of any Mac OS X particular interface to MySQL  
> permissions
> table. I think you have to do it through MySQL itself:
>
> http://dev.mysql.com/doc/refman/4.1/en/privilege-system.html

Actually, MySQL Administrator, which is part of the MySQL GUI Tools  
[1], does have an interface to the permissions.

  http://dev.mysql.com/downloads/gui-tools/5.0.html

- Ray
Joseph Alotta - 03 Oct 2006 16:57 GMT
Hi everyone,

Thanks to everyone who helped.  The problem was within MySql, I  
needed to set
grants for the other system.  The grants syntax is pretty rough, but  
I finally
got it to work on the command line and now I should have no trouble  
getting it
to work in perl.

Joe.

> On Oct 2, 2006, at 2:36 PM, brian d foy wrote:
>> I'm not aware of any Mac OS X particular interface to MySQL  
[quoted text clipped - 9 lines]
>
> - Ray
Brian D Foy - 03 Oct 2006 21:56 GMT
> On Oct 2, 2006, at 2:36 PM, brian d foy wrote:
> > I'm not aware of any Mac OS X particular interface to MySQL  
> > permissions
> > table. I think you have to do it through MySQL itself:

> > http://dev.mysql.com/doc/refman/4.1/en/privilege-system.html

> Actually, MySQL Administrator, which is part of the MySQL GUI Tools  
> [1], does have an interface to the permissions.

I should have been more clear. I was talking about something that's part
of Mac OS X (the system) and integrated with the System Preferences. :)
Dominic Dunlop - 11 Oct 2006 08:59 GMT
I found <http://www.theperlreview.com/Found/larry-wall-wearing-pm-t-
shirt.html> via Google, and would like to use the photo in a short  
presentation about the future of regular expressions (perl6 patterns,  
and so on) to an "English for CS" class, in which -- rather to my  
surprise, as I'm a native speaker -- I find myself. May I have you  
permission?

I look forward to receiving your reply.
Signature

Dominic Dunlop

Dominic Dunlop - 11 Oct 2006 09:18 GMT
On 2006–10–11, at 09:59, I wrote:

> I look forward to receiving your reply.

Sigh. Must check those cc's before hitting Send. Sorry list.
Signature

Dominic Dunlop

Sherm Pendley - 19 Oct 2006 18:35 GMT
> I am getting this error, having tried all the combinations.  Is  
> there a control panel somewhere that I need to set permissions?  I  
[quoted text clipped - 5 lines]
> server
> Hosea:/Library/MySQL/bin jja$

I've intentionally kept this brief, because it's off-topic for this  
list, having nothing at all to do with Perl on Mac OS X.

You need to log in to MySQL as root (obviously, from a host where  
you're allowed to do that), and use the 'grant' SQL command to allow  
root to log in from '10.0.1.4'.

Details can be found in any book about MySQL administration.

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net
greggallen@gmail.com - 27 Sep 2006 02:17 GMT
> Greetings,
>
[quoted text clipped - 6 lines]
>
> Do you have any suggestions on things I can try?

> You're digging in a little too deep, friend.  Airport is irrelevant.  
> That's at a whole different level of the TCP/IP stack.  Just treat it
> like it's another
    Ethernet address.

Good Luck.

Gregg
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.