Re: Yet another Mac OSX and DBI question

2004-10-16 Thread David R. Morrison
On Oct 16, 2004, at 5:43 PM, David Jantzen wrote:
Note that the XCode upgrade solves other C compilation issues as well.  
I was seeing compiler cannot create executable messages trying to  
compile nmap, and I wouldn't be surprised if there were other problems  
waiting in the wings.  It's probably good advice for anyone doing dev  
work on OSX to upgrade to 1.5.

There's one caveat, though: the build of gcc which shipped with XCode  
1.5 is known to produce incorrect output from C++ code under certain  
circumstances.  See  
http://article.gmane.org/gmane.os.apple.fink.beginners/13580/ 
match=cc1plus+download+costabel for a workaround.

  -- Dave


5.8.1 differences (was Re: Pantherbites)

2003-07-24 Thread David R. Morrison
[EMAIL PROTECTED] wrote:

 Sorry for the probably silly question, but just what are the  
 differences between 5.6.1 and 5.8.1?  I am 100% ig'nant, but I assume  
 that most/all 5.6.1 scripts will port fairly hands-off?  What are some  
 gotchas that us noobs should watch for to make sure our stuff works  
 when we try to run it on Panther?

Two things that occur to me right away to watch out for (I'm sure other
people will have other comments):
 1) There are a large number of perl modules which ship with 5.8.1 but
did not ship with 5.6.1.  For the most part, this is a good thing,
but you'll need to watch the version numbers of the modules if the
version number is important to your code.
 2) Any XS modules which were compiled against perl 5.6.1 will break.
This also applies to any executable or library which you may have
which links against the main perl library 
 /System/Library/Perl/darwin/CORE/libperl.dylib

 HTH,
 Dave


Re: head vs. head

2003-07-11 Thread David R. Morrison
The head vs. HEAD problem is a well-known problem with using CPAN on Mac
OS X.  There was some discussion on this list last month because some
people believed that the problem had been fixed.  Sadly, your experience
proves otherwise.

Indeed, one can blame this problem on the unique characteristics of the
HFS+ filesystem.  Wherever the blame lies, however, the fact remains
that there are now a huge number of machines with Mac OS X installed
using the HFS+ filesystem -- perhaps more than any other flavor of Unix,
if Apple's propaganda is to be believed.  Case-insensitivity is here
and it is widespread, and CPAN should be modified to take it into
account IMHO.

  -- Dave



Re: Perl 5.8 dyld errors with CPAN.pm

2003-07-08 Thread David R. Morrison
Tom Insam [EMAIL PROTECTED], in response to Barry C. Hawkins,  wrote:

  I am experiencing the same trouble after building Perl 5.8.0 
 from source, following the article on Apple's Developer Connection 
 titled Installing Perl 5.8 on Jaguar 
 http://developer.apple.com/internet/macosx/perl.html.  The 
 information on
 
 This web page needs more big red warnings on it.
 
 
 known problems published in the perldelta document 
 http://dev.perl.org/perl5/news/2002/07/18/580ann/perldelta.html#mac%20os%20x%20dyld%20undefined%20symbols
  
 advises a workaround for this problem, but I achieved the same 
 results after trying their workaround.  The Undefined symbols 
 errors persist, and can be seen using CPAN or fink.
 
 http://archive.develooper.com/[EMAIL PROTECTED]/msg02447.html
 
 As also linked from the apple page, under the link about perldelta.
 

Barry,

The archived message which Tom referred you to is now somewhat out of
date, as far as Fink is concerned.  As of the mid-June Fink release 0.5.3,
Fink will now coexist quite happily with Perl 5.8, even a copy of
Perl 5.8 which was installed by following the misguided instructions
from the Apple Developer Connection.

If your Fink installation is older, you'll probably need to follow the
instructions in that archived message about moving the Storable module
out of the way and then rebuilding.  Updating Fink to the latest
version should replace any offending fink perl modules with versions that
work with 5.6 only and do not interfere with 5.8.  In order to do that
successfully, you may need to install the fink package for perl5.6.0,
or else entirely remove some of your fink-installed perl modules.

The underlying problem-- that 5.6 modules are incompatible with 5.8
--remains, however, so if you have non-fink perl modules (installed by CPAN
or otherwise) you'll need to find a way to rebuild them.

  -- Dave




Re: Perl for Panther

2003-07-02 Thread David R. Morrison
Of course, it's not just perl modules which will break during the upgrade.
Anything which has linked to /System/Library/Perl/darwin/CORE/libperl.dylib
will break.  This includes eperl and irssi.

  -- Dave


Re: Perl for Panther

2003-07-02 Thread David R. Morrison
Folks, Apple has already given us considerable information about Perl in
Panther.  The release of the source files which correspond to the external
opensource parts of the WWDC Panther seed includes the source for the
version of perl which is on that seed.  See:

  http://www.opensource.apple.com/darwinsource/7.0b1/index.html

