Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
$ LC_ALL=C bin/rbx -X19 gem install nmatrix
Building native extensions. This could take a while...
ERROR: Error installing nmatrix:
ERROR: Failed to build gem native extension.
/home/pierre/Sources/rubinius/bin/rbx extconf.rb
checking for main() in -llapack... yes
checking for main() in -lcblas... yes
checking for main() in -latlas... yes
checking for clapack.h... no
checking for cblas.h... yes
checking for clapack_dgetrf() in clapack.h... no
checking for cblas_dgemm() in cblas.h... yes
creating nmatrix_config.h
creating Makefile
make
compiling nmatrix.cpp
In file included from data/data.h:45:0,
from nmatrix.cpp:49:
data/ruby_object.h:96:9: error: 'nm::RubyObject::RubyObject(int64_t)' cannot be overloaded
data/ruby_object.h:71:9: error: with 'nm::RubyObject::RubyObject(intptr_t)'
data/ruby_object.h: In constructor 'nm::RubyObject::RubyObject(const nm::Rational<IntType>&)':
data/ruby_object.h:83:109: error: there are no arguments to 'rb_rational_new' that depend on a template parameter, so a declaration of 'rb_rational_new' must be available [-fpermissive]
data/ruby_object.h:83:109: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
nmatrix.cpp: In function 'SLICE* get_slice(size_t, intptr_t*, intptr_t)':
nmatrix.cpp:1841:47: error: 'rb_range_values' was not declared in this scope
In file included from data/data.h:45:0,
from nmatrix.cpp:49:
data/ruby_object.h: In instantiation of 'nm::RubyObject::RubyObject(const nm::Complex<Type>&) [with FloatType = float; <template-parameter-1-2> = void]':
nmatrix.cpp:226:13: required from 'void nm::read_padded_dense_elements(std::ifstream&, DENSE_STORAGE*, nm::symm_t) [with DType = nm::Complex<float>; std::ifstream = std::basic_ifstream<char>]'
nmatrix.cpp:1129:3: required from here
data/ruby_object.h:77:120: error: 'rb_complex_new' was not declared in this scope
data/ruby_object.h: In instantiation of 'nm::RubyObject::RubyObject(const nm::Complex<Type>&) [with FloatType = double; <template-parameter-1-2> = void]':
nmatrix.cpp:226:13: required from 'void nm::read_padded_dense_elements(std::ifstream&, DENSE_STORAGE*, nm::symm_t) [with DType = nm::Complex<double>; std::ifstream = std::basic_ifstream<char>]'
nmatrix.cpp:1129:3: required from here
data/ruby_object.h:77:120: error: 'rb_complex_new' was not declared in this scope
data/ruby_object.h: In instantiation of 'nm::RubyObject::RubyObject(const nm::Rational<IntType>&) [with IntType = short int; <template-parameter-1-2> = void]':
data/ruby_object.h:408:29: required from 'bool nm::operator!=(const nm::Rational<IntType>&, const nm::RubyObject&) [with IntType = short int; <template-parameter-1-2> = void]'
util/math.h:205:10: required from 'void nm::math::trsm_nothrow(CBLAS_SIDE, CBLAS_UPLO, CBLAS_TRANSPOSE, CBLAS_DIAG, int, int, DType, const DType*, int, DType*, int) [with DType = nm::Rational<short int>]'
util/math.h:477:5: required from 'void nm::math::trsm(CBLAS_ORDER, CBLAS_SIDE, CBLAS_UPLO, CBLAS_TRANSPOSE, CBLAS_DIAG, int, int, DType, const DType*, int, DType*, int) [with DType = nm::Rational<short int>; <template-parameter-1-2> = void]'
util/math.h:1342:7: required from 'int nm::math::getrf_nothrow(int, int, DType*, int, int*) [with bool RowMajor = true; DType = nm::Rational<short int>]'
util/math.h:1508:56: required from 'int nm::math::getrf(CBLAS_ORDER, int, int, DType*, int, int*) [with DType = nm::Rational<short int>]'
util/math.h:2168:74: required from 'int nm::math::clapack_getrf(CBLAS_ORDER, int, int, void*, int, int*) [with DType = nm::Rational<short int>]'
nmatrix.cpp:1532:3: required from here
data/ruby_object.h:83:110: error: 'rb_rational_new' was not declared in this scope
data/ruby_object.h: In instantiation of 'nm::RubyObject::RubyObject(const nm::Rational<IntType>&) [with IntType = int; <template-parameter-1-2> = void]':
data/ruby_object.h:408:29: required from 'bool nm::operator!=(const nm::Rational<IntType>&, const nm::RubyObject&) [with IntType = int; <template-parameter-1-2> = void]'
util/math.h:205:10: required from 'void nm::math::trsm_nothrow(CBLAS_SIDE, CBLAS_UPLO, CBLAS_TRANSPOSE, CBLAS_DIAG, int, int, DType, const DType*, int, DType*, int) [with DType = nm::Rational<int>]'
util/math.h:477:5: required from 'void nm::math::trsm(CBLAS_ORDER, CBLAS_SIDE, CBLAS_UPLO, CBLAS_TRANSPOSE, CBLAS_DIAG, int, int, DType, const DType*, int, DType*, int) [with DType = nm::Rational<int>; <template-parameter-1-2> = void]'
util/math.h:1342:7: required from 'int nm::math::getrf_nothrow(int, int, DType*, int, int*) [with bool RowMajor = true; DType = nm::Rational<int>]'
util/math.h:1508:56: required from 'int nm::math::getrf(CBLAS_ORDER, int, int, DType*, int, int*) [with DType = nm::Rational<int>]'
util/math.h:2168:74: required from 'int nm::math::clapack_getrf(CBLAS_ORDER, int, int, void*, int, int*) [with DType = nm::Rational<int>]'
nmatrix.cpp:1532:3: required from here
data/ruby_object.h:83:110: error: 'rb_rational_new' was not declared in this scope
data/ruby_object.h: In instantiation of 'nm::RubyObject::RubyObject(const nm::Rational<IntType>&) [with IntType = long int; <template-parameter-1-2> = void]':
data/ruby_object.h:408:29: required from 'bool nm::operator!=(const nm::Rational<IntType>&, const nm::RubyObject&) [with IntType = long int; <template-parameter-1-2> = void]'
util/math.h:205:10: required from 'void nm::math::trsm_nothrow(CBLAS_SIDE, CBLAS_UPLO, CBLAS_TRANSPOSE, CBLAS_DIAG, int, int, DType, const DType*, int, DType*, int) [with DType = nm::Rational<long int>]'
util/math.h:477:5: required from 'void nm::math::trsm(CBLAS_ORDER, CBLAS_SIDE, CBLAS_UPLO, CBLAS_TRANSPOSE, CBLAS_DIAG, int, int, DType, const DType*, int, DType*, int) [with DType = nm::Rational<long int>; <template-parameter-1-2> = void]'
util/math.h:1342:7: required from 'int nm::math::getrf_nothrow(int, int, DType*, int, int*) [with bool RowMajor = true; DType = nm::Rational<long int>]'
util/math.h:1508:56: required from 'int nm::math::getrf(CBLAS_ORDER, int, int, DType*, int, int*) [with DType = nm::Rational<long int>]'
util/math.h:2168:74: required from 'int nm::math::clapack_getrf(CBLAS_ORDER, int, int, void*, int, int*) [with DType = nm::Rational<long int>]'
nmatrix.cpp:1532:3: required from here
data/ruby_object.h:83:110: error: 'rb_rational_new' was not declared in this scope
make: *** [nmatrix.o] Error 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment