Package Details: petsc 3.21.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.000079
First Submitted: 2018-02-24 11:36 (UTC)
Last Updated: 2024-04-29 00:32 (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 .. 3 4 5 6 7 8 9 Next › Last »

mach6 commented on 2018-08-29 15:28 (UTC)

Should we also copy /opt/petsc/linux-c-opt/lib/pkgconfig/PETSc.pc to /usr/share/pkgconfig? I run pkg-config --cflags PETSc and get Package petsc was not found in the pkg-config search path

ChrisTX commented on 2018-08-20 10:36 (UTC)

@heitzmann: Sorry my bad, I just noticed they switched the configure, but hadn't actually tried myself. The reason you get undefined reference errors is because CBLAS and LAPACKE are missing in their pkg-config --libs output. Adding those will make configure work, but the code itself will not compile due to undefined symbol errors while compiling pastix.c. I would assume that PETSc simply doesn't PaStiX 6.x yet and that the API changed. Their own build script still downloads 5.2.4 supporting that assumption.

heitzmann commented on 2018-08-17 16:37 (UTC)

@ChrisTX: Would you have a fix by any chance? I gave it a try but could not make it work. I must be missing some libraries, because what I get from pkg-config pastix --libs gives me many undefined reference errors...

ChrisTX commented on 2018-08-17 09:32 (UTC)

@heitzmann: PaStiX 6.x doesn't ship pastix-conf anymore and they're now using pkg-config instead, with the package names pastix and pastixf (with Fortran support). Could you update test_optdepends.sh accordingly?

sigvald commented on 2018-06-25 12:44 (UTC)

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