Install / Build fail on OSX Server 10.5.2

Hello,

I would like to install SuperRedCloth on my server, here is the entire
log :

gem install superredcloth --source http://code.whytheluckystiff.net
Building native extensions. This could take a while…
ERROR: Error installing superredcloth:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
extconf.rb install superredcloth --source
http://code.whytheluckystiff.net
checking for main() in -lc… yes
creating Makefile

make
gcc -I. -I.
-I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0
-I. -fno-common -arch ppc -arch i386 -Os -pipe -fno-common -c
superredcloth_inline.c
Out of stack space.
Try running ‘ulimit -S -s unlimited’ in the shell to raise its limit.
{standard input}:unknown:Undefined local symbol L_rb_hash_aref$stub
{standard input}:unknown:Undefined local symbol L_rb_num2long$stub
{standard input}:unknown:Undefined local symbol L_rb_int2inum$stub
{standard input}:unknown:Undefined local symbol L_rb_hash_aset$stub
{standard input}:unknown:Undefined local symbol L_rb_str_cat$stub
{standard input}:unknown:Undefined local symbol L_rb_str_cat2$stub
Out of stack space.
Try running ‘ulimit -S -s unlimited’ in the shell to raise its limit.
{standard input}:unknown:Undefined local symbol L_rb_hash_aref$stub
{standard input}:unknown:Undefined local symbol L_rb_num2long$stub
{standard input}:unknown:Undefined local symbol L_rb_int2inum$stub
{standard input}:unknown:Undefined local symbol L_rb_hash_aset$stub
{standard input}:unknown:Undefined local symbol L_rb_str_cat$stub
{standard input}:unknown:Undefined local symbol L_rb_str_cat2$stub
lipo: can’t open input file: /var/tmp//cc3JKHGQ.out (No such file or
directory)
make: *** [superredcloth_inline.o] Error 1

Gem files will remain installed in
/Library/Ruby/Gems/1.8/gems/superredcloth-1.160 for inspection.
Results logged to
/Library/Ruby/Gems/1.8/gems/superredcloth-1.160/ext/superredcloth_scan/gem_make.out

The ulimit -S -s unlimited is impossible → -S don’t exists for OSX, and
with ulimit -s I can only go up to 32MB, unlimited is impossible. (the
default value for -s is 8192)

I tried an other method : I have installed ragel and checked out the
trunk of superredcloth, then :

bash-3.2# rake
(in /private/var/root/superredcloth)
ragel ext/superredcloth_scan/superredcloth_scan.rl | rlgen-cd -G2 -o
ext/superredcloth_scan/superredcloth_scan.c
rake aborted!
Command failed with status (1): [ragel
ext/superredcloth_scan/superredcloth…]
/private/var/root/superredcloth/rakefile:122
(See full trace by running task with --trace)

Failed too, so I tried with --trace, but I don’t see nothing really
usefull :

