From: "mrkn (Kenta Murata)" Date: 2013-07-01T20:15:31+09:00 Subject: [ruby-core:55733] [ruby-trunk - Bug #8588] bigdecimal 1.2.0 gem update fails on Cygwin Issue #8588 has been updated by mrkn (Kenta Murata). Category set to ext Assignee set to mrkn (Kenta Murata) ---------------------------------------- Bug #8588: bigdecimal 1.2.0 gem update fails on Cygwin https://bugs.ruby-lang.org/issues/8588#change-40231 Author: rklemme (Robert Klemme) Status: Open Priority: Normal Assignee: mrkn (Kenta Murata) Category: ext Target version: ruby -v: ruby 1.9.3p392 (2013-02-22) [i386-cygwin] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN 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-libg cj-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) -- http://bugs.ruby-lang.org/