Package Details: petsc 3.9.3-1

Git Clone URL: https://aur.archlinux.org/petsc.git (read-only)
Package Base: petsc
Description: Portable, extensible toolkit for scientific computation
Upstream URL: https://www.mcs.anl.gov/petsc/
Licenses: BSD
Submitter: heitzmann
Maintainer: heitzmann
Last Packager: heitzmann
Votes: 1
Popularity: 0.354714
First Submitted: 2018-02-24 11:36
Last Updated: 2018-07-20 12:12

Dependencies (18)

Sources (2)

Latest Comments

1 2 Next › Last »

sigvald commented on 2018-06-25 12:44

@heitzmann: You're welcome. Using a dedicated tool for comparing version strings is definitely a good idea. Lots of pitfalls due to various formats and suffixes.

heitzmann commented on 2018-06-25 11:22

Thanks @sigvald. I've modified a little the code to use sort -V to compare version strings, which seems more reliable (https://stackoverflow.com/a/4024263)

sigvald commented on 2018-06-24 17:22

Here's a rudimentary solution for test_optdepends.sh that admittedly turned out uglier than I had hoped. I haven't tested it but I think it should work.

function version { echo "$@" | awk -F. '{ printf("%d%03d%03d\n", $1,$2,$3); }'; }

# Add hypre support
if [ -f "/usr/lib/libHYPRE.so" ]; then

    VERSION_MIN=2.14.2
    VERSION=$(readlink -f "/usr/lib/libHYPRE.so" | grep -oP '\d+.\d+.\d+')

    if [ $(version $VERSION) -lt $(version $VERSION_MIN) ]; then
        (>&2 echo "WARNING: COMPILING PETSc WITHOUT HYPRE.")
        (>&2 echo "HYPRE $VERSION FOUND BUT AT LEAST $VERSION_MIN IS REQUIRED.")
        sleep 3
    else
        CONFOPTS="${CONFOPTS} --with-hypre=1"
    fi
fi

Since the warning goes to stderr it doesn't affect the variable in PKGBUILD.

If you want you can either just take it and add it to test_optdepends.sh or add me as co-maintainer. Both are fine.

heitzmann commented on 2018-06-23 10:28

@sigvald Yes, I agree with you... it would be useful to have versions in both optdepends and makedepends. If you want to include this version check in test_optdepends.sh I'll be glad to update the package or add you as a co-maintainer.

sigvald commented on 2018-06-23 07:34

Really? How unfortunate! I can only guess the rationale is that since it's optional, it doesn't have to be used if an unsupported version is installed. That leaves it to the PKGBUILD to run the necessary commands to build without Hypre (preferrably with a warning) if Hypre is of an unsupported version. That's only a wishlist. I won't blame you if you don't have time.

heitzmann commented on 2018-06-22 15:42

@sigvald optdepends items do not support version restrictions (man PKGBUILD)

sigvald commented on 2018-06-22 15:20

This package should have

'hypre>=2.14: support for the hypre sparse system solver'

in optdepends. Note the version requirement.

sigvald commented on 2018-06-21 13:01

Anyone familiar with this one?

/home/sigvald/Downloads/fenics/petsc/src/petsc-3.9.2/src/mat/impls/hypre/mhypre.c: In function ‘hypre_array_destroy’:
/home/sigvald/Downloads/fenics/petsc/src/petsc-3.9.2/src/mat/impls/hypre/mhypre.c:1453:37: error: macro "hypre_TFree" passed 2 arguments, but takes just 1
    hypre_TFree(ptr,HYPRE_MEMORY_HOST);
                                     ^
/home/sigvald/Downloads/fenics/petsc/src/petsc-3.9.2/src/mat/impls/hypre/mhypre.c:1453:4: error: ‘hypre_TFree’ undeclared (first use in this function); did you mean ‘hypre_Free’?
    hypre_TFree(ptr,HYPRE_MEMORY_HOST);
    ^~~~~~~~~~~
    hypre_Free
/home/sigvald/Downloads/fenics/petsc/src/petsc-3.9.2/src/mat/impls/hypre/mhypre.c:1453:4: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [gmakefile:150: arch-linux-c-opt/obj/mat/impls/hypre/mhypre.o] Error 1
make[2]: Leaving directory '/home/sigvald/Downloads/fenics/petsc/src/petsc-3.9.2'
make[1]: *** [/home/sigvald/Downloads/fenics/petsc/src/petsc-3.9.2/lib/petsc/conf/rules:81: gnumake] Error 2
make[1]: Leaving directory '/home/sigvald/Downloads/fenics/petsc/src/petsc-3.9.2'
**************************ERROR*************************************
  Error during compile, check arch-linux-c-opt/lib/petsc/conf/make.log
  Send it and arch-linux-c-opt/lib/petsc/conf/configure.log to petsc-maint@mcs.anl.gov
********************************************************************
make: *** [makefile:36: all] Error 1
==> ERROR: A failure occurred in build().
    Aborting...

EDIT: Hypre needs to be v2.14.0, but the one on AUR is out-of-date (v2.11.0). Thanks to Satish Balay for pointing this out in a mail to me.

heitzmann commented on 2018-05-21 16:50

@mcovalt setting PETSC_ARCH messes up slepc... I don't have the time to figure out a fix right now, so I'll leave it as it is. Let me know if you can help with that.

mcovalt commented on 2018-05-15 18:46

Looks like my first comment didn't make it. Consider exporting PETSC_ARCH in addition to PETSC_DIR since many programs look for both environment variables to indicate a valid petsc installation is available.