Bug #8588
closedbigdecimal 1.2.0 gem update fails on Cygwin
Description
Compilation fails - I suspect a build configuration / Makefile issue. Here's the initial messages from gem_make.out:
/usr/bin/ruby.exe extconf.rb
checking for labs() in stdlib.h... yes
checking for llabs() in stdlib.h... yes
creating Makefile
make
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_LABS -DHAVE_LLABS -ggdb -O2 -pipe -fno-strict-aliasing -o bigdecimal.o -c bigdecimal.c
bigdecimal.c: In function ‘BigDecimal_prec’:
bigdecimal.c:313:5: error: expected ‘)’ before ‘[’ token
bigdecimal.c:317:5: error: ‘vStack’ undeclared (first use in this function)
bigdecimal.c:317:5: note: each undeclared identifier is reported only once for each function it appears in
bigdecimal.c: In function ‘BigDecimal_hash’:
bigdecimal.c:334:5: error: expected ‘)’ before ‘[’ token
bigdecimal.c:338:5: error: ‘vStack’ undeclared (first use in this function)
...
I am suspecting there is something wrong with RB_UNUSED_VAR() CPP macro - apparently it's not properly expanded.
In file bigdecimal.c.pre line 313 of bigdecimal.c is at line 4380.
All packages are most current. Here's gcc version if that matters:
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-cygwin/4.5.3/lto-wrapper.exe
Target: i686-pc-cygwin
Configured with: /gnu/gcc/releases/respins/4.5.3-3/gcc4-4.5.3-3/src/gcc-4.5.3/configure --srcdir=/gnu/gcc/releases/respins/4.5.3-3/gcc4-4.5.3-3/src/gcc-4.5.3 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --datarootdir=/usr/share --docdir=/usr/share/doc/gcc4 -C --datadir=/usr/share --infodir=/usr/share/info --mandir=/usr/share/man -v --with-gmp=/usr --with-mpfr=/usr --enable-bootstrap --enable-version-specific-runtime-libs --libexecdir=/usr/lib --enable-static --enable-shared --enable-shared-libgcc --disable-__cxa_atexit --with-gnu-ld --with-gnu-as --with-dwarf2 --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite --enable-lto --enable-java-awt=gtk --disable-symvers --enable-libjava --program-suffix=-4 --enable-libgomp --enable-libssp --enable-libada --enable-threads=posix --with-arch=i686 --with-tune=generic --enable-libgcj-sublibs CC=gcc-4 CXX=g++-4 CC_FOR_TARGET=gcc-4 CXX_FOR_TARGET=g++-4 GNATMAKE_FOR_TARGET=gnatmake GNATBIND_FOR_TARGET=gnatbind --with-ecj-jar=/usr/share/java/ecj.jar
Thread model: posix
gcc version 4.5.3 (GCC)
Files
Updated by mrkn (Kenta Murata) almost 11 years ago
- Category set to ext
- Assignee set to mrkn (Kenta Murata)
Updated by mrkn (Kenta Murata) almost 11 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r41725.
Robert, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
-
ext/bigdecimal/bigdecimal.h (RB_UNUSED_VAR, UNREACHABLE):
import macros from ruby.h for 1.9.3.
[Bug #8588] [ruby-core:55730] -
ext/bigdecimal/bigdecimal.gemspec: Bump version to 1.2.1.
Updated by mrkn (Kenta Murata) almost 11 years ago
I've released bigdecimal version 1.2.1.
Please use this new version.
Updated by rklemme (Robert Klemme) almost 11 years ago
$ gem update
Updating installed gems
Updating bigdecimal
Fetching: bigdecimal-1.2.1.gem (100%)
Building native extensions. This could take a while...
Successfully installed bigdecimal-1.2.1
Gems updated: bigdecimal
Installing ri documentation for bigdecimal-1.2.1...
Installing RDoc documentation for bigdecimal-1.2.1...
Works like a charm. Thank you for the quick fix!