[#63592] [ruby-trunk - Bug #10009] IO operation is 10x slower in multi-thread environment — normalperson@...
Issue #10009 has been updated by Eric Wong.
3 messages
2014/07/08
[#63682] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/13
[#63703] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/14
[#63743] [ruby-trunk - Bug #10037] Since r46798 on Solaris, "[BUG] rb_vm_get_cref: unreachable" during make — ngotogenome@...
Issue #10037 has been updated by Naohisa Goto.
3 messages
2014/07/15
[#64136] Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb — "Jeffrey 'jf' Lim" <jfs.world@...>
As per subject.
4 messages
2014/07/31
[#64138] Re: Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb
— "Jeffrey 'jf' Lim" <jfs.world@...>
2014/07/31
On Thu, Jul 31, 2014 at 6:03 PM, Jeffrey 'jf' Lim <[email protected]>
[ruby-core:63514] [ruby-trunk - Bug #9824] mkmf.rb top_srcdir not printed in Makefile of ext/openssl
From:
naruse@...
Date:
2014-07-02 07:55:15 UTC
List:
ruby-core #63514
Issue #9824 has been updated by Yui NARUSE.
Daniel Berger wrote:
> Ok, please help me to understand. If Visual C++ is supported, why doesn't $(top_srcdir) get set in the generated Makefile when compiling from source? And is there a way we can set it without resorting to hand editing?
run configure.bat and compile entire ruby, don't split.
> configure.bat --with-openssl-dir=\<dir\>
> nmake
----------------------------------------
Bug #9824: mkmf.rb top_srcdir not printed in Makefile of ext/openssl
https://bugs.ruby-lang.org/issues/9824#change-47565
* Author: Ignacio Rodrigo
* Status: Rejected
* Priority: Normal
* Assignee:
* Category: ext/openssl
* Target version:
* ruby -v: 2.1.2-p95 (2014-05-08 revision 45877) [x64-mswin64_100]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
Hi,
First of all, apologies in advance for the lack of technical knowledge about Ruby, I'm pretty new to it, but I think I have detected a bug in the build process of ext/openssl.
As a newbie, I was trying to build ruby 2.1.2-p95 on my Windows 64-bits machine by compiling everything natively. Compiling ruby itself for Windows x64 went fine, compiling the ext/zlib went fine but... when it came to ext/openssl:
In the windows command prompt I ran:
~~~
cd ext/openssl
ruby extconf.rb --with-openssl-dir=<openssl_path>
~~~
Everything run fine and the Makefile was created. Then I run:
nmake (using the x64 compiler)
...and got the following error:
~~~
NMAKE : fatal error U1073: don't know how to make 'thread_native.h'
~~~
After going crazy looking for answers on the internet to no avail I decided to have a look at the Makefile generated. On the last line, I saw:
~~~makefile
ossl.obj: $(top_srcdir)/thread_native.h $(top_srcdir)/thread_$(THREAD_MODEL).h
~~~
So I said to myself, "OK, so I just need to specify the top_srcdir. I looked for it elsewhere in Makefile and it just wasn't specified anywhere! I realised that all the paths where specified at the top at:
~~~makefile
#### Start of system configuration section. ####
srcdir = .
topdir = etc...
~~~
So I just added:
~~~makefile
top_srcdir: D:\ruby-2.1.2 (the uncompressed ruby 2.1.2-p95 version folder, where thread_native.h and other *.h files are located).
~~~
Then I run again in ext/openssl:
nmake
...followed by...
nmake install
...and everything run fine and works!
As I'm pretty new to Ruby I have no idea of the inner workings of Ruby but I tried to track down why the top_srcdir: line was missing in the configuration in Makefile and I managed to track it down to mkmf.rb file in the ruby-2.1.2 folder. Specifically in line 1838 of mkmf.rb:
~~~ruby
#{"top_srcdir = " + $top_srcdir.sub(%r"\A#{Regexp.quote($topdir)}/", "$(topdir)/") if $extmk}
~~~
I presume `top_srcdir` did not get printed out to the `Makefile` because `$extmk` (which I cannot figure out what it is) returned `false` (notice the "`if $extmk`" conditional).
As I said, I am not at all familiar with the inner workings of Ruby so I was hoping one of you could help fix this so that other people in my same situation don't go crazy trying to fix it?
Thanks a lot for taking the time to read this and for your help in advance!
--
https://bugs.ruby-lang.org/