bash-3.2# rake --trace
(in /private/var/root/superredcloth)
** Invoke default (first_time)
** Invoke compile (first_time)
** Invoke superredcloth_scan (first_time)
** Invoke ext/superredcloth_scan/Makefile (first_time, not_needed)
** Invoke ext/superredcloth_scan/extconf.rb (first_time, not_needed)
** Invoke ext/superredcloth_scan/superredcloth_scan.bundle (first_time)
** Invoke ext/superredcloth_scan/superredcloth_scan.c (first_time)
** Invoke ext/superredcloth_scan/superredcloth_scan.rl (first_time,
not_needed)
** Invoke ext/superredcloth_scan/superredcloth_common.rl (first_time,
not_needed)
** Invoke ext/superredcloth_scan/superredcloth.h (first_time,
not_needed)
** Execute ext/superredcloth_scan/superredcloth_scan.c
ragel ext/superredcloth_scan/superredcloth_scan.rl | rlgen-cd -G2 -o
ext/superredcloth_scan/superredcloth_scan.c
rake aborted!
Command failed with status (1): [ragel
ext/superredcloth_scan/superredcloth…]
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:899:in sh' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:906:in call’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:906:in sh' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:985:in sh’
/private/var/root/superredcloth/rakefile:122
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in call' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in execute’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in each' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in execute’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:508:in
invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in synchronize’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in
invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:518:in invoke_prerequisites’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in each' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in send’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in each' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:515:in invoke_prerequisites’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:507:in
invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in synchronize’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in
invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:518:in invoke_prerequisites’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in each' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in send’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in each' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:515:in invoke_prerequisites’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:507:in
invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in synchronize’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in
invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:518:in invoke_prerequisites’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in each' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in send’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in each' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:515:in invoke_prerequisites’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:507:in
invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in synchronize’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in
invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:518:in invoke_prerequisites’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in each' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in send’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in each' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:515:in invoke_prerequisites’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:507:in
invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in synchronize’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in
invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:494:in invoke’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1931:in invoke_task' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in top_level’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in each' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in top_level’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in
standard_exception_handling' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1903:in top_level’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1881:in run' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in standard_exception_handling’
/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in run' /Library/Ruby/Gems/1.8/gems/rake-0.8.1/bin/rake:31 /usr/bin/rake:19:in load’
/usr/bin/rake:19

Please help me, I really need superredcloth. Thanks.

Nicolas V. wrote:

Hello,

I would like to install SuperRedCloth on my server, here is the entire
log :

gem install superredcloth --source http://code.whytheluckystiff.net
Building native extensions. This could take a while…
ERROR: Error installing superredcloth:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
extconf.rb install superredcloth --source
http://code.whytheluckystiff.net
checking for main() in -lc… yes
creating Makefile

make
gcc -I. -I.
-I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0
-I. -fno-common -arch ppc -arch i386 -Os -pipe -fno-common -c
superredcloth_inline.c
Out of stack space.
Try running ‘ulimit -S -s unlimited’ in the shell to raise its limit.
{standard input}:unknown:Undefined local symbol L_rb_hash_aref$stub
{standard input}:unknown:Undefined local symbol L_rb_num2long$stub
{standard input}:unknown:Undefined local symbol L_rb_int2inum$stub
{standard input}:unknown:Undefined local symbol L_rb_hash_aset$stub
{standard input}:unknown:Undefined local symbol L_rb_str_cat$stub
{standard input}:unknown:Undefined local symbol L_rb_str_cat2$stub
Out of stack space.
Try running ‘ulimit -S -s unlimited’ in the shell to raise its limit.
{standard input}:unknown:Undefined local symbol L_rb_hash_aref$stub
{standard input}:unknown:Undefined local symbol L_rb_num2long$stub
{standard input}:unknown:Undefined local symbol L_rb_int2inum$stub
{standard input}:unknown:Undefined local symbol L_rb_hash_aset$stub
{standard input}:unknown:Undefined local symbol L_rb_str_cat$stub
{standard input}:unknown:Undefined local symbol L_rb_str_cat2$stub
lipo: can’t open input file: /var/tmp//cc3JKHGQ.out (No such file or
directory)
make: *** [superredcloth_inline.o] Error 1

Gem files will remain installed in
/Library/Ruby/Gems/1.8/gems/superredcloth-1.160 for inspection.
Results logged to
/Library/Ruby/Gems/1.8/gems/superredcloth-1.160/ext/superredcloth_scan/gem_make.out

Ok, so I have reported this issue to the bugreport of apple, and after
some test (gcc -E …) here is the solution :

1 - install GCC 4.2 Preview 1 (http://connect.apple.com)
2 - update symlink of /usr/bin/gcc to /usr/bin/gcc-4.2
3 - gem install superredcloth --source http://code.whytheluckystiff.net

Building native extensions. This could take a while…
Successfully installed superredcloth-1.160
1 gem installed
Installing ri documentation for superredcloth-1.160…
Installing RDoc documentation for superredcloth-1.160…

And voila ! issue solved. Hope it can help someone else.