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 2003



Tip: Looking for answers? Try searching our database.

MacOSX::File on Panther

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Antoine Quint - 23 Oct 2003 10:33 GMT
Hi there,

I've been frantically trying to install MacOSX::File 0.66 on my Panther  
7B85 (GM) powerbook. I have XCode 7B85 installed, which. I haven't  
succeeded in running "make". I have attached the Terminal output so you  
can see what's wrong. Thanks for any tips!

<MacOSX-File-0.66 /> perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for MacOSX::File::Catalog
Writing Makefile for MacOSX::File::Copy
Writing Makefile for MacOSX::File::Info
Writing Makefile for MacOSX::File::Spec
Writing Makefile for MacOSX::File
<MacOSX-File-0.66 /> make CC=gcc2
cp File.pm blib/lib/MacOSX/File.pm
cp File/Constants.pm blib/lib/MacOSX/File/Constants.pm
AutoSplitting blib/lib/MacOSX/File/Constants.pm  
(blib/lib/auto/MacOSX/File/Constants)
cp Catalog.pm ../blib/lib/MacOSX/File/Catalog.pm
AutoSplitting ../blib/lib/MacOSX/File/Catalog.pm  
(../blib/lib/auto/MacOSX/File/Catalog)
/usr/bin/perl /System/Library/Perl/5.8.1/ExtUtils/xsubpp  -typemap  
/System/Library/Perl/5.8.1/ExtUtils/typemap  Catalog.xs > Catalog.xsc  
&& mv Catalog.xsc Catalog.c
gcc2 -c  -I../ -I/Developer/Headers/FlatCarbon -pipe -fno-common  
-DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Os    
-DVERSION=\"0.64\" -DXS_VERSION=\"0.64\"  
"-I/System/Library/Perl/5.8.1/darwin-2level/CORE"   Catalog.c
In file included from  
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:
13,
                 from  
/System/Library/Frameworks/CoreFoundation.framework/Headers/
CoreFoundation.h:8,
                 from  
/System/Library/Frameworks/CoreServices.framework/Frameworks/
CarbonCore.framework/Headers/CarbonCore.h:20,
                 from  
/System/Library/Frameworks/CoreServices.framework/Headers/
CoreServices.h:21,
                 from /Developer/Headers/FlatCarbon/Files.h:1,
                 from ../common/util.c:9,
                 from Catalog.xs:16:
/usr/include/gcc/darwin/2.95.2/g++/../stdbool.h:10: warning: empty  
declaration
In file included from  
/System/Library/Frameworks/CoreServices.framework/Frameworks/
OSServices.framework/Headers/OSServices.h:47,
                 from  
/System/Library/Frameworks/CoreServices.framework/Headers/
CoreServices.h:25,
                 from /Developer/Headers/FlatCarbon/Files.h:1,
                 from ../common/util.c:9,
                 from Catalog.xs:16:
/System/Library/Frameworks/CoreServices.framework/Frameworks/
OSServices.framework/Headers/OpenTransportProtocol.h:628: parse error  
before `='
Catalog.xs: In function `XS_MacOSX__File__Catalog_xs_setcatalog':
Catalog.xs:263: warning: assignment makes pointer from integer without  
a cast
make[1]: *** [Catalog.o] Error 1
make: *** [subdirs] Error 2

Antoine
Signature

Antoine Quint <aq@fuchsia-design.com>
W3C SVG Working Group Invited Expert
SVG Consulting, Teaching and Outsourcing
Fuchsia Design <http://www.fuchsia-design.com/>

emoy@apple.com - 23 Oct 2003 18:42 GMT
Yes, this seems to be another case of a Perl define (I_POLL) colliding  
with a Mac OS X one (in OpenTransportProtocol.h).  Panther now has  
poll() (an emulation actually), so that is why I_POLL is now defined.

A quick workaround is to apply the following patch:

------------- cut ------------------- cut ---------------
--- common/util.c.orig  Wed Apr  9 01:30:55 2003
+++ common/util.c       Thu Oct 23 10:26:00 2003
@@ -6,6 +6,7 @@
 # define _INC_UTIL_C_

 #include <sys/param.h>
+#undef I_POLL
 #include <Files.h>

 #ifdef _INC_PERL_XSUB_H
--- Copy/filecopy.c.orig        Wed Apr  9 01:30:55 2003
+++ Copy/filecopy.c     Thu Oct 23 10:26:18 2003
@@ -2,6 +2,7 @@
  * $Id: filecopy.c,v 0.65 2003/04/09 08:25:26 dankogai Exp $
  */

+#undef I_POLL
 #include <Files.h>
 #include "common/util.c"

--- Spec/Spec.xs.orig   Sat Jan 12 07:25:01 2002
+++ Spec/Spec.xs        Thu Oct 23 10:27:10 2003
@@ -9,6 +9,7 @@
     return -1;
 }

+#undef I_POLL
 #include <Finder.h>
 #include "common/util.c"

------------- cut ------------------- cut ---------------

This allows it to build for me, and the tests succeed.  One other  
difference, which might not really make a difference, is that I used  
gcc 3.3, not 2.95 as you do.

------------------------------------------------------------------------
--
Edward Moy
Apple

(This message is from me as a reader of this list, and not a statement
from Apple.)

> Hi there,
>
[quoted text clipped - 62 lines]
>
> Antoine
Antoine Quint - 23 Oct 2003 23:06 GMT
Hi,

> Yes, this seems to be another case of a Perl define (I_POLL) colliding
> with a Mac OS X one (in OpenTransportProtocol.h).  Panther now has
> poll() (an emulation actually), so that is why I_POLL is now defined.
>
> A quick workaround is to apply the following patch:

[snip]

> This allows it to build for me, and the tests succeed.  One other
> difference, which might not really make a difference, is that I used
> gcc 3.3, not 2.95 as you do.

I only used gcc 2.95 because Dan was suggesting to build the
distribution with it, back in the 7B21 days. Thanks a lot for the help,
installation succeeded and I'm a happy man. Rock on.

Antoine
Signature

Antoine Quint <aq@fuchsia-design.com>
W3C SVG Working Group Invited Expert
SVG Consulting, Teaching and Outsourcing
Fuchsia Design <http://www.fuchsia-design.com/>

 
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.