Bugs: Browse | Submit New | Admin

[#28353] Can't build on OSX 10.6 ('dynamic_cast' not permitted with -fno-rtti)

Date:
2010-07-03 12:59
Priority:
3
Submitted By:
Matthew Beale (mixonic)
Assigned To:
Nobody (None)
Category:
None
State:
Open
Summary:
Can't build on OSX 10.6 ('dynamic_cast' not permitted with -fno-rtti)

Detailed description
Howdy y'all.

I'm having trouble building the eventmachine gem with Ruby 1.9.1-p378 on OSX 10.6.4.  I've tried overriding CXXFLAGS
to remote -fno-rtti from the arguments, but mkmf still includes them and just adds whatever I pass into CXXFLAGS.  Any
ideas?

Thanks much - Matthew (matt.bealeATmadhatted.com)

------------

root:~ /opt/ruby-enterprise/bin/gem install eventmachineBuilding native extensions.  This could take a while...
ERROR:  Error installing eventmachine:
	ERROR: Failed to build gem native extension.

/opt/ruby-1.9.1-p378/bin/ruby extconf.rb
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for rb_thread_check_ints()... yes
checking for rb_time_new()... yes
checking for sys/event.h... yes
checking for sys/queue.h... yes
checking for main() in -lssl... yes
checking for main() in -lcrypto... yes
checking for main() in -lC... yes
checking for openssl/ssl.h... yes
checking for openssl/err.h... yes
creating Makefile

make
gcc -I. -I/opt/ruby-1.9.1-p378/include/ruby-1.9.1/i386-darwin10.4.0 -I/opt/ruby-1.9.1-p378/include/ruby-1.9.1/ruby/backward
-I/opt/ruby-1.9.1-p378/include/ruby-1.9.1 -I. -DBUILD_FOR_RUBY -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_TBR -DHAVE_WRITEV
-DHAVE_WRITEV -DHAVE_RB_THREAD_CHECK_INTS -DHAVE_RB_TIME_NEW -DOS_UNIX -DHAVE_SYS_EVENT_H -DHAVE_SYS_QUEUE_H -DHAVE_KQUEUE
-DHAVE_OPENSSL_SSL_H -DHAVE_OPENSSL_ERR_H -DWITH_SSL  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -arch x86_64
-O3 -fno-omit-frame-pointer -O2 -g -Wall -Wno-parentheses -pipe -fno-common  -arch x86_64 -O3 -fno-omit-frame-pointer
-felide-constructors -fno-exceptions -fno-rtti  -o binder.o -c binder.cpp
gcc -I. -I/opt/ruby-1.9.1-p378/include/ruby-1.9.1/i386-darwin10.4.0 -I/opt/ruby-1.9.1-p378/include/ruby-1.9.1/ruby/backward
-I/opt/ruby-1.9.1-p378/include/ruby-1.9.1 -I. -DBUILD_FOR_RUBY -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_TBR -DHAVE_WRITEV
-DHAVE_WRITEV -DHAVE_RB_THREAD_CHECK_INTS -DHAVE_RB_TIME_NEW -DOS_UNIX -DHAVE_SYS_EVENT_H -DHAVE_SYS_QUEUE_H -DHAVE_KQUEUE
-DHAVE_OPENSSL_SSL_H -DHAVE_OPENSSL_ERR_H -DWITH_SSL  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -arch x86_64
-O3 -fno-omit-frame-pointer -O2 -g -Wall -Wno-parentheses -pipe -fno-common  -arch x86_64 -O3 -fno-omit-frame-pointer
-felide-constructors -fno-exceptions -fno-rtti  -o cmain.o -c cmain.cpp
cmain.cpp: In function 'int evma_detach_fd(long unsigned int)':
cmain.cpp:142: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_get_file_descriptor(long unsigned int)':
cmain.cpp:160: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_is_notify_readable(long unsigned int)':
cmain.cpp:177: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'void evma_set_notify_readable(long unsigned int, int)':
cmain.cpp:189: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_is_notify_writable(long unsigned int)':
cmain.cpp:200: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'void evma_set_notify_writable(long unsigned int, int)':
cmain.cpp:212: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_pause(long unsigned int)':
cmain.cpp:223: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_resume(long unsigned int)':
cmain.cpp:236: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_is_paused(long unsigned int)':
cmain.cpp:249: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'void evma_start_tls(long unsigned int)':
cmain.cpp:406: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'void evma_set_tls_parms(long unsigned int, const char*, const char*, int)':
cmain.cpp:418: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'X509* evma_get_peer_cert(long unsigned int)':
cmain.cpp:431: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'void evma_accept_ssl_peer(long unsigned int)':
cmain.cpp:446: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_get_peername(long unsigned int, sockaddr*)':
cmain.cpp:459: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_get_sockname(long unsigned int, sockaddr*)':
cmain.cpp:474: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_get_subprocess_pid(long unsigned int, pid_t*)':
cmain.cpp:490: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'float evma_get_comm_inactivity_timeout(long unsigned int)':
cmain.cpp:560: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_set_comm_inactivity_timeout(long unsigned int, float)':
cmain.cpp:575: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'float evma_get_pending_connect_timeout(long unsigned int)':
cmain.cpp:591: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_set_pending_connect_timeout(long unsigned int, float)':
cmain.cpp:607: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'int evma_get_outbound_data_size(long unsigned int)':
cmain.cpp:683: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'void evma_start_proxy(long unsigned int, long unsigned int, long unsigned int)':
cmain.cpp:789: error: 'dynamic_cast' not permitted with -fno-rtti
cmain.cpp: In function 'void evma_stop_proxy(long unsigned int)':
cmain.cpp:802: error: 'dynamic_cast' not permitted with -fno-rtti
make: *** [cmain.o] Error 1


Gem files will remain installed in /opt/ruby-1.9.1-p378/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10 for inspection.
Results logged to /opt/ruby-1.9.1-p378/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out

Add A Comment: Notepad

Please login


Followup

No Followups Have Been Posted

Attached Files:

Name Description Download
No Files Currently Attached

Changes:

No Changes Have Been Made to This Item