Backport #7470
closedruby 1.9.3-p327 compile failure in siphash.c on Solaris because of endian.h
Description
I had previously built ruby 1.9.3-p194 on x86_64-sun-solaris2.10 with the no-cost Oracle WorkShop compilers:
$ cc -V
cc: Sun C 5.12 SunOS_i386 2011/11/16
However, when I attempt to build ruby-1.9.3-p327, I get a compilation failure in siphash.c, because it's including a header file (endian.h) that appears to be specific to Linux:
cc -m64 -Xa -xc99=all -xO0 -g -xs -xstrconst -mt -xtarget=native -xarch=native -I/local/include -I/local/gnu/include -I/local/openssl/include -m64 -DRUBY_EXPORT -I/local/include -I/local/gnu/include -I/local/openssl/include -I. -I.ext/include/x86_64-solaris2.10 -I./include -I. -o random.o -c random.c
"siphash.c", line 11: cannot find include file: <endian.h>
cc: acomp failed for random.c
gmake: *** [random.o] Error 2
Solaris doesn't include that header, instead it uses sys/byteorder.h.
The attached patch appears to fix the issue for me.
Files
Updated by shyouhei (Shyouhei Urabe) almost 12 years ago
- Status changed from Open to Assigned
- Assignee set to nobu (Nobuyoshi Nakada)
Nobu? Can you look at it?
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
- Tracker changed from Bug to Backport
- Project changed from Ruby master to Backport193
- Category deleted (
build) - Assignee changed from nobu (Nobuyoshi Nakada) to usa (Usaku NAKAMURA)
- Target version deleted (
1.9.3)
backport r37593.
Updated by usa (Usaku NAKAMURA) almost 12 years ago
- Status changed from Assigned to Closed
It's already fixed on the repository, but not released yet.
Check out r37593 or later from ruby_1_9_3 branch, or simply
patch the revision by hand, please.
IMO the simplest way is downloading random.c of the revision
and replace the file in p327 package.
Resource:
http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_3/random.c