# Pastix4calculix installation error ~/build.make:64: \*\*\* missing separator. Stop

**URL:** <https://calculix.discourse.group/t/pastix4calculix-installation-error-build-make-missing-separator-stop/1052>\
**Category:** Uncategorized\
**Created:** [March 27, 2022, 9:27am UTC](https://calculix.discourse.group/t/pastix4calculix-installation-error-build-make-missing-separator-stop/1052 "2022-03-27T09:27:06Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![W.H.Meng](https://avatars.discourse-cdn.com/v4/letter/w/a587f6/32.png) [@W.H.Meng](https://calculix.discourse.group/u/W.H.Meng)\
**Post date:** [March 27, 2022, 9:27am UTC](https://calculix.discourse.group/t/pastix4calculix-installation-error-build-make-missing-separator-stop/1052/1 "2022-03-27T09:27:06Z")

</div>

I encounter error messages when trying to install pastix4calculix.

> blockquote  
> – Generate precision dependencies in /usr/local/PaStiX/pastix\_src/test - Done  
> – — Python wrapper is disabled with static libraries  
> – Configuring done  
> – Generating done  
> – Build files have been written to: /usr/local/PaStiX/pastix\_src/build  
> sopalin/parsec/CMakeFiles/parsec\_headers\_tgt.dir/build.make:64: \*\*\* missing separator. Stop.  
> CMakeFiles/bcsc\_headers\_tgt.dir/build.make:63: \*\*\* missing separator. Stop.  
> CMakeFiles/sopalin\_headers.dir/build.make:63: \*\*\* missing separator. Stop.  
> make[1]: \*\*\* [CMakeFiles/Makefile2:1717: sopalin/parsec/CMakeFiles/parsec\_headers\_tgt.dir/all] Error 2  
> make[1]: \*\*\* Waiting for unfinished jobs…  
> make[1]: \*\*\* [CMakeFiles/Makefile2:566: CMakeFiles/bcsc\_headers\_tgt.dir/all] Error 2  
> make[1]: \*\*\* [CMakeFiles/Makefile2:1006: CMakeFiles/sopalin\_headers.dir/all] Error 2  
> spm/CMakeFiles/spm\_headers\_tgt.dir/build.make:66: \*\*\* missing separator. Stop.  
> make[1]: \*\*\* [CMakeFiles/Makefile2:1330: spm/CMakeFiles/spm\_headers\_tgt.dir/all] Error 2  
> kernels/gpus/CMakeFiles/pastix\_kernels\_cuda.dir/build.make:117: \*\*\* missing separator. Stop.  
> make[1]: \*\*\* [CMakeFiles/Makefile2:1633: kernels/gpus/CMakeFiles/pastix\_kernels\_cuda.dir/all] Error 2  
> make: \*\*\* [Makefile:141: all] Error 2  
> sopalin/parsec/CMakeFiles/parsec\_headers\_tgt.dir/build.make:64: \*\*\* missing separator. Stop.  
> make[1]: \*\*\* [CMakeFiles/Makefile2:1717: sopalin/parsec/CMakeFiles/parsec\_headers\_tgt.dir/all] Error 2  
> make: \*\*\* [Makefile:141: all] Error 2

Looking at “\*\*\* missing separator”, thought it might due to vim indent setting? One of the generated build.make files looks like this,

```auto
	62	
	63	sopalin/parsec/pastix_sparsec.h: ../sopalin/parsec/Bad\ replacement\ pair\ \ 8\ in\ normal
	64	pastix_zparsec.h
	65	sopalin/parsec/pastix_sparsec.h: ../cmake_modules/morse_cmake/modules/precision_generator/codegen.py
	66	sopalin/parsec/pastix_sparsec.h: ../cmake_modules/morse_cmake/modules/precision_generator/subs.py
	67 @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/usr/local/PaStiX/pastix_src/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating pastix_sparsec.h"

```

or does it have anything to do with word wrap setting? Thanks for your advice.

---

<div class="post-metadata">

**Author:** ![W.H.Meng](https://avatars.discourse-cdn.com/v4/letter/w/a587f6/32.png) [@W.H.Meng](https://calculix.discourse.group/u/W.H.Meng)\
**Post date:** [April 4, 2022, 3:35am UTC](https://calculix.discourse.group/t/pastix4calculix-installation-error-build-make-missing-separator-stop/1052/2 "2022-04-04T03:35:52Z")

</div>

Seems that using python2.7 instead of python3.8 solved the above issue.  
However, I got another error about MPI\_Status.

> [73%] Building C object CMakeFiles/pastix.dir/sopalin/coeftab.c.o  
> [75%] Building C object CMakeFiles/pastix.dir/sopalin/schur.c.o  
> In file included from /usr/local/PaStiX/pastix\_src/include/pastix.h:39:0,  
> from /usr/local/PaStiX/pastix\_src/common/common.h:22,  
> from /usr/local/PaStiX/pastix\_src/bcsc/bvec.c:15:  
> /usr/local/PaStiX/pastix\_src/include/pastix/nompi.h:21:22: error: two or more data types in declaration specifiers  
> #define MPI\_Datatype int  
> ^  
> /usr/local/PaStiX/pastix\_src/include/pastix/nompi.h:25:22: error: two or more data types in declaration specifiers  
> #define MPI\_Comm int  
> ^  
> /usr/local/PaStiX/pastix\_src/include/pastix/nompi.h:22:22: error: two or more data types in declaration specifiers  
> #define MPI\_Op int  
> ^  
> /usr/local/PaStiX/pastix\_src/include/pastix/nompi.h:23:22: error: two or more data types in declaration specifiers  
> #define MPI\_Request int  
> ^  
> /usr/local/PaStiX/pastix\_src/include/pastix/nompi.h:26:22: error: two or more data types in declaration specifiers  
> #define MPI\_Fint int  
> ^  
> In file included from /usr/local/include/parsec/datatype.h:13:0,  
> from /usr/local/include/parsec.h:16,  
> from /usr/local/PaStiX/pastix\_src/bcsc/bvec.c:19:  
> /usr/local/include/mpi.h:587:16: error: redefinition of ‘struct MPI\_Status’  
> typedef struct MPI\_Status {  
> ^ ~~~~~~~~~  
> In file included from /usr/local/PaStiX/pastix\_src/include/pastix.h:39:0,  
> from /usr/local/PaStiX/pastix\_src/common/common.h:22,  
> from /usr/local/PaStiX/pastix\_src/bcsc/bvec.c:15:  
> /usr/local/PaStiX/pastix\_src/include/pastix/nompi.h:88:16: note: originally defined here  
> typedef struct MPI\_Status{  
> ^ ~~~~~~~~~

I installed openmpi before installing parsec.

---

<div class="post-metadata">

**Author:** ![W.H.Meng](https://avatars.discourse-cdn.com/v4/letter/w/a587f6/32.png) [@W.H.Meng](https://calculix.discourse.group/u/W.H.Meng)\
**Post date:** [April 4, 2022, 10:25am UTC](https://calculix.discourse.group/t/pastix4calculix-installation-error-build-make-missing-separator-stop/1052/3 "2022-04-04T10:25:44Z")

</div>

With adding `-DPASTIX_WITH_MPI=ON ` in make\_pastix.sh, it seems OK.  
Then when compiling ccx\_2.19 with pastix, same error as [kmallick](https://calculix.discourse.group/u/kmallick) had.

> [@Cannot compile ccx\_2.17 with PaStiX](https://calculix.discourse.group/t/cannot-compile-ccx-2-17-with-pastix/288):
>
> I need some help. I am using stock source of ccx 2.17 and following README to compile in Ubuntu 20.04. I have gone though all the steps to make OpenBLAS, hwloc, parsec, scotch and pastix. Ihave installed CUDA 11.1 and modified the make files as needed. When I run Makefile\_i8 I get the following error: /usr/bin/ld: …/…/…/PaStiX/pastix\_i8/lib/libpastix.a(isched\_hwloc.c.o): undefined reference to symbol ‘hwloc\_bitmap\_iszero’ /usr/bin/ld: …/…/…/PaStiX/hwloc\_i8/lib/libhwloc.so: error adding symbol…

> /usr/bin/ld: …/…/…/PaStiX/pastix\_i8/lib/libpastix.a(isched\_hwloc.c.o): undefined reference to symbol ‘hwloc\_bitmap\_iszero’  
> /usr/bin/ld: …/…/…/PaStiX/hwloc\_i8/lib/libhwloc.so: error adding symbols: DSO missing from command line  
> collect2: error: ld returned 1 exit status  
> make: \*\*\* [Makefile\_i8:39: ccx\_2.19\_i8] Error 1

Unfortunately, I didn’t get succeed when adding …/…/…/PaStiX/hwloc\_i8/lib/libhwloc.so to the end as Kmallick did.

---

<div class="post-metadata">

**Author:** ![feacluster](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/feacluster/32/394_2.png) [@feacluster](https://calculix.discourse.group/u/feacluster)\
**Post date:** [April 4, 2022, 5:23pm UTC](https://calculix.discourse.group/t/pastix4calculix-installation-error-build-make-missing-separator-stop/1052/4 "2022-04-04T17:23:00Z")

</div>

Do you have a powerful GPU? With a lot of trial and error I got some version working, but speedup was rather slow using older K80 gpu.

---

<div class="post-metadata">

**Author:** ![W.H.Meng](https://avatars.discourse-cdn.com/v4/letter/w/a587f6/32.png) [@W.H.Meng](https://calculix.discourse.group/u/W.H.Meng)\
**Post date:** [April 5, 2022, 9:39am UTC](https://calculix.discourse.group/t/pastix4calculix-installation-error-build-make-missing-separator-stop/1052/5 "2022-04-05T09:39:53Z")

</div>

Finally, I got succeed with a bit modification in Makefile\_i8.  
The error seemed to be caused by circular dependency among libraries.

```auto
LIBS = \
       $(DIR)/spooles.a \
       ../../../ARPACK/libarpack_INTEL.a \
       $(PASTIX_LIBS) \
# -lpthread -lm -lc

ccx_2.19_i8: $(OCCXMAIN) ccx_2.19.a $(LIBS)
	$(FC) -Wall -O2 -o $@ \
	$(OCCXMAIN) ccx_2.19.a -Wl,--start-group $(LIBS) -Wl,--end-group -lpthread -lm -lc

```

There was an error when I tried to run ccx\_2.19\_i8, missing `libparsec.so.2`, which was solved by adding its path to the environment variable.
