Package Details: deal-ii 9.7.1-2

Git Clone URL: https://aur.archlinux.org/deal-ii.git (read-only, click to copy)
Package Base: deal-ii
Description: An Open Source Finite Element Differential Equations Analysis Library
Upstream URL: https://www.dealii.org/
Keywords: fem pde science
Licenses: LGPL-2.1-or-later
Submitter: coincoin
Maintainer: coincoin (drwells)
Last Packager: drwells
Votes: 14
Popularity: 0.000000
First Submitted: 2013-09-11 11:11 (UTC)
Last Updated: 2026-06-15 15:10 (UTC)

Dependencies (28)

Required by (0)

Sources (2)

Latest Comments

1 2 3 4 5 6 .. 8 Next › Last »

drwells commented on 2026-07-30 15:15 (UTC)

@Pulenc Thanks for reporting this. Yes, this PKGBUILD needs some tidying-up and I will address most of this once 9.8 is out (which should be in the next week or so). I am glad to see (though I have not checked in a long time) that GSL is now better-behaved.

Yes, boost and kokkos are mandatory dependencies of deal.II, so they should be there. The optdepends list is funny because they are all build-time optional dependencies. I originally thought that not every user would want every dependency (and some, like Trilinos, are very large) so I decided to make them all optional even though that's not how that system typically works in PKGBUILDs.

Pulec commented on 2026-07-30 15:07 (UTC)

check() fails here with 20/24 quick tests dying on symbol lookup error: libmkl_gf_lp64.so.3: undefined symbol: mkl_blas_dgemm. libdeal_II.so ends up with one MKL entry in DT_NEEDED where the link line passed three: deal.II only references the interface layer, so --as-needed drops libmkl_gnu_thread and libmkl_core. Only shows up if you have mold installed — deal.II picks it via -fuse-ld=mold, and mold's --as-needed drops those where GNU ld keeps them (ld keeps a library that resolves another needed library's undefined symbols). Confirmed both ways with a two-line cblas_dgemm test.

One-line fix, in the existing MKLROOT block:

cmake_configuration_flags+=" -DBLA_VENDOR=Intel10_64_dyn"

That selects libmkl_rt.so, which loads the threading and core layers itself, so there is nothing for --as-needed to lose.

Worth knowing both --as-needed removals in build() are already no-ops: grep -c as-needed cmake/setup_compiler_flags_gnu.cmake is 0 in 9.7.1 (upstream moved the line and commented it out), and sed 's/--as-needed,//' needs a trailing comma that makepkg.conf stopped emitting years ago. I tried making them work and it was worse — without --as-needed, libdeal_II.so gets 276 DT_NEEDED entries and inherits VTK's broken ones (libospray.so.3, 12× libviskores_*, libadios2_* — none installed, most not even in the repos), so 22/24 failed instead of 20/24. Also, the GSL rationale in that comment no longer applies on Arch: libgsl.so already DT_NEEDEDs libcblas.so.3.

Minor: optdepends and the /etc/profile.d sourcing loop both still say intel-mkl; it's intel-oneapi-mkl now, which also happens to be the profile.d filename, so the loop starts working again.

Separately — is depends=('boost' 'kokkos') intentional with everything else in optdepends? Since features are detected at build time, whatever is installed then becomes a hard runtime dependency of the resulting libdeal_II.so, and makepkg doesn't fill those in automatically.

The PKGBUILD.diff that fixed it: https://pastecode.dev/s/m75codc5

drwells commented on 2026-06-15 15:09 (UTC)

@carlosal1015: Thanks for the heads-up: I wrote a patch instead of using sed to achieve the same outcome.

Alad commented on 2025-10-15 23:06 (UTC) (edited on 2025-10-15 23:22 (UTC) by Alad)

Same behavior with VTK uninstalled - I reduced depends to boost and trilinos to narrow it down.

edit: I was trying earlier trilinos versions to see if they help, but none of them build with a recent gcc.

drwells commented on 2025-10-08 12:13 (UTC)

I see lines like

/usr/bin/ld: /usr/lib/libvtkRenderingAnari.so.1: undefined reference to `anariNewVolume'

in your output: I think this is a problem with VTK, not deal.II. Do things work if you uninstall VTK?

Alad commented on 2025-09-30 21:19 (UTC) (edited on 2025-09-30 21:38 (UTC) by Alad)

The issue resurfaced again. Apparently it is an old issue:

https://github.com/dealii/dealii/issues/3686

https://github.com/dealii/dealii/pull/3916

Removing -Wl,--as-needed from /etc/makepkg.conf only caused an immediate error with the test.

Build output: https://paste.xinu.at/rIUj (after terminating the build, since ld hangs)

Installed dependencies:

ann 1.1.2-3
gklib 5.1.1-4
gmsh 4.14.0-1
hypre 2.33.0-1
metis 5.2.1-2
mumps 5.8.0-1
p4est-deal-ii 2.8.6-1
parmetis-git r45.8ee6a37-2
petsc 3.23.6-1.1
scalapack 2.2.2-2
scotch 7.0.8-1
slepc 3.23.3-1
superlu_dist 9.1.0-1.1
triangle 1.6-9
trilinos 16.1.0-2
% g++ --version
g++ (GCC) 15.1.1 20250729
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

edit: using kokkos instead of trilinos seems to avoid the issue on my machine

Alad commented on 2025-03-13 14:13 (UTC)

I cleared all caches and it seems to have worked now. Thanks for the reply.

drwells commented on 2025-02-27 11:55 (UTC)

Sorry for the slow response. I haven't yet been able to reproduce this myself.

Is there any additional console output you can share? My best guess is that some other dependency enabled LTO in a way that triggered that.

Alad commented on 2025-02-21 00:06 (UTC) (edited on 2025-02-21 00:11 (UTC) by Alad)

For me the build hangs indefinitely at Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG. I have all optdepends enabled (apart from adol-c) which was not a problem in 9.5.

Checking the process table, it seems some LTO is attempted: ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so .... Even though !lto is set both in the PKGBUILD and my makepkg.conf

Killing the process gives the output: https://paste.xinu.at/JJJu5/