[p4ruby] p4ruby on Mac Snow Leopard

Andy Koch andy.koch at pc-doctor.com
Thu Mar 25 10:51:00 PDT 2010


I'm using 1.8.7 REE

[~/src/perforce/09.2/p4ruby-2009.2]
andy at pdd-andy-mbp->rv
ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-darwin10.2.0], MBARI 0x6770, Ruby Enterprise Edition 2010.01

tried 09.2 with both darwin80u and macosx104u but still no luck

darwin80u complains of undefined symbols
macos104u complains of wrong architecture

I'll try some different Rubies as I have RVM and try to find one that works.



----- Original Message -----
From: "Sven Erik Knop" <sknop at perforce.com>
To: "Andy Koch" <andy.koch at pc-doctor.com>
Cc: "Tony Smith" <tony at smee.org>, p4ruby at perforce.com
Sent: Thursday, March 25, 2010 10:17:47 AM GMT -08:00 US/Canada Pacific
Subject: Re: [p4ruby] p4ruby on Mac Snow Leopard

Hi Andy,

which version of Ruby are you using?

Also, could you try to use P4Ruby 2009.2 with the 9.2 API? This is the 
version that I use on my Snow Leopard Mac, and it compiled without problems.

Cheers

Sven Erik

On 25/03/2010 16:55, Andy Koch wrote:
> Hi Tony,
>
> that sounded promising, but still getting errors and seeing reference to Carbon framework.
>
>
>
> [~/src/p4ruby-2009.1]
> andy at pdd-andy-mbp->ruby p4conf.rb --apidir /Users/andy/src/p4api-2009.1.205670/
>
> Starting to configure P4/Ruby for building
>
> Found 2009.1 Perforce API in /Users/andy/src/p4api-2009.1.205670
>
> P4/Ruby Configuration Summary
> -----------------------------
>
> Using Perforce API Version: 2009.1
> API headers and libs from : /Users/andy/src/p4api-2009.1.205670
> OS name                   : DARWIN
> OS version                : 10
> Platform                  : X86
> CFLAGS                    : -g -O2  -pipe -fno-common $(cflags) -I/Users/andy/src/p4api-2009.1.205670/include/p4 -DOS_DARWIN -DOS_DARWIN10 -DOS_DARWIN10X86 -DCASE_INSENSITIVE
> LIBPATH                   : /Users/andy/src/p4api-2009.1.205670/lib
> libs                      : -lclient -lrpc -lsupp
>
> Creating extconf.h
> creating Makefile
>
> [~/src/p4ruby-2009.1]
> andy at pdd-andy-mbp->make
> g++ -bundle -o P4.bundle clientuserruby.o p4.o p4clientapi.o p4mapmaker.o p4mergedata.o p4result.o p4specdata.o specmgr.o -L/Users/andy/src/p4api-2009.1.205670/lib -L. -L/Users/andy/.rvm/rubies/ree-1.8.7-2010.01/lib -L.  -framework Carbon    -lclient -lrpc -lsupp  -ldl -lobjc
> Undefined symbols:
>    "_rb_hash_aref", referenced from:
>        SpecDataRuby::GetLine(SpecElem*, int, char const**)in p4specdata.o
>        SpecDataRuby::SetLine(SpecElem*, int, StrPtr const*, Error*)in p4specdata.o
>        SpecMgr::InsertItem(unsigned long, StrPtr const*, StrPtr const*)in specmgr.o
>    "_rb_hash_aset", referenced from:
>        SpecDataRuby::SetLine(SpecElem*, int, StrPtr const*, Error*)in p4specdata.o
>        SpecDataRuby::SetLine(SpecElem*, int, StrPtr const*, Error*)in p4specdata.o
>        SpecMgr::InsertItem(unsigned long, StrPtr const*, StrPtr const*)in specmgr.o
>        SpecMgr::InsertItem(unsigned long, StrPtr const*, StrPtr const*)in specmgr.o
>        SpecMgr::InsertItem(unsigned long, StrPtr const*, StrPtr const*)in specmgr.o
>        SpecMgr::SpecFields(StrPtr*)      in specmgr.o
>
>
>
>
>
> ----- Original Message -----
> From: "Tony Smith"<tony at smee.org>
> To: "Andy Koch"<andy.koch at pc-doctor.com>
> Cc: p4ruby at perforce.com
> Sent: Thursday, March 25, 2010 2:47:52 AM GMT -08:00 US/Canada Pacific
> Subject: Re: [p4ruby] p4ruby on Mac Snow Leopard
>
> Hi Andy,
>
> The macosx version of the API requires the Carbon framework, but the
> darwin version doesn't (the macosx version is for building GUI clients
> with, while the darwin build is for non-GUI stuff).  The errors you're
> getting are to do with architecture support though: ruby wants to link
> for more than one architecture, but the P4API you're using only supports
> x86 (not x86_64).
>
> I recommend using the 'darwin8u' builds on Mac as they are universal
> binaries suitable for use on PPC, x86 and x86_64 platforms. Try with
> this build and see if it works any better:
>
> http://www.perforce.com/downloads/perforce/r09.1/bin.darwin80u/p4api.tgz
>
> Tony
>
> Andy Koch wrote:
>    
>> Hi Tony,
>>
>> Trying install p4ruby on Mac Snow Leopard (10.6.2) and am having some compilation issues.
>>
>> I'm using p4ruby and p4api from the 09.1 dir of perforce.com
>>
>> Wondering if this bit "-framework Carbon" is the problem?  Does this need to change to Cocoa?
>>
>> please advise&  thank you
>>
>>
>> here is my console output...
>>
>>
>> [~/src/p4ruby-2009.1]
>> andy at pdd-andy-mbp->ruby p4conf.rb --apidir /Users/andy/src/p4api-2009.1.211694/
>>
>> Starting to configure P4/Ruby for building
>>
>> Found 2009.1 Perforce API in /Users/andy/src/p4api-2009.1.211694
>>
>> P4/Ruby Configuration Summary
>> -----------------------------
>>
>> Using Perforce API Version: 2009.1
>> API headers and libs from : /Users/andy/src/p4api-2009.1.211694
>> OS name                   : DARWIN
>> OS version                : 10
>> Platform                  : X86
>> CFLAGS                    : -g -O2  -pipe -fno-common $(cflags) -I/Users/andy/src/p4api-2009.1.211694/include/p4 -DOS_DARWIN -DOS_DARWIN10 -DOS_DARWIN10X86 -DCASE_INSENSITIVE
>> LIBPATH                   : /Users/andy/src/p4api-2009.1.211694/lib
>> libs                      : -lclient -lrpc -lsupp
>>
>> Creating extconf.h
>> creating Makefile
>>
>> [~/src/p4ruby-2009.1]
>> andy at pdd-andy-mbp->make
>> g++ -bundle -o P4.bundle clientuserruby.o p4.o p4clientapi.o p4mapmaker.o p4mergedata.o p4result.o p4specdata.o specmgr.o -L/Users/andy/src/p4api-2009.1.211694/lib -L. -L/Users/andy/.rvm/rubies/ree-1.8.7-2010.01/lib -L.  -framework Carbon    -lclient -lrpc -lsupp  -ldl -lobjc
>> ld: warning: in /Users/andy/src/p4api-2009.1.211694/lib/libclient.a, missing required architecture x86_64 in file
>> ld: warning: in /Users/andy/src/p4api-2009.1.211694/lib/librpc.a, missing required architecture x86_64 in file
>> ld: warning: in /Users/andy/src/p4api-2009.1.211694/lib/libsupp.a, missing required architecture x86_64 in file
>> Undefined symbols:
>>    "FileSys::Compare(FileSys*, Error*)", referenced from:
>>        ClientUserRuby::Diff(FileSys*, FileSys*, int, char*, Error*)in clientuserruby.o
>>    "Spec::Count()", referenced from:
>>        SpecMgr::SpecFields(StrPtr*)      in specmgr.o
>>    "_rb_str_new", referenced from:
>>
>> <<  snip - there is 1000+ additional compiler dump>>
>>
>>
>>
>>      
>    


--------------------------------------------------------------------------------
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. If 
you have received this email in error please notify the system manager. Please 
note that any views or opinions presented in this email are solely those of the 
author and do not necessarily represent those of Perforce Software. Finally, 
the recipient should check this email and any attachments for the presence of 
viruses. Perforce Software accepts no liability for any damage caused by any 
virus transmitted by this email.

Perforce Software UK Ltd is registered in England and Wales as company no. 
3816019 at the following address: West Forest Gate, Wellington Road, Wokingham,
RG40 2AQ, UK
--------------------------------------------------------------------------------

-- 
Andy Koch, Web Applications Developer	
PC-Doctor, Inc.
9805 Double R Boulevard, Suite 301
Reno, NV 89521
775-336-4079
andy.koch at pc-doctor.com

CONFIDENTIALITY
The information contained in this message is confidential. It is intended to be read only by the individual or entity to whom it is addressed or by an authorized designee. If the reader of this message is not the intended recipient, be aware that distribution of this message in any form is strictly prohibited. If you have received this message in error, please immediately notify the sender and destroy any copy of this message.



More information about the p4ruby mailing list