Re: How do you make a bundle from CPAN?
Actually, I have found out that when you configure CPAN, you can define a different "PREFIX" to a private library and it will not go into the main Perl library you are running. The book "Object Oriented Perl" by Damian Conway mentioned this trick. Thank you for taking the time to even make a suggestion. Tom Wyant wrote: On Mar 19, 6:44 pm, [EMAIL PROTECTED] (Michael Barto) wrote: I have developed a Perl module in MacOSX using Arhive::Zip. This library seems to be installed in the Perl version on the Mac (Perl v5.8.8). In porting this program to a Linux machine running Perl v5.8.5, Archive::Zip is missing. I do not want to install in this current Perl library by using CPAN. What I would like to do is define my own library and use "#!/usr/bin/perl -I my library" name. I have download all the modules from CPAN I need: Archive-Zip Compress-Raw-Zlib Compress-Zlib IO-Compress-Base IO-Compress-Zlib Is there some easy way to make a library module using CPAN and not have it get installed in the existing Perl library but go somewhere else. Some option in CPAN or something. -- I don't know about doing this with a CPAN option, but a good starting point for how to do it from hand-downloaded kits (or from CPAN look ... ) is the ExtUtils::MakeMaker FAQ, which you will find if you go to http://search.cpan.org/ and search for ExtUtils::MakeMaker. Tom Wyant -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Using Perl to Read jar file MANIFEST file.
THANK for the tip. This will work fine. Great mailing list Claes Jakobsson wrote: #!/usr/bin/perl use strict; use warnings; use Archive::Zip qw(:ERROR_CODES :CONSTANTS); use Archive::Zip::MemberRead; my $archive = Archive::Zip-new(); die "read error" if $archive-read(shift) != AZ_OK; my $fh = Archive::Zip::MemberRead-new($archive, "META-INF/MANIFEST.MF"); while (defined($_ = $fh-getline())) { print "$_\n"; } galaxy:~ claes$ perl jar_reader.pl /usr/share/java/junit.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.5 Created-By: 1.5.0_04-b05 (Sun Microsystems Inc.) seems to work /Claes On 5 mar 2008, at 19.40, Claes Jakobsson wrote: On 5 mar 2008, at 19.23, Michael Barto wrote: Has anybody every tried to create a Perl program ro read the contents of the MANIFEST file in java jar file? We are trying to develop something to provide comparisons for change between different implementations. Is this a simple Perl backtic, system or exec of the jar command or is there a more exotic way to do it? Also, we need to extract Checksum. But that seems documented. If I remember correctly JAR files are simply Zip files so you should be able to use something like Archive::Zip to read the file. Cheers Claes -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Using Perl to Read jar file MANIFEST file.
Has anybody every tried to create a Perl program ro read the contents of the MANIFEST file in java jar file? We are trying to develop something to provide comparisons for change between different implementations. Is this a simple Perl backtic, system or exec of the jar command or is there a more exotic way to do it? Also, we need to extract Checksum. But that seems documented. -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Multiple Perl Version on the same server
I have a client whose Production and Development Server version of Perl is significantly out of data particularly with libraries (even though they are running Perl 5.8.0). This become obvious when I moved my program on my Mac at 5.8.8 with its current libraries to their development server. Even though it all worked, a lot of error messages started appearing in the Apache logs. As a good programmer, I started to fix them only to find they were experiencing these errors all the time with all their other programs. Investigating it more, I discovered that their libraries were severely out of date. For example their version of manip.pm is dated 2000. I have propose that they install on their Development Linux server a later version of Perl in another location and migrate the application over (e.g. /usr/new/perl). Their concern is there is only one MySQL program, but the Perl libraries to access it would be different. Second, they think installing a later version of Perl in a different location would overwrite the current library. I am not really clear how Perl locates its install Libraries, so I would like some clarification on this issue with two different versions running. Is there a setup method with Perl to make sure this does not happen? They will probably use CPAN to add the new libraries. How should this be set up? Another issue is they are using a MySQL 4.x version. Not a MySQL 5.x version. On my Mac, I had to load DBI and DBD driver for MySQL 5 and update MySQL to 5.x. But I suppose I can get older versions from CPAN. -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Mac OS alias from Perl
Yes the alias function in MacOSX is different than regular Unix. If your software is targets a Unix server and not to only run under MacOSX, it is much better to make the links on the Mac at the command line with Unix ln command (e.g. ln -s -which is safer) to test and maintain a consistent Unix environment. Fortunately Mac support of regular Unix is really excellent and ln works as advertise on a Mac. By the way, another "got-you" is the Mac filesystem. On new Mac computers where the software is pre-installed, the filesystem ignores case. The is not true in regular Unix. For example: in regular Unix, a file name like "johnsfile" and "johnsFile" are considered different file. But on the Mac, they are considered the same. But you have a true Unix filesystem by reformating the disk to support case sensitive file naming. This has hurt me several times till I reformated my drive. Chris Devers wrote: On Dec 8, 2007, at 7:06 PM, Celeste Suliin Burris [EMAIL PROTECTED] wrote: Use a symbolic link instead. Perl handles those natively, and they can be accessed from the command line. The Finder just treats them the same as aliases. Not quite. I forget the details at the moment, but Finder aliases are kind of like "firm links": while hardlinks point to inodes, and softlinks point to file pathnames, aliases point to the logical file in a more robust way than symlinks. For example, if the reverent file moves, symlinks break, but aliases shouldn't. If you really want aliases, I think the CPAN modules of Dan Kogai and Chris Nandor are the place to start. I forget who wrote what, but modules like (I think) MacOS::File and Mac::Glue can either make the right calls directly, or leverage Applescript / OSAscript to do this for you. Or if symlinks/softlinks are enough, just use the traditional Perl / Unix methods to make those. -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Library Problem
What is the trick to installing Net::SFTP? The Math::GMP library fails. Trying to use MCPAN -e shell interactively with install Net::SFTP. MacOSX 10.4.11 PPC. Perl v5.8.6 -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Detecting OS X version from perl
Everyone has suggested "system_profiler" for the hardware stuff. But it appears that I will need do some parsing with $ grep -A1 'BundleShortVersion' /Library/Receipts/*.pkg/Contents/version.plist | grep string On Solaris you have pkginfo, in HP you have "swlist" and Linux you need to use RPM and do " if [ -e /bin/rpm ]; then #rpm based distributions: /bin/rpm -qiav ${DATADIR}/${HOST}.programs elif [ -e /usr/bin/apt-cache ]; then #APT (Advanced Packaging Tool) based distributions: for PKG in `apt-cache pkgnames`; do apt-cache show $PKG; done ${DATADIR}/${HOST}.programs elif [ -d /var/db/pkg ]; then #Portage software management system based distributions: for PKG in `find /var/db/pkg/ -mindepth 2 -maxdepth 2 -printf "%P\n"`; do echo "Package name: $PKG"; if [ -f /var/db/pkg/$PKG/DESCRIPTION ]; then echo "DESCRIPTION: `cat /var/db/pkg/$PKG/DESCRIPTION`"; else cat /var/db/pkg/$PKG/*ebuild | grep "DESCRIPTION"; fi if [ -f /var/db/pkg/$PKG/HOMEPAGE ]; then echo "HOMEPAGE: `cat /var/db/pkg/$PKG/HOMEPAGE`"; else cat /var/db/pkg/$PKG/*ebuild | grep "HOMEPAGE"; fi if [ -f /var/db/pkg/$PKG/LICENSE ]; then echo "LICENSE: `cat /var/db/pkg/$PKG/LICENSE`"; else cat /var/db/pkg/$PKG/*ebuild | grep "LICENSE"; fi echo; done ${DATADIR}/${HOST}.programs else echo "Unable to retrieve package information" ${DATADIR}/${HOST}.programs fi " Seems not a simple solution for MacOSX for system managers who use script to collection information about Unix systems. On the other hand. MacOSX does support "df" and "ifconfig -a" In article [EMAIL PROTECTED], [EMAIL PROTECTED] (Chris Devers) wrote: Quick report: $ system_profiler -detailLevel mini Obsessive detail report: $ system_profiler -detailLevel full a little more precise if use system_profiler : system_profiler SPSoftwareDataType|grep "System Version" -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Detecting OS X version from perl
Just a quick question. Is there a command line at a terminal window of MacOSX that can do this- tell you more about the hardware? Also list software packages and their revisions and also patches? Peter Hartmann wrote: On my 800Mhz Dual Processor PPC the AS command system info returns the correct version (10.4.11). Am 17.11.2007 um 12:21 schrieb Eberhard Lisse: Very Cool, on my iMini Gestalt says it's 10.4.9 osascript/fider says 10.4.7 I guess this is the version for the application "Finder", not the OS! sw_version 10.4.11 the latter is correct :-)-O This AS tell application "Finder" set FinderVersion to version set OSVersion to product version return {FinderVersion, OSVersion} end tell returns {"10.4.7", ""} So getting the OS version via the Finder seems to be broken - but there is an alternative, as shown above. Gestalt seems to be broken, however. ___ Peter Hartmann mailto:[EMAIL PROTECTED] -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Not exactly a Perl question
Speaking of Solaris and Mac's and multiple OS environments. Solaris 10 is free for X86. It loads really easy in Parallels. There is even a web site where a Solaris Parallels image that is down loadable. Solaris 10 supports a virtualization called Zones (virtual Solaris server). This weekend on an Intel Mac we installed Solaris and setup a couple of Zones all running under Parallels. Each zone has its own IP and login like a regular OS. One zone for the database, one zone for the Web server, with the programming development on the Mac. Note: You need memory to do this. But it is free. You can download the Solaris image Parallels image at: http://www.sun.com/download/products.xml?id=461d6b7d Also checkout the blog: http://mysqldatabaseadministration.blogspot.com/2007/05/installing-solaris-10-on-mac-book-using.html To setup a Solaris zone, use the runbook posted at : http://www.logiqwest.com/dataCenter/Demos/RunBooks/Zones/createBasicZone.html David Cantrell wrote: On Fri, Oct 26, 2007 at 08:51:16AM -0400, Robert Hicks wrote: Do any of you use use VMWare or Parallels to test your stuff on other distros? Which did you pick to use and why? I use Parallels for both my CPAN-testers stuff and also for testing my own code on Linux and FreeBSD. I also test on Solaris (on a Sparc box) and NetBSD on Alpha. I use Parallels because VMware for Mac didn't exist at the time. I wish that Parallels could run OS X as a 'guest' OS. That Apple won't allow virtualisation is bloody annoying. -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Thanks Apple! You snubbed perl yet again!
The Perl developers are kind of a quiet group. But I think that Apple has done a very reasonable job for developers. I remember even in old MacOS9 that this Perl was ahead of what I had on Sun Solaris OS. There is always a leading edge, but my application need to be distributed, therefore I am more conservative in the version I use. Apple's Perl version fits that real well. And I can always install multiple version of Perl because in a Unix OS. Just define a different path. On the otherside, Apple computers are the best developer's hardware. You can run you Debrian, Redhat, Ubuntu versions of Unix and so forth on the platform-either under Parallels or native. You can also run Solaris 10 (which is free I might add) along with all the varieties of Windows types--all running under one platform. Here you have all the neat MacOS development tools (e.g. Bbedeit, Dreamweaver, Affrus [Perl debugger], etc.) running in MacOSX, at the same time you have the Solaris 10 Application and database server running. At Jave One (in March), Sun Microsystem use Apple Laptops to show the new Java stuff and the developers carrier 4 to one for Apple laptops over the PC's. At the Solaris 10 presentation, Sun stated that their target laptop was from Apple because it woke up. Finally, my recent friends who have purchased new Apple Laptops, tell me that Windows XP runs better under Parallels than on their old PC. I assume that Debrian will be just as impressive. And as I reiterate, you could install the cutting edge Perl on you system and be fine still under MacOSX with all its tools. It is Unix anyway. [EMAIL PROTECTED] wrote: Some yummy facts about Leopard: Scripting Bridge Use Objective-C, Ruby, and Python programs to automate Mac applications. The new Scripting Bridge enables them to easily generate AppleEvents using a concise, AppleScript-like syntax. Ruby on Rails Work in a developer's dreamland. Leopard is the perfect platform for Ruby on Rails development, with Rails, Mongrel, and Capistrano built in. Not a single word about perl. No mention of CamelBones, using the Scripting Bridge for perl, or the fact that perl has CPAN with 12,000+ high quality modules while ruby has 4,000+ on rubyforge. Apple trumpets its POSIX conformation yet what UNIX is worth its weight in cat5 cable if it doesn't come with perl? It looks like I will have to stick with debian for developing my LAMP applications. Jeremiah -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Is there a True Boolean type in Perl?
As both Java and _javascript_ both have a 'true' and 'false' or Boolean data type, is there any interest in evolution of Perl to have a true Boolean. Or what is the preferred method to do this in Perl. The "C" programmers want me to use "0"'s and "1"'s. -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Is there a True Boolean type in Perl?
I think in the more newer languages, they have implemented true booleans. Perl is kind of old school. Pascal defines them as a grandfather of languages. Therefore as one migrates the languages to a higher levels (e.g. Perl[n]), they all will end up with a boolean data type. Therefore, I think the $true and $false is a more consistent method in a multiple languages environments (particularly doing web things [Java and _javascript_] for a consistent set of rules across the board. Thanks for your input. [EMAIL PROTECTED] wrote: On Oct 15, 2007, at 11:25 PM, Gary Blackburn wrote: On Oct 15, 2007, at 4:27 PM, Michael Barto wrote: As both Java and _javascript_ both have a 'true' and 'false' or Boolean data type, is there any interest in evolution of Perl to have a true Boolean. Or what is the preferred method to do this in Perl. The "C" programmers want me to use "0"'s and "1"'s. In my experience the most common convention is to use undef and 1 as your boolean values, as in: my $is_scared; # is_scared is initially set to undef, which evaluates as "false" if ($monsters_under_my_bed) { $is_scared = 1; } Yeah, it's probably bad karma to use "undef" when you mean "0" but this approach is very perl-ish, easy to read, and even recommended by Damian Conway in his "Perl Best Practices" book (page 40... just checked. :-D) You can, if you really want to, do this: my $true = 1; my $false; Still, it is not much of a substitute for knowing what exactly is _inside_ your variable and testing it to make sure. Plus, boolean values are un-perlish. Look at this for example: if ($var) { print "Yep!"; } else { print "Nep!"; } That is perlish, testing if $var is defined and doing some thing based on that. You can of course make it clearer with if ( defined ($var)) But to be really perly and terse, this is the idiom: print "Yep" if ($var); Jeremiah -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
my variable at global level not being passed
I am working with an old Perl Library (program module) written in Perl4 and Perl 5 depending who was "hacking the code". My program that calls it, uses -w and strict and has identified many syntax errors and so forth in the old library which I fixed. My problem is that this library needs two variables passed as globals to it to use in one of the subroutines, One of them is the $dbh variable created when the database is open. Another is a hash. Both these variables were initiated at the Main top most level of the program with "my". Unfortunately, this causes an error and the libraries does not see the global. If I turn off strict and the -w options and remove the "my" from these variables assignments, the program works. What is going on? I might point out that the start of the subroutine that is causing the problem starts like this. sub SelectReport (@) { my ($var,$val) = @_; # Here is the order in which we try to get the reports: # matching userid - matching group permission - matching role_id - userid empty (for everybody) my $querystr = "select * from report where $var = '$val' and user_id='$user{userid}'"; print "QS=$querystr\n"; debug("SelectReport1: Q=$querystr"); my $my_error = ''; my $sth = $dbh-query($querystr) || ($my_error="$querystr: ". $dbh-errmsg); .. .. .. I already found a call in the library that looks like this my $sth = SelectReport('report_id',$report_id); Yes it is a hack issue, but the program has worked for years and the client does not want the code rewritten at present. Does anyone know what is causing this unstable results with "my" at the global level not being passed? One other note. Yes the all the client programs run with strict and -w turn off. They think it runs faster with the compiler fixing all the errors when it is executed. -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: CGI.pm
This seems like a flame, but I will try and answer your question. The reason why we are doing the HTML subroutines and so many others with key at the start (e.g. JSCript, DB, make, get). is mostly to support long term maintenance and parse out pieces of the code for a very large project (divide and conquer). The modules libraries are maintained in a consistent manner. The variables $new_page and $from_page also are significant in this large code. It just helps the many people that have to touch this code have an easier path getting though any maintenance. The main program is nothing more than large set subroutine calls broken down in sections. The subroutine calls are shared by many modules of the large project. Also, I really appreciate "[EMAIL PROTECTED]" response as it did clarify the issue and was very helpful. Jeremiah Foster wrote: On Sep 27, 2007, at 6:41 PM, Michael Barto wrote: Perl snippet question: - #!/usr/bin/perl -w use strict; use CGI; use CGI::Carp 'fatalsToBrowser'; my $new_page = new CGI(""); sub HTMLendFORM ($) { my $new_page = $_[0]; print $new_page-end_form; } HTMLendFORM ($new_page); print "\n\n"; - This above code produces "div/div/form". This ti me is odd, since i only really want /form. Does anyone have an explanation or another way to use the CGI.pm library and produce only /form. Yes I could just use a print statement. But I am kind of curious to why? Why are you doing it this way? You do not need a sub and it is best to use $q (or the functional interface) since if anyone has to read your code they will recognize $q immediately but wonder what $new_page is for. And why are you printing two new lines? New lines do not show up in HTML. Try this: print $q-end_form(); That usually produces /form -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Help with Javascript
Since Perl and _javascript_ seem to be hand in a hand for Web 2.0 applications, is there anyone out there using Mac Perl to create Web Apps using the EXTJS library (e.g. extjs.com). I am looking for a good _javascript_ forum and any advice on tools on the Mac. Also, how to make sure they work in Safari -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Conflict with Time::Local and Time::localtime
I have a Perl program that gets the date of a file using 'ctime' from "use Time::localtime;" But this program must also convert an Epoch time to a date and time using 'localtime' from "use Time::Local;". The problem is it appears that only one of these modules can be used in a single program. Not both since a localtime subroutine exist as the same name in both modules. How can I support using both modules in the same program?. Here are the snippits: #!/usr/bin/perl use Time:localtime; use Time:Local; #needs Time::Local sub convertEPOCHtime ($) { my $time = $_[0]; my ($seconds, $minutes, $hours, $day_of_month, $month, $year, $wday, $yday, $isdst) = localtime ($time); $year += 1900; my @themonths = ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); my @weekdays = ("xxx", "Sat", "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", ); if ($hours 10) { $hours = '0' . "$hours"; } my $datestring = "$weekdays[$wday] $themonths[$month] $day_of_month ${hours}:${minutes} $year"; return ($datestring); } # needs Time::localtime sub FILEdate ($) { my $filename = $_[0]; my $as_of_date = ctime(stat("$filename")-mtime); return ($as_of_date); } -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Script menu makes perl zombies?
I am not quite sure how you mean to verify this. I ran a complex Perl program that take over 20 seconds and perform you script every 5 seconds. pwbk2003:~ root# ps auxww|grep '[p]erl' pwbk2003:~ root# ps auxww|grep '[p]erl' qstatus 329 78.4 3.0 56560 31660 ?? R 9:12AM 0:01.17 /usr/bin/perl -w /Logiqwest/ApacheWeb/q-statusSolaris/q-statusSolaris/CGI/selectPatchdiag.cgi pwbk2003:~ root# ps auxww|grep '[p]erl' qstatus 329 86.7 3.4 59848 35196 ?? R 9:12AM 0:07.01 /usr/bin/perl -w /Logiqwest/ApacheWeb/q-statusSolaris/q-statusSolaris/CGI/selectPatchdiag.cgi pwbk2003:~ root# ps auxww|grep '[p]erl' qstatus 329 82.9 3.4 59848 35196 ?? R 9:12AM 0:12.70 /usr/bin/perl -w /Logiqwest/ApacheWeb/q-statusSolaris/q-statusSolaris/CGI/selectPatchdiag.cgi pwbk2003:~ root# ps auxww|grep '[p]erl' qstatus 329 91.3 3.4 59848 35196 ?? R 9:12AM 0:18.64 /usr/bin/perl -w /Logiqwest/ApacheWeb/q-statusSolaris/q-statusSolaris/CGI/selectPatchdiag.cgi pwbk2003:~ root# ps auxww|grep '[p]erl' qstatus 329 86.0 3.4 59848 35196 ?? R 9:12AM 0:22.38 /usr/bin/perl -w /Logiqwest/ApacheWeb/q-statusSolaris/q-statusSolaris/CGI/selectPatchdiag.cgi pwbk2003:~ root# ps auxww|grep '[p]erl' pwbk2003:~ root# -- If your script is the problem, I will need the script. Ken Williams wrote: Hi, For months I've been trying to figure out what's causing some perl zombie processes on my system. Looks like it might be the script menu. I have a script menu item called "tunnels.pl" that establishes some SSH tunnels, and it works fine. But after I run it, I see this: % ps auxww|grep '[p]erl' ken 14697 0.0 0.0 0 0 ?? Z 31Dec69 0:00.00 (perl) Its parent process is 1982, which is /System/Library/CoreServices/ SystemUIServer.app/Contents/MacOS/S ystemUIServer -psn_0_786433 . Can other people confirm this? Any known bug covering this or something (not sure where to look)? -Ken -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Perl Module Installation
MacOSX has the modules installed in "Library/Perl/darwin-thread-multi-2level". Since my development is to use #!/usr/bin/perl, this is the default library location and is where I have installed DBI.pm This output should tell you what happens on MacOSX (my version is 10.4.7) with perl perl -V Summary of my perl5 (revision 5 version 8 subversion 6) configuration: Platform: osname=darwin, osvers=8.0, archname=darwin-thread-multi-2level uname='darwin b28.apple.com 8.0 darwin kernel version 7.5.0: thu mar 3 18:48:46 pst 2005; root:xnuxnu-517.99.13.obj~1release_ppc power macintosh powerpc ' config_args='-ds -e -Dprefix=/usr -Dccflags=-g -pipe -Dldflags=-Dman3ext=3pm -Duseithreads -Duseshrplib' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include', optimize='-Os', cppflags='-no-cpp-precomp -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='3.3 20030304 (Apple Computer, Inc. build 1809)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags ='-L/usr/local/lib' libpth=/usr/local/lib /usr/lib libs=-ldbm -ldl -lm -lc perllibs=-ldl -lm -lc libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true, libperl=libperl.dylib gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-bundle -undefined dynamic_lookup -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Locally applied patches: 23953 - fix for File::Path::rmtree CAN-2004-0452 security issue 33990 - fix for setuid perl security issues Built under darwin Compiled at Mar 20 2005 16:34:19 @INC: /System/Library/Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/Perl /Network/Library/Perl/5.8.6/darwin-thread-multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl /System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1/darwin-thread-multi-2level /Library/Perl/5.8.1 Joel Rees wrote: There are other issues in the MacOS X for manual installation or modules such as where the modules are install. The manual method may put them in /usr/local instead of in /Library. Be careful. 'sfunny. I actually prefer to load my machine-wide modules in /usr/ local. Maybe it's just the warm fuzzies, but I prefer to avoid giving the installation process a chance to walk on modules the system uses. Of course, I also refrain from updating the system perl by installing my own machine-wide non-system perl in /usr/local, as well. That allows the system update process to proceed without doing such things as bumping into a perl I've already updated past the version the system update process wants to update. It used to be that such a course was the default when you used CPAN, but I haven't re-installed perl in about a half year or so. -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Perl Module Installation
If you have downloaded the module instead of using CPAN, look at the file "INSTALL" in the module. If should tell you what to do: Typically: #./configuration #make #make check = VERY IMPORTANT!! #make install But using CPAN is better. There are other issues in the MacOS X for manual installation or modules such as where the modules are install. The manual method may put them in /usr/local instead of in /Library. Be careful. LogiQwest uses DBI.pm for our product which runs in Perl for multiple Unix types. (we develop on the Mac by the way for Unix reasons with desktops). The following link I have posted that might be useful to you for you DBI installation. It is part of our documentation (though it is general for Unix): http://www.logiqwest.com/dataCenter/Demos/RunBooks/EnterpriseView/Docs/DbiDbdInstallation.html But many of the other links on this page do not work. Moiss Chicharro wrote: Hi All, Can anyone point me to a decent tutorial for installing perl modules. The one I have downloaded is DBI-1.52.tar.gz I am running OS X 10.4.7 and have never installed a perl module before. I have found various pages on the net but I don't want to mess things up so would like to make sure that the tutorial I am reading has been recommended by some experts! :) I am also assuming that the right directory for my install is System/Library/Perl/5.8.6/ Thankyou in advance, Mo -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Math::GMP and Net::SSH::Perl still fails
b/Net/SSH/Perl/SSH1.pm line 13. Compilation failed in require at /private/var/root/.cpan/build/Net-SSH-Perl-1.30/blib/lib/Net/SSH/Perl.pm line 54. # Looks like your test died before it could output anything. t/03-packet..dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-10 Failed 10/10 tests, 0.00% okay t/04-config..ok t/05-cipher..ok t/06-circularok Failed Test Stat Wstat Total Fail Failed List of Failed --- t/02-buffer.t 255 65280 19 38 200.00% 1-19 t/03-packet.t 255 65280 10 20 200.00% 1-10 Failed 2/6 test scripts, 66.67% okay. 29/116 subtests failed, 75.00% okay. make: *** [test_dynamic] Error 2 /usr/bin/make test -- NOT OK Running make install make test had returned bad status, won't install without force IV. Now I try to perl -MCPAN -e 'install MATH::GMP' Also fails Modify the : /var/root/.cpan/build/Math-GMP-2.04/Makefile.PL -- use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'NAME' = 'Math::GMP', 'VERSION_FROM' = 'lib/Math/GMP.pm', # finds $VERSION # 'LIBS' = ['-lgmp'], # e.g., '-lm' 'LIBS' = ['-L/usr/local/lib', '-lgmp'], # e.g., '-lm' 'DEFINE' = '', # e.g., '-DHAVE_SOMETHING' ); -- V. perform a make in this directory pwbk2003:~/.cpan/build/Math-GMP-2.04 root# make rm -f blib/arch/auto/Math/GMP/GMP.bundle LD_RUN_PATH="" env MACOSX_DEPLOYMENT_TARGET=10.3 cc -bundle -undefined dynamic_lookup -L/usr/local/lib GMP.o -o blib/arch/auto/Math/GMP/GMP.bundle -lgmp /usr/bin/ld: /usr/local/lib/libgmp.a(mode1o.o) has local relocation entries in non-writable section (__TEXT,__text) collect2: ld returned 1 exit status make: *** [blib/arch/auto/Math/GMP/GMP.bundle] Error 1 pwbk2003:~/.cpan/build/Math-GMP-2.04 root# What ever the solution to this is, it needs to be documented in a cookbook fashion that is repeatable. I am will to post a page on this, if someone can figure out a consistent process to make this happen. I have got a couple of answers, that they have got it working, but they do not remember how they did it. Swell!! -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Math::GMP and Net::SSH::Perl
I am a novice at this. What am I missing? I downloaded the Math::GMP ran a config, make, make test and make install. ./configure make make check = VERY IMPORTANT!! make install everything worked fine. The library was installed in /usr/local/lib In my load directory, I have a "GMP.pm" file in a development directory where I downloaded this module before I did the make(s)/install. When I try again installed this CPAN module which has this dependency with perl -MCPAN -e 'install Net::SSH::Perl' I get - Looks good Warning: prerequisite Math::GMP 1.04 not found. Writing Makefile for Net::SSH::Perl Unsatisfied dependencies detected during [D/DB/DBROBINS/Net-SSH-Perl-1.30.tar.gz] - Math::GMP Shall I follow them and prepend them to the queue of modules we are processing right now? [yes] DIED. FAILED tests 1-19 Failed 19/19 tests, 0.00% okay t/03-packet..Can't locate Math/GMP.pm in @INC .etc. -- Should I move the "GMP.pm" to say /Library/Perl/5.8.6/darwin-thread-multi-2level/Math so that the computation can see it, use libtool (how does that work?) or use an environmental variable? What is the correct answer to the question after I have compiled the Math::GMP (yes or no)? Since it is there, I think it should be no. But it does not see it. Before I hack it to see it, I would like some advice. By the way Celeste Suliin Burris, you solved my first part of the problem in compiling GMP.pm. But who do we report these errors to fix CPAN without hacking around? -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Math::GMP and Net::SSH::Perl
I make this modification, but still get the same error. t/03-packet..Can't locate Math/GMP.pm in @INC (@INC .. -- use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'NAME' = 'Math::GMP', 'VERSION_FROM' = 'lib/Math/GMP.pm', # finds $VERSION # 'LIBS' = ['-lgmp'], # e.g., '-lm' 'LIBS' = ['-L/usr/local/lib -lgmp'], # e.g., '-lm' 'DEFINE' = '', # e.g., '-DHAVE_SOMETHING' ); -- The issue is that the Math/GMP.pm is located in my development directory : /Users/Mbarto/Development/Perl/GMP.pm Should I change it to that, instead? Paul McCann wrote: Hi Michael, I think the problem here is that Math::GMP doesn't look in /usr/local/ lib to find the libgmp* libraries, so you need to give it a helping hand. Just modifying the Makefile.PL file so that instead of 'LIBS' = ['-lgmp'], # e.g., '-lm' you have 'LIBS' = ['-L/usr/local/lib -lgmp'], # e.g., '-lm' should do the trick. Cheers, Paul -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Re: Math::GMP and Net::SSH::Perl
Also, I scan the output and "/usr/local/lib" is not even in the search path error --- Running make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01-compile.ok t/02-buffer..Can't locate Math/GMP.pm in @INC (@INC contains: /private/var/root/.cpan/build/Net-SSH-Perl-1.30/blib/lib /private/var/root/.cpan/build/Net-SSH-Perl-1.30/blib/arch /System/Library/Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/Perl /Network/Library/Perl/5.8.6/darwin-thread-multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl /System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1/darwin-thread-multi-2level /Library/Perl/5.8.1/darwin-thread-multi-2level /Library/Perl/5.8.1 . /System/Library/Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/Perl /Network/Library/Perl/5.8.6/darwin-thread-multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl /System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1/darwin-thread-multi-2level /Library/Perl/5.8.1 .) at t/02-buffer.t line 9. BEGIN failed--compilation aborted at t/02-buffer.t line 9. -- Michael Barto wrote: I make this modification, but still get the same error. t/03-packet..Can't locate Math/GMP.pm in @INC (@INC .. -- use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'NAME' = 'Math::GMP', 'VERSION_FROM' = 'lib/Math/GMP.pm', # finds $VERSION # 'LIBS' = ['-lgmp'], # e.g., '-lm' 'LIBS' = ['-L/usr/local/lib -lgmp'], # e.g., '-lm' 'DEFINE' = '', # e.g., '-DHAVE_SOMETHING' ); -- The issue is that the Math/GMP.pm is located in my development directory : /Users/Mbarto/Development/Perl/GMP.pm Should I change it to that, instead? Paul McCann wrote: Hi Michael, I think the problem here is that Math::GMP doesn't look in /usr/local/ lib to find the libgmp* libraries, so you need to give it a helping hand. Just modifying the Makefile.PL file so that instead of 'LIBS' = ['-lgmp'], # e.g., '-lm' you have 'LIBS' = ['-L/usr/local/lib -lgmp'], # e.g., '-lm' should do the trick. Cheers, Paul -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential. -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.
Problems installing Net::SSH::Perl'
This modules fails to install from CPAN perl -MCPAN -e 'install Net::SSH::Perl' with error installation in installation of Math::GMP. Hence Net::SSH::Perl module cannot be installed. This problem needs to be corrected. Does anyone know how to get by this problem and how can it be reported to be fixed? This problem is also true for Sun Solaris (which I tried the same thing on). We develop on Mac's -- Michael Barto Software Architect LogiQwest Inc. 16458 Bolsa Chica Street, # 15 Huntington Beach, CA92649 http://www.logiqwest.com/ [EMAIL PROTECTED] Tel:714 377 3705 Fax:714 840 3937 Cell: 714 883 1949 'tis a gift to be simple This e-mail may contain LogiQwest proprietary information and should be treated as confidential.