From: Daniel Berger Date: 2003-10-31T09:03:55+09:00 Subject: 64-bit Ruby on Solaris? Hi all, Solaris 9 gcc 3.3.1 Ruby 1.8.1 p2 Sunblade 100, UltraSparc IIe As usual, I'm playing with things I don't truly understand. Anyway, I thought I'd try building 1.8.1 p2 as 64 bit since I've upgraded my compiler since last time. After running configure, I manually added "-m64 -mcpu=ultrasparc" into the CC line of the Makefile. I seemed to get further this time, and died with a different error: gcc -m64 -mcpu=ultrasparc -g -O2 -I. -I. -c io.c io.c: In function `rb_read_pending': io.c:259: error: structure has no member named `_cnt' io.c: In function `rb_read_check': io.c:266: error: structure has no member named `_cnt' io.c: In function `rb_io_eof': io.c:564: error: structure has no member named `_cnt' io.c:565: error: structure has no member named `_cnt' io.c: In function `rb_io_fread': io.c:683: error: structure has no member named `_cnt' io.c:686: error: structure has no member named `_cnt' io.c: In function `read_all': io.c:780: error: structure has no member named `_cnt' io.c: In function `io_read': io.c:842: error: structure has no member named `_cnt' io.c: In function `appendline': io.c:873: error: structure has no member named `_cnt' io.c:875: error: structure has no member named `_ptr' io.c: In function `swallow': io.c:963: error: structure has no member named `_cnt' io.c:965: error: structure has no member named `_ptr' io.c: In function `rb_io_each_byte': io.c:1222: error: structure has no member named `_cnt' io.c: In function `rb_io_getc': io.c:1254: error: structure has no member named `_cnt' io.c: In function `rb_getc': io.c:1277: error: structure has no member named `_cnt' io.c: In function `rb_io_sysseek': io.c:1515: error: structure has no member named `_cnt' io.c: In function `rb_io_sysread': io.c:1572: error: structure has no member named `_cnt' io.c: In function `rb_f_select': io.c:3256: error: structure has no member named `_cnt' make: *** [io.o] Error 1 Here's my config.h file: #define PACKAGE_NAME "" #define PACKAGE_TARNAME "" #define PACKAGE_VERSION "" #define PACKAGE_STRING "" #define PACKAGE_BUGREPORT "" #define STDC_HEADERS 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STRINGS_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_UNISTD_H 1 #define _FILE_OFFSET_BITS 64 #define HAVE_LONG_LONG 1 #define HAVE_OFF_T 1 #define SIZEOF_INT 4 #define SIZEOF_SHORT 2 #define SIZEOF_LONG 4 #define SIZEOF_LONG_LONG 8 #define SIZEOF___INT64 0 #define SIZEOF_OFF_T 8 #define SIZEOF_VOIDP 4 #define SIZEOF_FLOAT 4 #define SIZEOF_DOUBLE 8 #define HAVE_PROTOTYPES 1 #define TOKEN_PASTE(x,y) x##y #define HAVE_STDARG_PROTOTYPES 1 #define NORETURN(x) x __attribute__ ((noreturn)) #define HAVE_DECL_SYS_NERR 0 #define HAVE_LIBCRYPT 1 #define HAVE_LIBDL 1 #define HAVE_DIRENT_H 1 #define STDC_HEADERS 1 #define HAVE_SYS_WAIT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_UNISTD_H 1 #define HAVE_LIMITS_H 1 #define HAVE_SYS_FILE_H 1 #define HAVE_SYS_IOCTL_H 1 #define HAVE_FCNTL_H 1 #define HAVE_SYS_FCNTL_H 1 #define HAVE_SYS_SELECT_H 1 #define HAVE_SYS_TIME_H 1 #define HAVE_SYS_TIMES_H 1 #define HAVE_SYS_PARAM_H 1 #define HAVE_PWD_H 1 #define HAVE_GRP_H 1 #define HAVE_UTIME_H 1 #define HAVE_MEMORY_H 1 #define HAVE_SYS_RESOURCE_H 1 #define HAVE_SYS_MKDEV_H 1 #define HAVE_SYS_UTIME_H 1 #define HAVE_FLOAT_H 1 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 #define HAVE_ST_BLKSIZE 1 #define HAVE_STRUCT_STAT_ST_BLOCKS 1 #define HAVE_ST_BLOCKS 1 #define HAVE_STRUCT_STAT_ST_RDEV 1 #define HAVE_ST_RDEV 1 #define GETGROUPS_T gid_t #define RETSIGTYPE void #define HAVE_ALLOCA_H 1 #define HAVE_ALLOCA 1 #define HAVE_FSEEKO 1 #define HAVE_FTELLO 1 #define HAVE_DUP2 1 #define HAVE_MEMMOVE 1 #define HAVE_MKDIR 1 #define HAVE_STRCASECMP 1 #define HAVE_STRNCASECMP 1 #define HAVE_STRERROR 1 #define HAVE_STRFTIME 1 #define HAVE_STRCHR 1 #define HAVE_STRSTR 1 #define HAVE_STRTOUL 1 #define HAVE_CRYPT 1 #define HAVE_VSNPRINTF 1 #define HAVE_ISNAN 1 #define HAVE_FINITE 1 #define HAVE_HYPOT 1 #define HAVE_ACOSH 1 #define HAVE_ERF 1 #define HAVE_FMOD 1 #define HAVE_KILLPG 1 #define HAVE_WAIT4 1 #define HAVE_WAITPID 1 #define HAVE_SYSCALL 1 #define HAVE_CHROOT 1 #define HAVE_FSYNC 1 #define HAVE_TRUNCATE 1 #define HAVE_TIMES 1 #define HAVE_UTIMES 1 #define HAVE_FCNTL 1 #define HAVE_LOCKF 1 #define HAVE_LSTAT 1 #define HAVE_SYMLINK 1 #define HAVE_READLINK 1 #define HAVE_SETITIMER 1 #define HAVE_SETEUID 1 #define HAVE_SETREUID 1 #define HAVE_SETEGID 1 #define HAVE_SETREGID 1 #define HAVE_ISSETUGID 1 #define HAVE_PAUSE 1 #define HAVE_LCHOWN 1 #define HAVE_GETPGRP 1 #define HAVE_SETPGRP 1 #define HAVE_GETPGID 1 #define HAVE_SETPGID 1 #define HAVE_INITGROUPS 1 #define HAVE_GETGROUPS 1 #define HAVE_SETGROUPS 1 #define HAVE_GETPRIORITY 1 #define HAVE_GETRLIMIT 1 #define HAVE_DLOPEN 1 #define HAVE_SIGPROCMASK 1 #define HAVE_SIGACTION 1 #define HAVE__SETJMP 1 #define HAVE_SETSID 1 #define HAVE_TELLDIR 1 #define HAVE_SEEKDIR 1 #define HAVE_FCHMOD 1 #define HAVE_MKTIME 1 #define HAVE_COSH 1 #define HAVE_SINH 1 #define HAVE_TANH 1 #define HAVE_SETUID 1 #define HAVE_SETGID 1 #define HAVE_TZNAME 1 #define HAVE_DAYLIGHT 1 #define NEGATIVE_TIME_T 1 #define POSIX_SIGNAL 1 #define GETPGRP_VOID 1 #define SETPGRP_VOID 1 #define WORDS_BIGENDIAN 1 #define RSHIFT(x,y) ((x)>>(int)y) #define FILE_COUNT _cnt #define FILE_READPTR _ptr #define NEED_IO_SEEK_BETWEEN_RW 1 #define HUGE_ST_INO 1 #define STACK_GROW_DIRECTION -1 #define DEFAULT_KCODE KCODE_NONE #define USE_ELF 1 #define DLEXT ".so" #define RUBY_LIB "/opt/lib/ruby/1.8" #define RUBY_SITE_LIB "/opt/lib/ruby/site_ruby" #define RUBY_SITE_LIB2 "/opt/lib/ruby/site_ruby/1.8" #define RUBY_PLATFORM "sparc-solaris2.9" #define RUBY_ARCHLIB "/opt/lib/ruby/1.8/sparc-solaris2.9" #define RUBY_SITE_ARCHLIB "/opt/lib/ruby/site_ruby/1.8/sparc-solaris2.9" I tried messing with the LDFLAGS and CFLAGS settings as well but no luck. Any ideas? Regards, Dan