Do we really need this step?
# src for tutorials
cp -r ${_build_dir}/src ${pkgdir}/usr/share/doc/$pkgname/
The src
folder by itself is around 147M. Should it be enough just cp -r ${_build_dir}/doc ${pkgdir}/usr/share/doc/$pkgname
?
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.000058 |
First Submitted: | 2018-02-24 11:36 (UTC) |
Last Updated: | 2024-04-29 00:32 (UTC) |
« First ‹ Previous 1 .. 3 4 5 6 7 8 9 10 Next › Last »
Do we really need this step?
# src for tutorials
cp -r ${_build_dir}/src ${pkgdir}/usr/share/doc/$pkgname/
The src
folder by itself is around 147M. Should it be enough just cp -r ${_build_dir}/doc ${pkgdir}/usr/share/doc/$pkgname
?
I think that would make sense only if we actually installed petsc in the system directories under /usr/local . I'm not sure what the policy is on that...
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
@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.
@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...
@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?
@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.
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)
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.
@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.
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.