Skip to content

Failed to Build MFEM Wheel with CUDA/Suitesparse/GSlib Support #314

@tyszwh

Description

@tyszwh

Description
I'm encountering build failures when trying to install PyMFEM with advanced features (CUDA, Suitesparse, GSlab, LibCEED, LAPACK, parallel/HYPRE) on a Linux system. The build process fails with multiple compilation errors related to missing wrap files, deprecated classes, and g++ compilation failures.

Environment

  • OS: Linux (x86_64)
  • Python: 3.10 (Anaconda environment)
  • Compiler: g++ (system default)
  • PyMFEM Source: Local clone of PyMFEM repository
  • Installation Command:
    pip install ./ -C"with-parallel=Yes" -C"with-suitesparse=Yes" -C"with-gslib=Yes" -C"with-libceed=Yes" -C"with-lapack=Yes" -C"with-cuda=Yes" -C"with-cuda-hypre=Yes" -C"cuda-arch=75" --verbose

Error Log Key Details

  1. Critical Compilation Errors:

    g++: error: tmop_tools_wrap.cxx: No such file or directory
    g++: fatal error: no input files
    compilation terminated.
    g++: error: gslib_wrap.cxx: No such file or directory
    g++: fatal error: no input files
    compilation terminated.
    
  2. Deprecated Class Warnings (repeated for TMOP_Metric_skew2D):

    warning: ‘TMOP_Metric_skew2D’ is deprecated [-Wdeprecated-declarations]
    class MFEM_DEPRECATED TMOP_Metric_skew2D : public TMOP_QualityMetric
    
  3. Polymorphic Destructor Warning:

    warning: deleting object of polymorphic class type ‘mfem::Integrator’ which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
    
  4. Final Failure:

    subprocess.CalledProcessError: Command 'python3.10 setup.py build_ext --inplace --parallel 7' returned non-zero exit status 1.
    ERROR: Failed building wheel for mfem
    

Questions

  1. What causes the missing tmop_tools_wrap.cxx and gslib_wrap.cxx files during compilation?
  2. Are the deprecated TMOP_Metric_skew2D warnings blocking the build, or just warnings?
  3. Is there a known compatibility issue with PyMFEM when enabling both CUDA and parallel/HYPRE with Suitesparse?
  4. Are there additional build flags or configuration steps needed for CUDA+HYPRE integration?

Any guidance on resolving the missing wrap file errors and successful compilation with the requested features would be greatly appreciated.

part of log .txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions