Home My Page Projects PaStiX
Summary Activity Forums Lists Docs News Files

Forum: help

Monitor Forum | Start New Thread Start New Thread
RE: compilation of petsc with pastix fails if optimization flags are set [ Reply ]
By: Xavier Lacoste on 2014-12-18 14:56
[forum:149149]
I did a patch were I protected those enums.
Hopefully it will work in petsc.

The new release is 5.2.2.20 :
https://gforge.inria.fr/frs/download.php/file/34392/pastix_5.2.2.20.tar.bz2

XL.

RE: compilation of petsc with pastix fails if optimization flags are set [ Reply ]
By: Xavier Lacoste on 2014-12-05 16:35
[forum:149122]
I don't understand where the bug come from.

When i grep to search for MURGE_DUPLICATE_ELEMENT is seems normal to me :

> grep MURGE_PASTIX_ERR sopalin/src/*
> sopalin/src/cmurge_pastix.h:enum MURGE_PASTIX_ERR {
> sopalin/src/dmurge_pastix.h:enum MURGE_PASTIX_ERR {
> sopalin/src/murge_pastix.h:enum MURGE_PASTIX_ERR {
> sopalin/src/smurge_pastix.h:enum MURGE_PASTIX_ERR {
> sopalin/src/zmurge_pastix.h:enum MURGE_PASTIX_ERR {

Maybe a issue with parallel build (I have to fix the build of the automatic generation of murge files in parallel...)

Thanks for the feedback,

XL.

compilation of petsc with pastix fails if optimization flags are set [ Reply ]
By: Nobody on 2014-12-05 08:42
[forum:149121]
Please see this bug report on the petsc bitbucket page: https://bitbucket.org/petsc/petsc/issue/84/pastix-compilation-error-when-custom

Commenting the last 2 enum structures in $PETSC_ARCH/externalpackages/pastix_release_93185ac/src/sopalin/src/murge_pastix.h fixes the several compiler error messages but these still remain:

```
./common/src/common_pastix.h:435:66: warning: right-hand operand of comma expression has no effect [-Wunused-value]
# define memFree(ptr) ( free ((char *) (ptr)) , 0)
^
./common/src/common_pastix.h:444:7: note: in expansion of macro ‘memFree’
memFree ((char *) (ptr)); \
^
sopalin/src/murge_defines.h:333:5: note: in expansion of macro ‘memFree_null’
memFree_null(ptr); \
^
sopalin/src/murge.c:6036:3: note: in expansion of macro ‘MURGE_FREE’
MURGE_FREE(solvers[id]->rows);
```