From: Matt Lewandowsky Date: 2011-10-01T20:49:17+09:00 Subject: [ruby-core:39809] [Ruby 1.9 - Bug #5384] Ruby 1.9.3-RC1 Fails to Compile on Illumos (OpenSolaris) Issue #5384 has been updated by Matt Lewandowsky. =begin In all fairness, Ruby 1.9.3-RC1 doesn't compile out of the box on Sun Solaris 10, either, but for a different reason (one which should be handled by configure, but is not): compiling iconv.c linking shared-object iconv.so ld: fatal: library -liconv: not found ld: fatal: File processing errors. No output written to ../../.ext/sparc-solaris2.10/iconv.so collect2: ld returned 1 exit status gmake[2]: *** [../../.ext/sparc-solaris2.10/iconv.so] Error 1 gmake[2]: Leaving directory `/home/lewellyn/ruby-1.9.3-rc1/ext/iconv' gmake[1]: *** [ext/iconv/all] Error 2 gmake[1]: Leaving directory `/home/lewellyn/ruby-1.9.3-rc1' gmake: *** [build-ext] Error 2 670 lewellyn@looking-glass$ uname -a SunOS looking-glass 5.10 Generic_137137-09 sun4u sparc SUNW,UltraAX-i2 Solaris As for illumos's libelf, it's currently unchanged from what Sun open-sourced in 2005. The comments in the file indicate that it's probably mostly unchanged from what AT&T had 20 years ago. [[http://src.illumos.org/source/xref/illumos-gate/usr/src/head/libelf.h?a=true&h=#40]] (Mouse over the "0" in the second column to see the information regarding its changeset.) I'd personally be surprised that Ruby 1.9.3-RC1 builds on a stock Solaris without a replacement libelf. And, as for (({_FILE_OFFSET_BITS=64})), just use it wherever you need 64-bit file support. I expect addr2line.c doesn't need it, correct? Have you also tested on the Oracle Solaris 11 Express or Early Access? =end ---------------------------------------- Bug #5384: Ruby 1.9.3-RC1 Fails to Compile on Illumos (OpenSolaris) http://redmine.ruby-lang.org/issues/5384 Author: Cyrus Lopez Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: - An attempt was made recently to compile http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-rc1.tar.bz2 and it seems every call to the compiler passes _D_FILE_OFFSET_BITS=64 which returns the fatal error 'large files are not supported by libelf' on a fresh install of OpenIndiana with GCC 4.6.1. Snippet of Error: .... compiling addr2line.c In file included from /usr/include/link.h:31:0, from addr2line.c:42: /usr/include/libelf.h:42:2: error: #error "large files are not supported by libelf" make: *** [addr2line.o] Error 1 .... Discussion on IRC pointed out http://src.illumos.org/source/xref/illumos-gate/usr/src/head/libelf.h#41 and a request was made to file a bug report. -- http://redmine.ruby-lang.org