grasph/wrapit

Use of `Eigen` package throws `'mmintrin.h' file not found` error

Closed this issue · 1 comments

Hi, thank you for the package!

  • This issue is potentially related to #30. I tried wrapping the code I want before even trying the tutorial. Then I realized even the hello world example fails.
  • I'm trying to create a Julia wrapper for this ghostbasil package, but I seem to be running into weird issues with Eigen.

Here is my ghostbasil.wit:

module_name         = "GhostBASIL"
export_jl_fname     = "GhostBASIL-export.jl"
module_jl_fname     = "GhostBASIL-generated.jl"
include_dirs        = [ "/Users/biona001/.julia/dev/ghostbasil/ghostbasil/include/ghostbasil" ]
input               = [ "matrix/block_group_ghost_matrix.hpp", "matrix/block_matrix.hpp", "matrix/ghost_matrix.hpp", "matrix/group_ghost_matrix.hpp", "optimization/basil.hpp"]
extra_headers       = [ "/usr/local/include/eigen3/Eigen/Core", "/usr/local/include/eigen3/Eigen/SparseCore"]
cxx-std             = "c++17"

Running wrapit:

$ wrapit ghostbasil.wit --force --verbosity 1

/usr/local/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h:345:18: 'mmintrin.h' file not found
Info: missing definition of type const BlockMatrix<MatrixType> & to define wrapper for void ghostbasil::BlockMatrix::ConstBlockIterator::ConstBlockIterator(const ghostbasil::BlockMatrix &, size_t)
Info: missing definition of type const auto & to define wrapper for const auto & ghostbasil::BlockMatrix::ConstBlockIterator::block()
Info: missing definition of type auto to define wrapper for auto ghostbasil::BlockMatrix::ConstBlockIterator::shift(size_t)
Info: missing definition of type auto to define wrapper for auto ghostbasil::BlockMatrix::ConstBlockIterator::stride()
Info: missing definition of type value_t to define wrapper for int ghostbasil::lasso::BasilState::update_after_initial_fit(ghostbasil::lasso::BasilState::value_t)
Info: missing definition of types value_t, value_t to define wrapper for int ghostbasil::lasso::BasilState::screen(size_t, size_t, bool, bool, bool, ghostbasil::lasso::BasilState::value_t, ghostbasil::lasso::BasilState::value_t)
Info: Generating non-const getter for ghostbasil::lasso::BasilDiagnostic::strong_sizes
Info: Generating non-const getter for ghostbasil::lasso::BasilDiagnostic::strong_sizes
Info: Generating non-const getter for ghostbasil::lasso::BasilDiagnostic::active_sizes
Info: Generating non-const getter for ghostbasil::lasso::BasilDiagnostic::active_sizes
Info: Generating non-const getter for ghostbasil::lasso::BasilDiagnostic::used_strong_rule
Info: Generating non-const getter for ghostbasil::lasso::BasilDiagnostic::used_strong_rule
Info: Generating non-const getter for ghostbasil::lasso::BasilDiagnostic::n_cds
Info: Generating non-const getter for ghostbasil::lasso::BasilDiagnostic::n_cds
Info: Generating non-const getter for ghostbasil::lasso::BasilDiagnostic::n_lambdas_proc
Info: Generating non-const getter for ghostbasil::lasso::BasilDiagnostic::n_lambdas_proc

Generated wrapper statictics
  enums:            0
  classes/structs:  2
    templates:      0
    others:         2
  class methods:    4
  field accessors:  5 getters and 5 setters
  global variable accessors: 0 getters and 0 setters
  global functions: 0

I can't find much information regarding 'mmintrin.h' file not found error. Any help/insights would be highly appreciated.

Missing a minimal (non-)working example to reproduce the issue, while the issue might have been already fixed with #30.

Closing the issue.