Project

General

Profile

Bug #244

build on ruby-1.9.3-preview1

Added by Vincent Batts about 8 years ago. Updated almost 8 years ago.

Status:
Closed
Priority:
Urgent
Category:
Bugfix
Target version:
Start date:
08/09/2011
Due date:
% Done:

0%

Estimated time:
0.00 h

Description

when attempting to build 'mu' on a system with ruby-1.9.3-preview1, it failed during the mkmf checks.
so i checked out the developement trunk to reproduce the error. while it is a different fail, i've attached the output.
http://pastebin.com/afNpK1G1

the paste includes the ruby version and subtle version information as well

History

#1 Updated by Christoph Kappel about 8 years ago

Hum, cannot reproduce that. Installed 1.9.3dev (r32789) and compiled subtle without any problems. Did you upgrade your ruby version without removing the cached buildfiles first (with rake clobber) or is this a new clone/checkout?

Init_prelude is btw. the hack in ruby for gems init, which is really troublesome, because they refuse to export the symbol.

#2 Updated by Vincent Batts about 8 years ago

well. i'm not sure then. i've now tried an rvm build of 1.9.3 on the same machine, having done a rake clobber, as well as re-cloning the source. i get the same error. this machine is running slackware-current 64bit, which is using gcc-4.5.3. the ruby-1.9.3-preview1 packages are from http://hashbangbash.com/downloads/pkgs/ruby/ .

so i switched to another machine, running slackware-13.37 64bit (gcc 4.5.2). Using rvm, I installed ruby-1.9.3-preview1. I cloned the source. and got the following output on the first run. It's the same error.
http://pastebin.com/3g8kmbLT

I've tried playing with the gcc command and the order of it's flags, but no success there either. What can you recommend me to try next?

#3 Updated by Christoph Kappel about 8 years ago

Two different build errors now I cannot reproduce. The latter is a bit strange, because rake aborts after a compiler warning of a redefinition of struct timezone which usually belongs to glibc.

No idea why the ruby devels redefine it, as you can see in the relevant ruby header:

#if !defined(HAVE_STRUCT_TIMEZONE)
struct timezone {                                                                                 
  int tz_minuteswest;                                                                                         
  int tz_dsttime;                                                                                         
};                                                                                                 
#endif

Actually the build system of ruby should set the HAVE_STRUCT_TIMEZONE variable on build and prevent the redefinition.

What is the revison no. of ruby on your slackware machine?

#4 Updated by Vincent Batts about 8 years ago

oh you're right. i didn't see that different error.

One the machine with the Init_prelude error, the versions used are:
[vbatts@jellyroll ~] 5008 gcc -v
Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/4.5.3/specs
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/4.5.3/lto-wrapper
Target: x86_64-slackware-linux
Configured with: ../gcc-4.5.3/configure --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man --infodir=/usr/info --enable-shared --enable-bootstrap --enable-languages=c,c++,ada,fortran,java,objc,lto --enable-threads=posix --enable-checking=release --enable-objc-gc --with-system-zlib --with-python-dir=/lib64/python2.6/site-packages --disable-libunwind-exceptions --enable-__cxa_atexit --enable-libssp --enable-lto --with-gnu-ld --verbose --enable-multilib --target=x86_64-slackware-linux --build=x86_64-slackware-linux --host=x86_64-slackware-linux
Thread model: posix
gcc version 4.5.3 (GCC)
[vbatts@jellyroll ~] 5009 ruby -v
ruby 1.9.3dev (2011-07-31 revision 32789) [x86_64-linux]

On the machine with the timezone error, the versions used are:
[vbatts@satchmo ~] 5026 gcc -v
Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/4.5.2/specs
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/4.5.2/lto-wrapper
Target: x86_64-slackware-linux
Configured with: ../gcc-4.5.2/configure --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man --infodir=/usr/info --enable-shared --enable-bootstrap --enable-languages=c,c++,ada,fortran,java,objc,lto --enable-threads=posix --enable-checking=release --with-system-zlib --with-python-dir=/lib64/python2.6/site-packages --disable-libunwind-exceptions --enable-__cxa_atexit --enable-libssp --enable-lto --with-gnu-ld --verbose --enable-multilib --target=x86_64-slackware-linux --build=x86_64-slackware-linux --host=x86_64-slackware-linux
Thread model: posix
gcc version 4.5.2 (GCC)
[vbatts@satchmo ~] 5027 ruby -v
ruby 1.9.3dev (2011-07-31 revision 32789) [x86_64-linux]

#5 Updated by Christoph Kappel about 8 years ago

Hum, did you try to delete the cache files on your first machine?

I have exactly the same revision number here and don't see the timestruct error,tbh I don't even have an idea how to fix that. This just shouldn't happen, the missing.h exists since 2002. Can you build ruby 1.9.3 on your slackware machine with rvm, too?

#6 Updated by Christoph Kappel about 8 years ago

  • Category set to Bugfix
  • Status changed from Unconfirmed to Confirmed
  • Assignee set to Non member users

Apparently this is an upstream problem and I hope this ticket will be accepted: http://redmine.ruby-lang.org/issues/5174

Until then I will use the ruby_options hack to fix linker errors.

#7 Updated by Christoph Kappel about 8 years ago

  • Target version set to Xi

#8 Updated by Christoph Kappel almost 8 years ago

  • Status changed from Confirmed to Closed

I don't see any problems in 1.9.3rc1 so I close the issue.

Also available in: Atom PDF