wedesoft / hornetseye-fftw3

Fast Fourier Transforms using the FFTW3 library
http://wedesoft.github.com/hornetseye-fftw3/
Other
2 stars 0 forks source link

Doesn't build on my OS X 10.9 #1

Open michaeleisel opened 10 years ago

michaeleisel commented 10 years ago

When I run gem install hornetseye-fftw3, I get the following error:

ERROR: Error installing hornetseye-fftw3: ERROR: Failed to build gem native extension.

/Users/michaeleisel/.rvm/rubies/ruby-2.1.0/bin/ruby -rubygems /Users/michaeleisel/.rvm/gems/ruby-2.1.0/gems/rake-10.3.1/bin/rake RUBYARCHDIR=/Users/michaeleisel/.rvm/gems/ruby-2.1.0/extensions/x86_64-darwin-12/2.1.0-static/malloc-1.4.0 RUBYLIBDIR=/Users/michaeleisel/.rvm/gems/ruby-2.1.0/extensions/x86_64-darwin-12/2.1.0-static/malloc-1.4.0

Please install 'yard' if you want to generate documentation Please install 'rubygems' if you want to create Gem packages g++ -MM ext/init.cc ext/malloc.cc | sed -e :a -e N -e 's/\n/\$/g' -e ta | sed -e 's/ \$ / /g' -e 's/\$/\n/g' | sed -e 's/^/ext\//' > .depends.mf In file included from ext/init.cc:16: In file included from ext/malloc.hh:19: ext/rubyinc.hh:25:10: fatal error: 'ruby.h' file not found

include

     ^

1 error generated. In file included from ext/malloc.cc:17: In file included from ext/malloc.hh:19: ext/rubyinc.hh:25:10: fatal error: 'ruby.h' file not found

include

     ^

1 error generated. g++ -DNDEBUG -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -I/Users/mpapis/.sm/pkg/active/include -fPIC -mmacosx-version-min=10.6 -pipe -I/Users/michaeleisel/.rvm/rubies/ruby-2.1.0/include/ruby-2.1.0 -I/Users/michaeleisel/.rvm/rubies/ruby-2.1.0/include/ruby-2.1.0/x86_64-darwin12.0 -c -o ext/init.o ext/init.cc g++ -DNDEBUG -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -I/Users/mpapis/.sm/pkg/active/include -fPIC -mmacosx-version-min=10.6 -pipe -I/Users/michaeleisel/.rvm/rubies/ruby-2.1.0/include/ruby-2.1.0 -I/Users/michaeleisel/.rvm/rubies/ruby-2.1.0/include/ruby-2.1.0/x86_64-darwin12.0 -c -o ext/malloc.o ext/malloc.cc g++ -dynamic -bundle -o ext/malloc.bundle ext/init.o ext/malloc.o -L/Users/michaeleisel/.rvm/rubies/ruby-2.1.0/lib -lruby-static -framework CoreFoundation -L. -L/Users/mpapis/.sm/pkg/active/lib -L/usr/lib -fPIC -Bstatic -fstack-protector
ld: warning: directory not found for option '-L/Users/mpapis/.sm/pkg/active/lib' Undefined symbols for architecture x86_64: "std::basic_stringbuf<char, std::char_traits, std::allocator >::str() const", referenced from: Error::what() const in malloc.o Error::Error(Error&) in malloc.o "std::ostream& std::ostream::_Minsert(unsigned long)", referenced from: Malloc::mallocNew(unsigned long, unsigned long) in malloc.o "std::ostream::operator<<(int)", referenced from: Malloc::mallocPlus(unsigned long, unsigned long) in malloc.o Malloc::mallocWrite(int, unsigned long, unsigned long) in malloc.o "std::string::_Rep::_M_destroy(std::allocator const&)", referenced from: Error::~Error() in malloc.o Error::what() const in malloc.o Error::Error(Error&) in malloc.o "std::string::_Rep::_S_empty_repstorage", referenced from: Malloc::mallocNew(unsigned long, unsigned long) in malloc.o Malloc::mallocPlus(unsigned long, unsigned long) in malloc.o Malloc::mallocWrite(int, unsigned long, unsigned long) in malloc.o Error::~Error() in malloc.o Error::what() const in malloc.o Error::Error(Error&) in malloc.o "std::string::assign(std::string const&)", referenced from: Error::what() const in malloc.o "std::basic_ostringstream<char, std::char_traits, std::allocator >::basic_ostringstream(std::_IosOpenmode)", referenced from: Malloc::mallocNew(unsigned long, unsigned long) in malloc.o Malloc::mallocPlus(unsigned long, unsigned long) in malloc.o Malloc::mallocWrite(int, unsigned long, unsigned long) in malloc.o Error::Error(Error&) in malloc.o "std::locale::~locale()", referenced from: Error::~Error() in malloc.o Error::Error(Error&) in malloc.o "std::ios_base::Init::Init()", referenced from: GLOBALI_a in malloc.o "std::ios_base::Init::~Init()", referenced from: GLOBALI_a in malloc.o "std::ios_base::~ios_base()", referenced from: Error::~Error() in malloc.o Error::Error(Error&) in malloc.o "std::basic_ostream<char, std::char_traits >& std::__ostream_insert<char, std::char_traits >(std::basic_ostream<char, std::chartraits >&, char const, long)", referenced from: Malloc::mallocNew(unsigned long, unsigned long) in malloc.o Malloc::mallocPlus(unsigned long, unsigned long) in malloc.o Malloc::mallocWrite(int, unsigned long*, unsigned long) in malloc.o Error::Error(Error&) in malloc.o "VTT for std::basic_ostringstream<char, std::char_traits, std::allocator >", referenced from: Error::~Error() in malloc.o Error::Error(Error&) in malloc.o "vtable for std::basic_streambuf<char, std::char_traits >", referenced from: Error::~Error() in malloc.o Error::Error(Error&) in malloc.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for std::basic_stringbuf<char, std::char_traits, std::allocator >", referenced from: Error::~Error() in malloc.o Error::Error(Error&) in malloc.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) rake aborted! Command failed with status (1): [g++ -dynamic -bundle -o ext/malloc.bundle...] /Users/michaeleisel/.rvm/gems/ruby-2.1.0/gems/malloc-1.4.0/Rakefile:49:in `block in <top (required)>' Tasks: TOP => default => all => ext/malloc.bundle (See full trace by running task with --trace)

