Just give it a shot with your stuff.  Run a `build` (compile + test) and
then try to open a shell (preferably JIRB or Scala).  If both of those work,
then we can have fairly high confidence that things are sorted.

Daniel

On Mon, Mar 1, 2010 at 11:21 AM, Pepijn Van Eeckhoudt <
[email protected]> wrote:

> Any ideas on how to test this thoroughly? I can't imagine this causing a
> regression as the debugger now shows system is being loaded from msvcrt
> which is exactly the method you want to load.
>
> Pepijn
>
>
> On 1/3/2010 18:17, Daniel Spiewak wrote:
>
>> Fix committed in r917597.  Note that this only applies when
>> Buildr::Util::win_os? is true.
>>
>> Daniel
>>
>> On Mon, Mar 1, 2010 at 11:13 AM, Pepijn Van Eeckhoudt<
>> [email protected]>  wrote:
>>
>>
>>
>>> Or better yet just use LIBC directly instead :)
>>> So ffi_lib FFI::Platform::LIBC
>>>
>>> I'll add this as a comment to BUILDR-348
>>>
>>> Pepijn
>>>
>>>
>>> On 1/3/2010 18:05, Pepijn Van Eeckhoudt wrote:
>>>
>>>
>>>
>>>> Aha, that confirms what I suspected. I was about to check the JRuby
>>>> source
>>>> code, so thanks for saving me some digging :)
>>>>
>>>> Adding
>>>> ffi_lib "c"
>>>> before the attach_function does the trick. map_library_name maps this to
>>>> Platform::LIBC and then the attach works correctly.
>>>>
>>>> Pepijn
>>>>
>>>> On 1/3/2010 17:50, Antoine Toulme wrote:
>>>>
>>>>
>>>>
>>>>> See my comment on BUILDR-348.
>>>>>
>>>>> On Mon, Mar 1, 2010 at 08:49, Pepijn Van Eeckhoudt<
>>>>> [email protected]>   wrote:
>>>>>
>>>>>  Just tested that; nothing happens. I don't see the vim output and jirb
>>>>>
>>>>>
>>>>>> is
>>>>>> no longer responding to input.
>>>>>>
>>>>>> Pepijn
>>>>>>
>>>>>>
>>>>>> On 1/3/2010 17:37, Alex Boisvert wrote:
>>>>>>
>>>>>>  They may have fixed system() such that using FFI directly wouldn't be
>>>>>>
>>>>>>
>>>>>>> necessary anymore.  A simple test such as "system 'vim'" from jirb on
>>>>>>> Windows would confirm.
>>>>>>>
>>>>>>> alex
>>>>>>>
>>>>>>> On Mon, Mar 1, 2010 at 8:16 AM, Antoine Toulme<
>>>>>>> [email protected]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>  I can contact the jruby folks and see if a jruby update would help -
>>>>>>>
>>>>>>>
>>>>>>>> JFFI
>>>>>>>> is
>>>>>>>> now 1.0 btw, while it was 0.4 in 1.4.0.
>>>>>>>>
>>>>>>>> On Mon, Mar 1, 2010 at 08:12, Alex Boisvert<[email protected]
>>>>>>>> >
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>  On Mon, Mar 1, 2010 at 3:00 AM, Pepijn Van Eeckhoudt<
>>>>>>>>
>>>>>>>>
>>>>>>>>> [email protected]>    wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  It would be nice if BUILDR-348 could be resolved for 1.4.0. We are
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  planning
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  on using buildr as internally running on jruby 1.4. Right now this
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  issue
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>  means I will either have to maintain a custom buildr build or have
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>  every
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>  developer patch the buildr installation by hand.
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Any idea on the root cause of this problem? Does commenting out
>>>>>>>>>> that
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  one
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>  line have any other side effects?
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  The issue is that JRuby use{s,d} the JVM's System.exec() call to
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> spawn
>>>>>>>>> external processes, which isn't 100% equivalent to Unix system()
>>>>>>>>> call.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>   For
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>  instance, if you spawned a process like 'vim' or a language shell
>>>>>>>>
>>>>>>>>
>>>>>>>>> like
>>>>>>>>> 'scala' or 'irb', then you wouldn't be able to interact with the
>>>>>>>>> sub-process
>>>>>>>>> correctly due to incomplete redirection of all terminal
>>>>>>>>> capabilities.
>>>>>>>>>
>>>>>>>>> To solve this, we override the system() call to circumvent the
>>>>>>>>> JRuby's
>>>>>>>>> system call and directly call the native system() using FFI.
>>>>>>>>>
>>>>>>>>> I don't know what's the state of things on JRuby 1.4.0 + Windows
>>>>>>>>> but
>>>>>>>>> some
>>>>>>>>> internals seem to have changed which is why we're getting the error
>>>>>>>>> described in BUILDR-348.  Somebody needs to investigate what
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  works/doesn't
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>  work on Windows -- the workaround I provided on BUILDR-348 simply
>>>>>>>>
>>>>>>>>
>>>>>>>>> reverts
>>>>>>>>> to
>>>>>>>>> using the standard system() implementation, which works for most
>>>>>>>>> things
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  but
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>  not shelling out to interactive apps.
>>>>>>>>
>>>>>>>>
>>>>>>>>> alex
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> --
>>>>>> Pepijn Van Eeckhoudt - Project Leader
>>>>>> T +32 16 23 95 91
>>>>>> F +32 16 29 34 22 | [email protected]
>>>>>>
>>>>>> LUCIAD - high performance visualization
>>>>>> Wetenschapspark Arenberg | Gaston Geenslaan 9
>>>>>> 3001 Leuven | Belgium | www.luciad.com
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>> --
>>> Pepijn Van Eeckhoudt - Project Leader
>>> T +32 16 23 95 91
>>> F +32 16 29 34 22 | [email protected]
>>>
>>> LUCIAD - high performance visualization
>>> Wetenschapspark Arenberg | Gaston Geenslaan 9
>>> 3001 Leuven | Belgium | www.luciad.com
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>
> --
> Pepijn Van Eeckhoudt - Project Leader
> T +32 16 23 95 91
> F +32 16 29 34 22 | [email protected]
>
> LUCIAD - high performance visualization
> Wetenschapspark Arenberg | Gaston Geenslaan 9
> 3001 Leuven | Belgium | www.luciad.com
>
>
>

Reply via email to