[p4ruby] p4ruby on Mac Snow Leopard

Sven Erik Knop sknop at perforce.com
Fri Mar 26 03:36:09 PDT 2010


Hi Andy,

you are welcome, great to hear you got it working.

Cheers

Sven Erik

On 25/03/2010 18:29, Andy Koch wrote:
> OK, I dropped my source installed Ruby and installed from MacPorts with the 'universal' option.
>
> then compiled with this Ruby from 09.2 sources
>
> and it works!  w00t!!
>
> still a bit disconcerting that it's not working on the other Ruby versions,
>
> but I've got something to work with now so I can placate some badgering coworkers
>
> Thanks for all the help
>
> fyi...
>
> [~/src/perforce/09.2/p4ruby-2009.2]
> andy at hst-26-147->ruby -v
> ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10]
>
> [~/src/perforce/09.2/p4ruby-2009.2]
> andy at hst-26-147->port installed | grep ruby
>    ruby @1.8.7-p249_1+darwin+thread_hooks+universal (active)
>
> ----- 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:58:12 AM GMT -08:00 US/Canada Pacific
> Subject: Re: [p4ruby] p4ruby on Mac Snow Leopard
>
> That is interesting.
>
> Here is my version
>
> $ ruby -v
> ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
>
> This version has been built as a universal binary. I wouldn't be
> surprised if the troubles come from the mismatch between the ruby build
> and the API build.
>
> Do you have access to a universal-darwin build of ruby?
>
> Cheers
>
> Sven Erik
>
> On 25/03/2010 17:51, Andy Koch wrote:
>    
>> 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
>> --------------------------------------------------------------------------------
>>
>>
>>      
>
> --------------------------------------------------------------------------------
> 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
> --------------------------------------------------------------------------------
>
>    



More information about the p4ruby mailing list