How do I build basix as a requirement for dolfin-git with temporary build and installation directories

12 views
Skip to first unread message

ed...@openmail.cc

unread,
Aug 30, 2021, 12:46:34 PM8/30/21
to fenics-...@googlegroups.com
{you can safely skip this paragraph}
This discussion is also posted here:
https://fenicsproject.discourse.group/t/install-dolfin-with-basix-in-arch-from-source-with-pkgbuild/6466


I am trying to install Dolfin (my end goal is Dolfin_Warp). I created
an [AUR package for
basix](https://aur.archlinux.org/packages/fenics-basix-git/) which I
could install. It does not work.

This leads to an error when compiling
[dolfin-git](https://aur.archlinux.org/packages/dolfin-git/) (see
below). How do I compile basix from source as a package for AUR? (I
use an Arch-derivative). Thanks.

==== Edit 1 (30/08/2021) ====
May be I should be more specific: to install with a PKGBUILD, one
needs to specify a temporary installation path which is later
compressed into an actual package. This path is independent of the
building path and part of it is stripped from file names during
compression (e.g. /my/pkg/usr/ becomes /usr). If you look at the link
which I provide above, you will find that I do:
```
_realname=basix
cmake -DCMAKE_BUILD_TYPE="Release" \
-B "${srcdir}"/build \
-S "${srcdir}"/"${_realname}" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_PREFIX_PATH="${srcdir}"/build \
-DXTENSOR_OPTIMIZE=TRUE \
-Dxtensor_DIR=\
"$(pacman -Ql xtensor |
awk '/xtensorConfig\.cmake/{print $NF}')"
cmake --build "${srcdir}"/build

# --- skipped lines ---

cd "${pkgdir}"
make -C "${srcdir}"/build DESTDIR="${pkgdir}" install

```
(${srcdir} is the folder where the git repository of basix lives)

The following error happens with the installation of dolfin-git (from
AUR). I suspect that my basix installation is wrong.
=== Edit 1 ends ===

```
CMake Error at CMakeLists.txt:290 (message):
Generation of form files failed:

Traceback (most recent call last):

File
"/build/dolfin-git/src/dolfin/cpp/cmake/scripts/generate-form-files.py", line
22, in <module>
from ffcx.main import main as ffcx_main
File "/usr/lib/python3.9/site-packages/ffcx/main.py", line 20, in <module>
from ffcx import compiler, formatting
File "/usr/lib/python3.9/site-packages/ffcx/compiler.py", line
71, in <module>
from ffcx.codegeneration.codegeneration import generate_code
File
"/usr/lib/python3.9/site-packages/ffcx/codegeneration/codegeneration.py", line
18, in <module>
from ffcx.codegeneration.expressions import generator as
expression_generator
File
"/usr/lib/python3.9/site-packages/ffcx/codegeneration/expressions.py",
line 12, in <module>
from ffcx.codegeneration.backend import FFCXBackend
File
"/usr/lib/python3.9/site-packages/ffcx/codegeneration/backend.py",
line 9, in <module>
from ffcx.codegeneration.access import FFCXBackendAccess
File
"/usr/lib/python3.9/site-packages/ffcx/codegeneration/access.py", line
13, in <module>
from ffcx.element_interface import create_element
File
"/usr/lib/python3.9/site-packages/ffcx/element_interface.py", line 3,
in <module>
import basix
File "/usr/lib/python3.9/site-packages/basix/__init__.py", line
9, in <module>
from ._basixcpp import __version__

ImportError:
/build/basix/pkg/fenics-basix-git/usr/lib/libbasix.so:
undefined symbol: cblas_ddot
```


-------------------------------------------------
This free account was provided by VFEmail.net - report spam to ab...@vfemail.net

ONLY AT VFEmail! - Use our Metadata Mitigator to keep your email out of the NSA's hands!
$24.95 ONETIME Lifetime accounts with Privacy Features!
15GB disk! No bandwidth quotas!
Commercial and Bulk Mail Options!

ed...@openmail.cc

unread,
Aug 30, 2021, 8:05:14 PM8/30/21
to fenics-...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages