rake ruby18 and rake ruby19 fail

15 views
Skip to first unread message

Chuck Remes

unread,
Jun 28, 2010, 9:55:45 AM6/28/10
to RubyInstaller
I have installed the latest git clone on my Windows slice so I can test 64-bit installation. On an *unchanged* clone, neither 'rake ruby18' or 'rake ruby19' succeeds at installing a working ruby.

Both of them die in the same place which is applying the first patch to openssl. Here's a gist of the error from rake ruby19 --trace (rake.err and rake.out are in separate gists... I don't know how to redirect STDERR to STDOUT on Windows):

http://gist.github.com/455863


Environment:

Windows 7 Pro x64
up-to-date MSYS installed at c:\msys\1.0 on PATH
ruby 1.9-p378 installed via oneclick binary installer w/devkit
ruby 1.8-p?? installed via oneclick binary installer, no devkit
rubyinstaller git clone accessible via network share (VMware)

I would appreciate any suggestions on diagnosing this problem. I want to get to the point where I can build a virgin copy of 1.9.1 32-bit so that I can trouble shoot some 64-bit build problems with win32/mkexports.rb.

Thank you...

cr

Luis Lavena

unread,
Jun 28, 2010, 10:03:27 AM6/28/10
to rubyin...@googlegroups.com
On Mon, Jun 28, 2010 at 9:55 AM, Chuck Remes <cremes....@mac.com> wrote:
> I have installed the latest git clone on my Windows slice so I can test 64-bit installation. On an *unchanged* clone, neither 'rake ruby18' or 'rake ruby19' succeeds at installing a working ruby.
>
> Both of them die in the same place which is applying the first patch to openssl. Here's a gist of the error from rake ruby19 --trace (rake.err and rake.out are in separate gists... I don't know how to redirect STDERR to STDOUT on Windows):
>
> http://gist.github.com/455863
>
>
> Environment:
>
> Windows 7 Pro x64
> up-to-date MSYS installed at c:\msys\1.0 on PATH

Please remove any MSYS or GCC from your PATH.

Please also remove any bashrc bash_profile you may have in your HOME directory.

rubyinstaller build recipes contains msys and gcc, and existing one or
alterations to its configuration may be interfering with your
environment.

I've the say OS, but I cannot reproduce your scenario, so my
conclusion is that is related to the 2 things I mentioned above.

>
> I would appreciate any suggestions on diagnosing this problem. I want to get to the point where I can build a virgin copy of 1.9.1 32-bit so that I can trouble shoot some 64-bit build problems with win32/mkexports.rb.
>

The problem is not mkexports, the problem is 1.9.x series not adding
--export-all to the linking process.

Check and compare the generated rbconfig from 1.8 with the ones for
1.9.x lines in the sandbox folder.

Hope that helps.
--
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

Jon

unread,
Jun 28, 2010, 11:05:17 AM6/28/10
to rubyin...@googlegroups.com
> > don't know how to redirect STDERR to STDOUT on Windows):

fyi, if you're using Command Prompt (not PowerShell) these might be helpful...

http://technet.microsoft.com/en-us/library/bb490982.aspx

http://technet.microsoft.com/en-us/library/bb490954.aspx

Chuck Remes

unread,
Jun 28, 2010, 11:26:22 AM6/28/10
to rubyin...@googlegroups.com

Thanks for those links. I have been using the redirection, but redirecting STDERR to STDOUT doesn't work.

e.g. rake ruby19 > output 2>&1

It is weird, but only some STDOUT and some STDERR messages make it to the file (on my system). The only way I can get it to capture all output is to structure it like this:

rake ruby19 > output 2> erroutput

cr

Chuck Remes

unread,
Jun 28, 2010, 11:42:24 AM6/28/10
to rubyin...@googlegroups.com

On Jun 28, 2010, at 9:03 AM, Luis Lavena wrote:

> On Mon, Jun 28, 2010 at 9:55 AM, Chuck Remes <cremes....@mac.com> wrote:
>> I have installed the latest git clone on my Windows slice so I can test 64-bit installation. On an *unchanged* clone, neither 'rake ruby18' or 'rake ruby19' succeeds at installing a working ruby.
>>
>> Both of them die in the same place which is applying the first patch to openssl. Here's a gist of the error from rake ruby19 --trace (rake.err and rake.out are in separate gists... I don't know how to redirect STDERR to STDOUT on Windows):
>>
>> http://gist.github.com/455863
>>
>>
>> Environment:
>>
>> Windows 7 Pro x64
>> up-to-date MSYS installed at c:\msys\1.0 on PATH
>
> Please remove any MSYS or GCC from your PATH.
>
> Please also remove any bashrc bash_profile you may have in your HOME directory.

I removed all non-standard elements from my PATH and opened up a new command prompt. It fails in the same spot. :(

From the command prompt, if I type "bash" or "patch" it tells me it can't find it, so I know it's gone.

Is rubyinstaller master clean or should I backup to an earlier commit?

BTW, the reason I am doing this is so I can mess around with mkexports.rb in the sandbox. I want to see what kind of input it get from a 32-bit libmsvcrt-ruby191-static.a for help in interpreting the regexes in mkexports.rb. Those regexes are really hard for me to understand particularly since they use the special values $1, $2, etc as input to other parts of the script. And of course, there are NO comments at all describing expected input/output. Yuck.


>> I would appreciate any suggestions on diagnosing this problem. I want to get to the point where I can build a virgin copy of 1.9.1 32-bit so that I can trouble shoot some 64-bit build problems with win32/mkexports.rb.
>>
>
> The problem is not mkexports, the problem is 1.9.x series not adding
> --export-all to the linking process.
>
> Check and compare the generated rbconfig from 1.8 with the ones for
> 1.9.x lines in the sandbox folder.
>
> Hope that helps.


Last night I was reading through the Changelog for ruby 19 for messages related to mkexports.rb. They do NOT want to use --export-all because they want to filter out DllMain and any method that begins with Init_. I agree that it would be much simpler to go with the default of --export-all, but they have written lots of (bad, undocumented) code to filter the exports.

Is that a worthy topic to raise on ruby-core? Using --export-all would certainly make things easier...

cr


Roger Pack

unread,
Jun 28, 2010, 12:07:42 PM6/28/10
to rubyin...@googlegroups.com
> Last night I was reading through the Changelog for ruby 19 for messages related to mkexports.rb. They do NOT want to use --export-all because they want to filter out DllMain and any method that begins with Init_. I agree that it would be much simpler to go with the default of --export-all, but they have written lots of (bad, undocumented) code to filter the exports.

> Is that a worthy topic to raise on ruby-core? Using --export-all would certainly make things easier...

My preference would be --export-all. You could ask. Last time I did I
got no response...

Luis Lavena

unread,
Jun 28, 2010, 12:20:14 PM6/28/10
to rubyin...@googlegroups.com
On Mon, Jun 28, 2010 at 11:42 AM, Chuck Remes <cremes....@mac.com> wrote:
>
> I removed all non-standard elements from my PATH and opened up a new command prompt. It fails in the same spot. :(
>
> From the command prompt, if I type "bash" or "patch" it tells me it can't find it, so I know it's gone.
>
> Is rubyinstaller master clean or should I backup to an earlier commit?
>

C:\Users\Luis\Projects\oss\oci\rubyinstaller>ruby -v
ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]

C:\Users\Luis\Projects\oss\oci\rubyinstaller>sandbox\ruby19_mingw\bin\ruby.exe
-v
ruby 1.9.2dev (2010-05-31) [i386-mingw32]

C:\Users\Luis\Projects\oss\oci\rubyinstaller>git br -va | grep master
* master 6db6cf1 Upgraded Ruby 1.8.7 to patchlevel 299
remotes/origin/HEAD -> origin/master
remotes/origin/master 6db6cf1 Upgraded Ruby 1.8.7 to patchlevel 299
remotes/origin/tcl a3b92be Merge remote branch 'origin/master' into tcl

Latest version, I was able to build no problems.

I normally don't use 1.8.7 to build 1.9.1 as BASERUBY, I don't like
1.8.7 too much and don't trust it yet.

Chuck Remes

unread,
Jun 28, 2010, 12:22:12 PM6/28/10
to rubyin...@googlegroups.com

On Jun 28, 2010, at 10:42 AM, Chuck Remes wrote:

> I removed all non-standard elements from my PATH and opened up a new command prompt. It fails in the same spot. :(
>
> From the command prompt, if I type "bash" or "patch" it tells me it can't find it, so I know it's gone.

I found the problem. It fails because I had rubyinstaller on a network share from my Mac to the Windows VM. Copying it to the "local" drive solved the problem.

BTW, my path did not have any spaces in it so I am confused why this didn't work. I wanted to keep the code on my Mac so I could use my editor of choice, but this failure means I have to do all of my work via Windows. :(

Anyway, on to the next problem...

cr

Luis Lavena

unread,
Jun 28, 2010, 12:24:52 PM6/28/10
to rubyin...@googlegroups.com

The spaces is not the issue, but mapped drive letters.

Are you using a 64bits or 32bits command prompt cmd.exe?

Sometimes mapped drives are not exposed to 32bits tools, I found that
happened a few times, but don't remember which old app was.

Luis Lavena

unread,
Jun 28, 2010, 12:25:53 PM6/28/10
to rubyin...@googlegroups.com
On Mon, Jun 28, 2010 at 12:22 PM, Chuck Remes <cremes....@mac.com> wrote:
>
> BTW, my path did not have any spaces in it so I am confused why this didn't work. I wanted to keep the code on my Mac so I could use my editor of choice, but this failure means I have to do all of my work via Windows. :(
>

You can try sublime text or Intype. I've been using Sublime lately and
I'm very happy with it so far.

At least is not dead as Intype.

Reply all
Reply to author
Forward
0 new messages