I have filed
    6883134 ruby build fails with proto path length of 40
to track this and have come up with a fix that someone more familiar 
with ruby should look at.  My webrev is at
    http://cr.opensolaris.org/~jacobs/webrev-6883134/

It appears that if strlen($ROOT) == 40 run into the problem, so 
workspace pathname length of 22 on sparc and 23 on x86 seems to do it 
for me.  I took a look at mkconfig.rb and while it's largely greek to 
me, It appears to use perl like regular expressions.  The following 
patch seems to fix it for me, but someone with ruby experience ought to 
review this.

--- ruby-1.8.7-p72/mkconfig.rb.orig   Thu Sep 17 07:31:55 2009
+++ ruby-1.8.7-p72/mkconfig.rb  Thu Sep 17 07:32:13 2009
@@ -55,7 +55,7 @@
       continued_name = name
       next
     end
-  when /^"(.+)"\s*(\\)?$/
+  when /^"(.*)"\s*(\\)?$/
     if continued_line
       continued_line <<  $1
       unless $2

    -Norm


Amanda waite wrote:
> Norm Jacobs wrote:
>>
>> I finally go a chance to finish tracking this down.  It appears that 
>> if the path to your proto area is sized just so, the ruby build will 
>> generate a config.status that has
>>   S["CFLAGS"]="....."\
>>   ""
>> in it.  later in the ruby build, ruby appears to generate rbconfig.rb 
>> using a combination of their tools and config.status.  The continued 
>> line "" in config.status appears to confuse their parser causing an 
>> invalid rbconfig.rb to be generated.  Since they use rbconfig.rb for 
>> the rest of their build, it goes horribly wrong.  I'm not a ruby god, 
>> so it will probably take me a little bit to generate a fix.  In the 
>> meantime, you can workaround this (if you run into it) by making your 
>> workspace pathname shorter or longer.
> Do you know what length of path actually causes the issue? If I can 
> recreate it I might be able to get a handle on the issue.
>
> Thanks for looking into this, it seems unlikely that I would have been 
> able to recreate this unless I got really (un)lucky.
>
> Amanda
>
>>
>> For any ruby gods that want to lend me a clue, the command that 
>> generates rbconfig.rb is
>>
>> $ ./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb  
>> ./ext/extmk.rb --make="/usr/ccs/bin/make" --dest-dir=""  
>> --extout=".ext"  --mflags=""  --make-flags="" --extension  
>> --extstatic  --
>>
>>    -Norm
>>
>>
>> Norm Jacobs wrote:
>>> Amanda Waite wrote:
>>>> I've just built Ruby from an SFW workspace on build 122 on x64 and 
>>>> it all went ok. I'll run nightly tomorrow. I don't expect a  
>>>> negative result so hopefully Norm has some idea.
>>>>
>>>> Amanda
>>>>
>>>> Mike Sullivan wrote:
>>>>> Amanda Waite wrote:
>>>>>> Hi Milan,
>>>>>>
>>>>>> I'm just getting my x64 build system updated and will run some 
>>>>>> tests on a clean workspace tomorrow. The problem maybe to do with 
>>>>>> the way the build has written it's rbconfig.rb file so the answer 
>>>>>> maybe further up in the output from the build.
>>>>>>
>>>>>
>>>>> I've only seen this once, in one of norm's builds, and he claimed to
>>>>> have seen it and have a fix somewhere. So it's probably time to hope
>>>>> he responds :)
>>> I ran across this last week while working on some changes to 
>>> standardize the individual component build some.  I have narrowed it 
>>> down some, but still haven't had a chance to find the ultimate 
>>> cuplrit.  In my case, It works for me when I set ROOT to a proto 
>>> area for a workspace without all of my changes.  I have some 
>>> problems with my proto area that I am working out.  My workspace has 
>>> changes to about 200 of the Makefiles that build SFW bits prior to 
>>> ruby, so the net's pretty big right now.  Can you send me a pointer 
>>> to your system and the workspace that you are having the problems 
>>> with.  It may help me isolate the problem quicker.
>>>    -Norm
>>>
>>>>>
>>>>>     Mike
>>>>>
>>>>>
>>>>>>
>>>>>> Milan Jurik wrote:
>>>>>
>>>>>>> /export/home/luser/sfwnv/usr/src/cmd/ruby18/ruby-1.8.7-p72/lib/mkmf.rb:1676:in
>>>>>>>  
>>>>>>> `dup': can't dup NilClass (TypeError)
>>>>>>>
>>>>>>> from 
>>>>>>> /export/home/luser/sfwnv/usr/src/cmd/ruby18/ruby-1.8.7-p72/lib/mkmf.rb:1676:in
>>>>>>>  
>>>>>>> `init_mkmf'
>>>>>>>
>>>>>>> from 
>>>>>>> /export/home/luser/sfwnv/usr/src/cmd/ruby18/ruby-1.8.7-p72/lib/mkmf.rb:1736
>>>>>>>  
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>> _______________________________________________
>>>> sfwnv-discuss mailing list
>>>> sfwnv-discuss at opensolaris.org
>>>> http://mail.opensolaris.org/mailman/listinfo/sfwnv-discuss
>>>
>>>
>>
>

Reply via email to