OpenCSW Bug Tracker


Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003909 [ruby] regular use major always 2009-09-18 22:40 2009-11-04 00:53
Reporter dam View Status public  
Assigned To bwalton
Priority normal Resolution fixed  
Status closed  
Summary 0003909: 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.
Additional Information
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0006721)
bwalton (administrator)
2009-09-18 22:49

Can you try building with gcc4? Ruby wouldn't build with sun cc.

Thanks
-Ben


(0006723)
dam (administrator)
2009-09-19 11:13

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
(0006724)
dam (administrator)
2009-09-19 11:51

Xapian is compiled with Sun Studio and it looks like the GCC-compiled Ruby bindings can't link properly:

gmake[6]: Entering directory `/home/dam/mgar/pkg/xapian-bindings/trunk/work/build-isa-sparcv8-binding-ruby/xapian-bindings-1.0.11/ruby'
.libs/_xapian.so: ld.so.1: ruby: fatal: relocation error: file .libs/_xapian.so: symbol _ZTVN6Xapian13SimpleStopperE: referenced symbol not found - .libs/_xapian.so (LoadError)
        from ./xapian.rb:40
        from ./smoketest.rb:27:in `require'
        from ./smoketest.rb:27
FAIL: smoketest.rb
=======================================
1 of 1 tests failed
Please report to http://xapian.org/bugs [^]
=======================================

If I build xapian with GCC I can no longer link to Sun Studio compiled Python :-P Any chance to build Ruby with Sun Studio?
(0006895)
bwalton (administrator)
2009-10-28 02:38

Updated packages in testing that built with sos11 after all. Please test (when time permits) the FFI build against this version.
(0006950)
bwalton (administrator)
2009-11-04 00:53

Updated packages built with studio 11 pushed for release.


Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker