Bug #3255
closedTrunk fail to build without explicit ./configure options (yaml.h not found)
Description
=begin
Hi,
I tried many times today and yesterday to build Ruby on OSX and it get some errors when running 'make'.
Here is the interesting part of the 'make' output.
https://gist.github.com/e3ee480ffe1bc654e635
It complains about libyaml, which I do have installed via MacPorts.
It used to compile without any configuration (just autoconf).
Here is 4 lines of the output:
"yaml.h is missing. Please install libyaml.
ld: warning: directory '/opt/lib' following -L not found
ld: warning: directory '/usr/local/share/lib' following -L not found
ld: warning: directory '/usr/share/lib' following -L not found"
I did, tough, build without errors, but I had to add:
./configure --includedir /opt/local/include
It did build before without needing this 'hack'.
How the 'include' PATH is builded?
from $PATH replacing 'bin' by 'include' ?
Then it should find it.
Regards,
B.D.
PS: There are a lot of warnings, some seem not significant, but others not (in 64bit I speak). Would the Ruby core team be interested in removing some of these? I'd be happy to help, but I need some help to get started.
PS2: Weirdly, another guy on OSX did compile without any problem, but he does not have libyaml installed.
=end
Updated by Eregon (Benoit Daloze) over 14 years ago
=begin
Hi,
I tried again today, and it works without configuration,
but I need to
make # fail with 'libyaml missing'
make clean
make # OK
Do anyone have an idea why I get these results?
Regards,
B.D.
PS: Probably the precedant message's cause can be replaced by this one.
=end
Updated by Eregon (Benoit Daloze) over 14 years ago
=begin
Hi,
On 8 May 2010 19:51, Aaron Patterson aaron@tenderlovemaking.com wrote:
You're getting that result because ext/psych/extconf.rb doesn't know
where to find your installation of libyaml. You need to provide
configure with the location of your libyaml installation.For example, if you've installed libyaml via macports, you should build
like this:$ ./configure --with-libyaml-dir=/opt/local
$ makeHope that helps!
--
Aaron Patterson
Yes, thanks for the hint.
I searched a bit for which configure option is with libyaml, but
completing option did not work.
So this method, as the first one works.
But, it seems the problem is even bigger.
I'm currently using rvm, and so I did: "rvm install ruby-head -C
--with-libyaml-dir=/opt/local"
Which apparently works, seeing the first line of config.log:
$ ./configure --prefix=/Users/benoitdaloze/.rvm/rubies/ruby-head
--with-libyaml-dir=/opt/local
But I still get:
Error running 'make -j 3', please check
/Users/benoitdaloze/.rvm/log/ruby-head/make*.log
The make error log just complains about libyaml, and not finding miniruby.
So I went myself in the src (.rvm/src/ruby-head)
And using 'make' it works.
But using 'make -j 3' I get the error.
(before each 'make' command I did a 'make clean')
I don't know much about the syntax of make,
but as far as I know '-j 3' was just to specify the number of
threads/processes gcc can use.
So here is the output of 'make' and the one of 'make -j 3':
https://gist.github.com/c8034f83cc9afbf79e6b
Regards,
B.D.
=end
Updated by mame (Yusuke Endoh) over 14 years ago
- Status changed from Open to Closed
=begin
Hi,
But I still get:
Error running 'make -j 3', please check
/Users/benoitdaloze/.rvm/log/ruby-head/make*.log
This would be fixed at r27717.
If you still have a problem, please inform us.
I'm currently using rvm, and so I did: "rvm install ruby-head -C
--with-libyaml-dir=/opt/local"
When you report a bug, could you test it without rvm?
It is for excluding possible causes.
Thanks!
--
Yusuke Endoh mame@tsg.ne.jp
=end