And Edward Moy, with the permission of his bosses, made the release notes
for Perl in Panther publically available.  According to those notes,
there will be very little change between the version used in the seed
and the final version.

  -- Dave


Re: Installing 5.8.0

2003-06-18 Thread David R. Morrison
Robin [EMAIL PROTECTED] wrote:

[snip]

 upgrades, it belongs to you. Install perl via CPAN as shown also won't 
 overwrite the perl used by the OSX system itself (perl5.6, kept in 

Has the problem with CPAN overwriting /usr/bin/head with /usr/bin/HEAD
been solved?

[snip]

 know what is on your system because you install it - in the past I used 
 fink, which is actually a series of perl modules and started getting 
 problems after I upgraded perl coming from the modules installed by 
 fink unbeknowst to me.

Just FYI, Fink finally plays well with perl 5.8.0 installations.  If
you upgrade to the latest CVS version, all XS-modules are installed in
properly-versioned subdirectories of the perl5 directory, and Fink
should run just fine with any version of perl from 5.6.0 through 5.8.x.

  -- Dave




Re: Perl/Tk on OSX?

2003-03-09 Thread David R. Morrison
There are two separate installations which must be done to get a complete
X11.app installation: the main installation and the SDK installation
(which is hiding down at the bottom right of Apple's web page).

The file /usr/X11R6/include/X11/Xlib.h is installed by the SDK part.

  -- Dave


Re: magic bullet needed for Perl upgrades on Mac OS X

2003-03-01 Thread David R. Morrison
I can't resist chiming in to this discussion.

The problem of how to have multiple versions of Perl coexist on a system
was solved in Perl long ago.  It involves storing certain things in
directories labeled with the version number, and specifying those
directories at compile-time so that they are encoded in the perl binary.
This way, no matter which binary you might have symlinked to /usr/bin/perl,
it will look in the correct place and find modules which are appropriate
for it.  Not only can versions easily coexist, but upgrades are relatively
painless. 

Unfortunately, this aspect of compiling Perl was ignored by Apple when they
first imported Perl to their system, and there is no versioning in their
directory setup.  Can this be fixed?  Sure, about a dozen ways, and I
imagine Apple is going to fix it when they give us perl5.8.0 .  In fact,
a fix was proposed last October by Fred Sanchez, former lead of the BSD
group at Apple, and accepted into the perl sources:

  http://archive.develooper.com/[EMAIL PROTECTED]/msg06039.html

A message on the perl5-porters list at the time indicated that Fred also
planned to explain to Apple how they can implement this while maintaining
backward-compatibility:

  http://archive.develooper.com/[EMAIL PROTECTED]/msg87083.html

-- Dave


Re: Fink sets PERL5LIB

2003-02-13 Thread David R. Morrison


On Feb 13,2003 09:00:03 -0700, Nathan Torkington [EMAIL PROTECTED] wrote :
David R. Morrison writes:
 The problem here is that Fink compiled Storable.pm under /usr/bin/perl,
 which for most people would be the Apple-installed 5.6.0 version, and you
 are now running a different perl version.

The trouble is that Apple (in their infinite wisdom and glory) have
removed the version number from the Perl library paths.  This is what
would let multiple versions of Perl coexist in peace.

So perhaps you should put the version number into Fink's Perl library
and change init.csh to do something like:

  PERL_VERSION=`perl -MConfig -e 'print $Config{version}'`
  PERL5LIB=/sw/lib/perl5/$PERL_VERSION

Starting scripts with #!/usr/bin/perl5.6.0 will ensure the system
Perl is used.

Nat


Another strategy I thought of is to ask everybody who compiles their own
version of perl to do it right and to put the version number into the
library path.  In fact, Fred Sanchez submitted a patch for the darwin
configuration on perl, which I believe was accepted by the perl project, which
does exactly that.  (I'll rummage around and see if I can find that.)

What I'm hoping is that this patch tells perl to look in
$PERL5LIB/$PERL_VERSION.  If so, then the only unversioned stuff would be
stock Apple 5.6.0 (in principle), right?

  -- Dave






Re: Try out a fink package for 5.6.1?

2003-02-11 Thread David R. Morrison
Ken Williams [EMAIL PROTECTED] wrote:

 Hi David,
 
 Thanks for your feedback!
 
 On Monday, February 10, 2003, at 07:17  PM, David R. Morrison wrote:
 
  Hi Ken.  I've been wanting to get some perl packages into Fink for some
  time, and this looks like a great start.  The package worked well for 
  me,
  although you do need to adjust where the man files are stored (Fink 
  puts
  them in /sw/share/man, not /sw/man);
 
 Okay, I'll try to adjust that in the .info file.  The perl installation 
 location variables are always so non-fun...

Well, if its hard to do with perl installation directly, you can do it in
Fink's InstallScript (something like mv %i/man %i/share/man at the very
end). 

[snip]

  One of the problems with the current situation is that there are those
  widely-followed instructions for replacing Apple's perl by a more 
  recent
  version, but doing that breaks tools (like Fink) which may depend on a
  specific version.  So it would be great to have a Fink way to install 
  5.6.1
  and/or 5.8.0.
 
 Yeah, there could certainly be a fink package made for 5.8.0 and it 
 would work fine.  Users could just adjust a /usr/bin/perl (and/or 
 /sw/bin/perl) symlink to get the different versions, or just use the 
 full paths.
 
 I think this means that the version number needs to be part of the 
 package name, though, and not just in the fink 'Version' field.  
 Probably perl5.6 and perl5.8, similar to the fink packages apache and 
 apache2, and the various versions of autoconf?
 

Yes, I agree.  In fact, my understanding is that 5.6.0 and 5.6.1 would
store files in different directories, right?  So I think we actually need
to call them perl5.6.1 and perl5.8.0 (in preparation for a later
perl5.8.1, for example).  I don't see any reason to build perl5.6.0 in
Fink. 

[snip]

  Anyway, certainly if Fink itself is going to be used to compile some 
  5.6.1
  or 5.8.0 modules, then /sw/lib/perl5/site_perl/ needs to be in @INC
  (although perhaps only in Fink? by setting it in Fink's 
  /sw/bin/init.(c)sh
  perhaps?).
 
 Hmm - mainly because of my preferences for my own machine, I'd like to 
 keep the targetted location for regular (non-fink) CPAN installs 
 /Library/Perl/ even when using the fink perl-5.6.1.  
 /sw/lib/perl5/site_perl/ would be a good place for fink-installed 
 modules, or 5.8.0 modules, though.
 

I don't understand how this works, I guess.  Can the user reset the
targetted location, even if the one chosen at compile time was different?

 
  There are also interesting issues of whether, when Fink compiles a perl
  module, it should be doing so under multiple versions of perl.  I'd
  appreciate hearing your thoughts about that as well.
 
 I was thinking maybe it should sense what perl versions are installed 
 (by probing for fink packages) and just install for any  all installed 
 perls, but I don't think that will actually work - what happens if the 
 user installs perl-5.6.1, then DBI, then perl-5.8.0?  DBI for 5.8.0 
 won't be installed.  So that seems to point to using separate fink 
 packages for the perl versions.
 

Yes.  Roughly what we need to do is to compile the module so that it will
work with all versions of perl known to Fink, and store the results in the
appropriately numbered sub-directories of /sw/lib/perl5.  Now, I'm a bit
over my head here, but my understanding is that lots of perl modules will
be fine no matter which version they are compiled under, and copies of them
could simply be deposited in the appropriate directories.  But for other
ones, multiple compiles might be needed?  I don't know how one tells the
difference between these, though.

  -- Dave




Re: Try out a fink package for 5.6.1?

2003-02-10 Thread David R. Morrison
On Wed, 15 Jan 2003 Ken Williams [EMAIL PROTECTED] wrote:

 I've been tweaking a perl package for fink over the past couple of 
 days.  Unlike my previous efforts, this one installs as /sw/bin/perl 
 and doesn't overwrite anything Apple installs.  Its core libraries are 
 at /sw/lib/perl5/.  It also uses /Library/Perl/ as its site_perl, which 
 I figured would be convenient since many people may already have a 
 bunch of stuff installed there.  I could also add something like 
 /sw/lib/perl5/site_perl/ to @INC if people wanted it.

Hi Ken.  I've been wanting to get some perl packages into Fink for some
time, and this looks like a great start.  The package worked well for me,
although you do need to adjust where the man files are stored (Fink puts
them in /sw/share/man, not /sw/man); I also noticed a little warning about
make test not having been run...

One of the problems with the current situation is that there are those
widely-followed instructions for replacing Apple's perl by a more recent
version, but doing that breaks tools (like Fink) which may depend on a
specific version.  So it would be great to have a Fink way to install 5.6.1
and/or 5.8.0.

I guess the ideal setup would let people mix and match Fink and CPAN
installations of perl modules at will, but I'm not sure I understand a good
way to do that.  I've been reading through some of the archives of this
list in an attempt to figure it out.  (But I guess I've also been nervous
about direct CPAN installs because of the old problem of /usr/bin/head being
replaced by /usr/bin/HEAD on our wonderfully case-challenged HFS+
filesystem when CPAN was used to install libwww-perl, but perhaps that
problem has been solved by now.)

Anyway, certainly if Fink itself is going to be used to compile some 5.6.1
or 5.8.0 modules, then /sw/lib/perl5/site_perl/ needs to be in @INC
(although perhaps only in Fink? by setting it in Fink's /sw/bin/init.(c)sh
perhaps?). 

There are also interesting issues of whether, when Fink compiles a perl
module, it should be doing so under multiple versions of perl.  I'd
appreciate hearing your thoughts about that as well.

  Best regards,
  Dave Morrison