[bug-notifications] [ruby 0003909]: Problem compiling FFI against Ruby

Mantis Bug Tracker noreply at opencsw.org
Sat Sep 19 11:13:24 CEST 2009


A NOTE has been added to this issue. 
====================================================================== 
http://www.opencsw.org/mantis/view.php?id=3909 
====================================================================== 
Reported By:                dam
Assigned To:                bwalton
====================================================================== 
Project:                    ruby
Issue ID:                   3909
Category:                   regular use
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     acknowledged
====================================================================== 
Date Submitted:             2009-09-18 22:40 CEST
Last Modified:              2009-09-19 11:13 CEST
====================================================================== 
Summary:                    Problem compiling FFI against Ruby
Description: 
When compiling the xapian-bindings for Ruby against the current Ruby I get

        /bin/bash ../libtool  --tag=CXX   --mode=compile
/opt/studio/SOS11/SUNWspro/bin/CC -DHAVE_CONFIG_H -I. -I.. 
-I/opt/csw/lib/ruby/1.8/sparc-solaris2.8
-I/opt/csw/lib/ruby/1.8/sparc-solaris2.8 -I/opt/csw/include
-library=stlport4 -features=tmplife -I/opt/csw/include -xO3 -xarch=v8
-I/opt/csw/include -c -o xapian_wrap.lo xapian_wrap.cc
mkdir .libs
 /opt/studio/SOS11/SUNWspro/bin/CC -DHAVE_CONFIG_H -I. -I..
-I/opt/csw/lib/ruby/1.8/sparc-solaris2.8
-I/opt/csw/lib/ruby/1.8/sparc-solaris2.8 -I/opt/csw/include
-library=stlport4 -features=tmplife -I/opt/csw/include -xO3 -xarch=v8
-I/opt/csw/include -c xapian_wrap.cc  -KPIC -DPIC -o .libs/xapian_wrap.o
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/config.h", line 15: Warning
(Anachronism): Attempt to redefine _FILE_OFFSET_BITS without using #undef.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 567: Error: noreturn
is not defined.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 567: Error: Badly
formed expression.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 567: Error: There
must be an identifier to declare.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 568: Error: Multiple
declaration for __attribute__.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 568: Error: noreturn
is not defined.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 568: Error: Badly
formed expression.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 569: Error: Multiple
declaration for __attribute__.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 569: Error: noreturn
is not defined.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 569: Error: Badly
formed expression.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 570: Error: Multiple
declaration for __attribute__.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 570: Error: noreturn
is not defined.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 570: Error: Badly
formed expression.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 571: Error: Multiple
declaration for __attribute__.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 571: Error: noreturn
is not defined.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 571: Error: Badly
formed expression.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 572: Error: Multiple
declaration for __attribute__.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 572: Error: noreturn
is not defined.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 572: Error: Badly
formed expression.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 573: Error: Multiple
declaration for __attribute__.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 573: Error: noreturn
is not defined.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 573: Error: Badly
formed expression.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 592: Error: Multiple
declaration for __attribute__.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 592: Error: noreturn
is not defined.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 592: Error: Badly
formed expression.
"/opt/csw/lib/ruby/1.8/sparc-solaris2.8/ruby.h", line 592: Error: A
declaration does not specify a tag or an identifier.
Compilation aborted, too many Error messages.
gmake[6]: *** [xapian_wrap.lo] Error 1
gmake[6]: Leaving directory
`/home/dam/mgar/pkg/xapian-bindings/trunk/work/build-isa-sparcv8/xapian-bindings-1.0.11/ruby'

This does not look correct.
====================================================================== 

---------------------------------------------------------------------- 
 (0006723) dam (reporter) - 2009-09-19 11:13
 http://www.opencsw.org/mantis/view.php?id=3909#c6723 
---------------------------------------------------------------------- 
That works. However, the Xapian bindings package contains bindings for Ruby
and Python among other things and Python works only with Sun Studio and not
GCC:

/opt/csw/gcc4/bin/g++ -shared -nostdlib -L/opt/csw/gcc4/lib/. -mcpu=v8
-L/opt/csw/lib /opt/csw/gcc4/lib/gcc/sparc-sun-solaris2.8/4.3.3/crti.o
/usr/ccs/lib/values-Xa.o
/opt/csw/gcc4/lib/gcc/sparc-sun-solaris2.8/4.3.3/crtbegin.o 
.libs/xapian_wrap.o  -Wl,-R -Wl,/opt/csw/lib -Wl,-R -Wl,/opt/csw/gcc4/lib
-Wl,-R -Wl,/opt/csw/lib -Wl,-R -Wl,/opt/csw/gcc4/lib -L/opt/csw/gcc4/lib/.
-L/opt/csw/lib /opt/csw/lib/libxapian.so
-L/opt/csw/gcc4/lib/gcc/sparc-sun-solaris2.8/4.3.3 -L/usr/ccs/lib
-L/opt/csw/gcc4/lib/gcc/sparc-sun-solaris2.8/4.3.3/../../..
/opt/csw/gcc4/lib/libstdc++.so -lm -lgcc_s
/opt/csw/gcc4/lib/gcc/sparc-sun-solaris2.8/4.3.3/crtend.o
/opt/csw/gcc4/lib/gcc/sparc-sun-solaris2.8/4.3.3/crtn.o  -mcpu=v8 -mcpu=v8
-Wl,-h -Wl,_xapian.so -o .libs/_xapian.so
creating _xapian.la
(cd .libs && rm -f _xapian.la && ln -s ../_xapian.la _xapian.la)
cp `test -f modern/xapian.py || echo './'`modern/xapian.py .
/bin/bash ../libtool  --config > libtoolconfig.tmp
. ./libtoolconfig.tmp; cp $objdir/_xapian.so .
rm -f libtoolconfig.tmp
PYTHONPATH=. /opt/csw/bin/python -c "import _xapian;import xapian"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: ld.so.1: python: fatal: relocation error: file ./_xapian.so:
symbol _ZTVN6Xapian4v10225NumberValueRangeProcessorE: referenced symbol not
found




More information about the bug-notifications mailing list