Package Details: petsc 3.22.1-1

Git Clone URL: https://aur.archlinux.org/petsc.git (read-only, click to copy)
Package Base: petsc
Description: Portable, extensible toolkit for scientific computation
Upstream URL: https://petsc.org
Keywords: computing scientific
Licenses: BSD
Provides: petsc4py
Submitter: heitzmann
Maintainer: MartinDiehl
Last Packager: MartinDiehl
Votes: 19
Popularity: 0.000001
First Submitted: 2018-02-24 11:36 (UTC)
Last Updated: 2024-11-23 14:08 (UTC)

Pinned Comments

MartinDiehl commented on 2022-10-06 10:26 (UTC)

@jrohwer

When building PETSc (more specifically, petsc4py), one test (ex100 from ksp) will fail if a previous (major) version is installed. I could not figure out why this happens. The solution would be to build in a clean root (which is a little bit complicated due to dependency on other AUR packages) or simply uninstall the old version before.

Any help to solve this issue is welcomed.

Latest Comments

« First ‹ Previous 1 .. 4 5 6 7 8 9 10 Next › Last »

heitzmann commented on 2018-06-25 11:22 (UTC) (edited on 2018-06-25 11:22 (UTC) by heitzmann)

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 (UTC)

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 (UTC)

@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 (UTC) (edited on 2018-06-23 08:02 (UTC) by sigvald)

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 (UTC)

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

sigvald commented on 2018-06-22 15:20 (UTC)

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 (UTC) (edited on 2018-06-21 17:10 (UTC) by sigvald)

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 (UTC)

@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 (UTC)

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.