Upgrading Perl 5.8.8
|
|
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
|
|
|