grasph / wrapit

Automatization of C++--Julia wrapper generation
MIT License
98 stars 12 forks source link

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

Closed biona001 closed 2 weeks ago

biona001 commented 8 months ago

Hi, thank you for the package!

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.

grasph commented 2 weeks ago

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

Closing the issue.