rake failed, exit code 1

Gem files will remain installed in /Users/michaeleisel/.rvm/gems/ruby-2.1.0/gems/malloc-1.4.0 for inspection. Results logged to /Users/michaeleisel/.rvm/gems/ruby-2.1.0/extensions/x86_64-darwin-12/2.1.0-static/malloc-1.4.0/gem_make.out

wedesoft commented 10 years ago

Hi, Sorry for the late response. It looks like Ruby was compiled with static libraries only. You need to configure "rvm" to build Ruby with shared libraries.

michaeleisel commented 10 years ago

I did rvm install 2.1.1 --enable-shared, but still I get the same error.

wedesoft commented 10 years ago

Hmm. Not sure what's going on. I'll try to build it with Ruby-2.1.1 here.

wedesoft commented 10 years ago

Hmm. Still works. If you have time, could you try to install it without using RubyGems? I.e.:

cd /tmp/
git clone https://github.com/wedesoft/hornetseye-fftw3
cd hornetseye-fftw3/
rake
michaeleisel commented 10 years ago

Please install 'yard' if you want to generate documentation Please install 'rubygems' if you want to create Gem packages g++ -MM ext/init.cc ext/node.cc | sed -e :a -e N -e 's/\n/\$/g' -e ta | sed -e 's/ \$ / /g' -e 's/\$/\n/g' | sed -e 's/^/ext\//' > .depends.mf In file included from ext/init.cc:16: ext/rubyinc.hh:25:10: fatal error: 'ruby.h' file not found

include

     ^

1 error generated. ext/node.cc:18:10: fatal error: 'boost/shared_array.hpp' file not found

include <boost/shared_array.hpp>

     ^

1 error generated. g++ -DNDEBUG -DHAVE_CONFIG_H -D__STDC_CONSTANT_MACROS -I/Users/michaeleisel/Downloads/mxcl-homebrew-89b6037/opt/libyaml/include -I/Users/michaeleisel/Downloads/mxcl-homebrew-89b6037/opt/readline/include -I/Users/michaeleisel/Downloads/mxcl-homebrew-89b6037/opt/libksba/include -I/Users/michaeleisel/Downloads/mxcl-homebrew-89b6037/opt/openssl/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wextra-tokens -fno-common -pipe -I/Users/michaeleisel/.rvm/rubies/ruby-2.1.1/include/ruby-2.1.0 -I/Users/michaeleisel/.rvm/rubies/ruby-2.1.1/include/ruby-2.1.0/x86_64-darwin13.0 -c -o ext/init.o ext/init.cc In file included from ext/init.cc:17: ext/node.hh:19:10: fatal error: 'boost/smart_ptr.hpp' file not found

include <boost/smart_ptr.hpp>

     ^

1 error generated. rake aborted! Command failed with status (1): [g++ -DNDEBUG -DHAVE_CONFIG_H -D__STDC_CONS...] /private/tmp/hornetseye-fftw3/Rakefile:171:in `block in <top (required)>' Tasks: TOP => default => all => ext/hornetseye_fftw3.bundle => ext/init.o (See full trace by running task with --trace)

wedesoft commented 10 years ago

Hi, looks like you need to install Boost.

michaeleisel commented 10 years ago

I installed boost on my machine with brew install boost, so it now has boost-1.5.5.0_1

On Fri, May 9, 2014 at 3:26 PM, Jan Wedekind notifications@github.comwrote:

Hi, looks like you need to install Boost http://www.boost.org/.

— Reply to this email directly or view it on GitHubhttps://github.com/wedesoft/hornetseye-fftw3/issues/1#issuecomment-42720257 .

wedesoft commented 10 years ago

Is it still not working? Sorry, but I don't have Mac OS here right now. I guess that _boost/sharedptr.hpp is in /usr/local/Cellar/include and g++ does not look there.