# "make check" failures on macOS

**URL:** <https://community.freefem.org/t/make-check-failures-on-macos/556>\
**Category:** General Discussion\
**Created:** [August 30, 2020, 5:05am UTC](https://community.freefem.org/t/make-check-failures-on-macos/556 "2020-08-30T05:05:50Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bpabbott](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/bpabbott/32/205_2.png) [@bpabbott](https://community.freefem.org/u/bpabbott)\
**Post date:** [August 30, 2020, 5:05am UTC](https://community.freefem.org/t/make-check-failures-on-macos/556/1 "2020-08-30T05:05:50Z")

</div>

Running macOS 10.16.5 and the development branch.

I see two failures.

FAIL: LapComplexEigenValue.edp  
FAIL: LapnosymComplexEigenValue.edp

Shall I copy the log my response, or is there a a preferred alternative?

---

<div class="post-metadata">

**Author:** ![prj](https://avatars.discourse-cdn.com/v4/letter/p/ecae2f/32.png) [@prj](https://community.freefem.org/u/prj)\
**Post date:** [August 30, 2020, 5:56am UTC](https://community.freefem.org/t/make-check-failures-on-macos/556/2 "2020-08-30T05:56:14Z")

</div>

These are ARPACK errors. They have been there for a long time. My advice: don’t use ARPACK and switch to SLEPc instead.

---

<div class="post-metadata">

**Author:** ![bpabbott](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/bpabbott/32/205_2.png) [@bpabbott](https://community.freefem.org/u/bpabbott)\
**Post date:** [August 30, 2020, 4:39pm UTC](https://community.freefem.org/t/make-check-failures-on-macos/556/3 "2020-08-30T16:39:49Z")

</div>

For switching to SLEPc, is this done at configure? Or run time?

---

<div class="post-metadata">

**Author:** ![prj](https://avatars.discourse-cdn.com/v4/letter/p/ecae2f/32.png) [@prj](https://community.freefem.org/u/prj)\
**Post date:** [August 30, 2020, 4:53pm UTC](https://community.freefem.org/t/make-check-failures-on-macos/556/4 "2020-08-30T16:53:03Z")

</div>

1. Make sure FreeFEM is configured with PETSc/SLEPc support
2. Switch from `EigenValue` to `EPSSolve`, see the many examples with `SLEPc` in the name from [this folder](https://github.com/FreeFem/FreeFem-sources/tree/master/examples/hpddm)

---

<div class="post-metadata">

**Author:** ![bpabbott](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/bpabbott/32/205_2.png) [@bpabbott](https://community.freefem.org/u/bpabbott)\
**Post date:** [August 31, 2020, 1:50am UTC](https://community.freefem.org/t/make-check-failures-on-macos/556/5 "2020-08-31T01:50:10Z")

</div>

Any chance there is a description of the input arguments for EPSSolve?

---

<div class="post-metadata">

**Author:** ![prj](https://avatars.discourse-cdn.com/v4/letter/p/ecae2f/32.png) [@prj](https://community.freefem.org/u/prj)\
**Post date:** [August 31, 2020, 6:23am UTC](https://community.freefem.org/t/make-check-failures-on-macos/556/6 "2020-08-31T06:23:15Z")

</div>

They are the same as `EigenValue`, expect `Mat` instead of `matrix` have to be passed:

1. `EPSSolve(A, B)` with `A` and `B` of type `Mat`
2. `EPSSolve(A)` with `A` of type `Mat`

There is a little twist for matrix-free methods because FreeFEM must be made aware of the data distribution (for parallel computing), so a `Mat` must always be passed as well:

1. `EPSSolve(A, funcA)` with `A` of type `Mat` and `funcA` of type `func real[int]` or `complex[int]`
2. `EPSSolve(A, funcA, B, funcB)` with `A` and `B` of type `Mat`, `funcA` and `funcB` of type `func real[int]` or `complex[int]`

There is more information in the SLEPc section of [this](http://jolivet.perso.enseeiht.fr/FreeFem-tutorial/main.pdf) tutorial. Appart from being actively maintained (unlike ARPACK which hasn’t been updated in ages), SLEPc handles parallel computing natively, can solve nonlinear eigenvalue problems, and compute singular value decompositions.
