[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