michaeledgar/laser

Doesn't compile on cygwin / windows

RichardBradley opened this issue · 1 comments

If I try to install this gem on cygwin / windows, I get a compile error (see below).
All other gems install fine on my machine.

$ gem install laser --prerelease
ERROR:  Error installing laser:
        ERROR: Failed to build gem native extension.

        C:/Ruby193/bin/ruby.exe extconf.rb
checking for main() in -lstdc++... yes
creating Makefile

make
generating BasicBlock-i386-mingw32.def
compiling BasicBlock.cpp
cc1plus.exe: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
cc1plus.exe: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++
In file included from BasicBlock.cpp:1:0:
BasicBlock.h: In constructor 'Laser::BasicBlock::BasicBlock()':
BasicBlock.h:26:100: warning: converting to non-pointer type 'VALUE' from NULL
BasicBlock.h:26:100: warning: converting to non-pointer type 'VALUE' from NULL
linking shared-object laser/BasicBlock.so
c:/rubydevkit/mingw/bin/../lib/gcc/mingw32/4.5.2\libstdc++.a(stdexcept.o):stdexcept.cc:(.text+0x0): multiple definition of `std::logic_error::what() const'
c:/rubydevkit/mingw/bin/../lib/gcc/mingw32/4.5.2/libstdc++.dll.a(d000700.o):(.text+0x0): first defined here
c:/rubydevkit/mingw/bin/../lib/gcc/mingw32/4.5.2\libstdc++.a(stdexcept.o):stdexcept.cc:(.text+0xb0): multiple definition of `std::logic_error::~logic_error()'
c:/rubydevkit/mingw/bin/../lib/gcc/mingw32/4.5.2/libstdc++.dll.a(d001554.o):(.text+0x0): first defined here
c:/rubydevkit/mingw/bin/../lib/gcc/mingw32/4.5.2\libstdc++.a(stdexcept.o):stdexcept.cc:(.text+0x148): multiple definition of `std::logic_error::logic_error(std::string const&)'
c:/rubydevkit/mingw/bin/../lib/gcc/mingw32/4.5.2/libstdc++.dll.a(d001551.o):(.text+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [BasicBlock.so] Error 1


Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/laser-0.7.0.pre2 for inspection.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/laser-0.7.0.pre2/ext/laser/gem_make.out
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...

Looks the same as #4, and there's a workaround there.