Three common extensions... [waisun@caspar ruby-postgres-0.6.4]$ make gcc -fPIC -Wall -O2 -march=i686 -mcpu=i686 -pipe -fPIC -I/usr/include/pgsql -I/usr/lib/ruby/1.6/i386-linux-gnu -I/usr/include -DHAVE_SYS_UN_H -DHAVE_SOCKET -DHAVE_GETHOSTNAME -DHAVE_PQSETCLIENTENCODING -c -o postgres.o postgres.c gcc -shared -L/usr/lib -o postgres.so postgres.o -L. -lruby -lpq -lnsl -lc [waisun@caspar oracle]$ make gcc -fPIC -Wall -O2 -march=i686 -mcpu=i686 -pipe -fPIC -I/u01/app/oracle/product/8.1.6/rdbms/demo -DHAS_SQLLDA -I/usr/lib/ruby/1.6/i386-linux-gnu -I/usr/include -DHAVE_OCIDFN_H -c -o oracle.o oracle.c gcc -shared -L/usr/lib -L/u01/app/oracle/product/8.1.6/lib -o oracle.so oracle.o -L. -lruby -lclntsh -lc [waisun@caspar xmlparser]$ make gcc -fPIC -Wall -O2 -march=i686 -mcpu=i686 -pipe -fPIC -I/data/redhat/BUILD/xmlparser/expat/xmlparse -I/data/redhat/BUILD/xmlparser/expat/xmltok -DNEW_EXPAT -DXML_DTD -I/usr/lib/ruby/1.6/i386-linux-gnu -I/usr/include -DHAVE_EXPAT_H -DHAVE_XML_SETNOTSTANDALONEHANDLER -DHAVE_XML_SETPARAMENTITYPARSING -DHAVE_XML_SETDOCTYPEDECLHANDLER -c -o xmlparser.o xmlparser.c gcc -shared -L/usr/lib -L/data/redhat/BUILD/xmlparser/expat/xmlparse -o xmlparser.so xmlparser.o -L. -lruby -lexpat -lc > nope. At least not for standard extensions. eg with pcap: > > gcc -shared -L/usr/lib/ruby/1.6/i586-linux-gnu -L/usr/lib -L/usr/local/lib -o pcap.so Pcap.o packet.o ip_packet.o tcp_packet.o udp_packet.o icmp_packet.o -lpcap -lc > > -> it doesn't access in any way libruby.a > > it works because when ruby dlopen's pcap.so, it provides the rb_* symbols. > > i know that some progs use libperl.so (eperl and mod_perl), i don't know if > any/many progs do the same with libruby.so? > > cu Pixel. -- Wai-Sun "Squidster" Chia Unix/Web Developer/RHCE Professional Services