Building the rigid body solver,reminder -undefined reference to `fftw_taint'

What I use is ubutun20.04 virtual machine system, according to the quick start tutorial (Quickstart | preCICE - The Coupling Library) precice website, however, in the case set, I build rigid solver

CD tutorials/quickstart/solid 
CPP cmake. && make

Ubutun gave me several error tips:

wanghaha@ubuntu:~/tutorials/quickstart/solid-cpp$ cmake . && make
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wanghaha/tutorials/quickstart/solid-cpp
[ 50%] Linking CXX executable rigid_body_solver
/usr/bin/ld: /lib/x86_64-linux-gnu/libfftw3_mpi.so.3: undefined reference to `fftw_taint'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfftw3_mpi.so.3: undefined reference to `fftw_join_taint'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/rigid_body_solver.dir/build.make:85:rigid_body_solver] 错误 1
make[1]: *** [CMakeFiles/Makefile2:76:CMakeFiles/rigid_body_solver.dir/all] 错误 2
make: *** [Makefile:84:all] 错误 2

When I run the solid-cpp. Ubutun gave me this hint,

wanghaha@ubuntu:~/tutorials/quickstart/solid-cpp$ ./run.sh
Unable to locate the executable ./rigid_body_solver. Have a look at the README for building instructions.

when I continued to follow the coupling simulation in the running tutorial:

cd tutorials/quickstart/fluid-openfoam
./run.sh

ubutun gave me this:

wanghaha@ubuntu:~$ cd tutorials/quickstart/fluid-openfoam
wanghaha@ubuntu:~/tutorials/quickstart/fluid-openfoam$ ./run.sh
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2206                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : _76d719d1e6-20220624 OPENFOAM=2206 version=v2206
Arch   : "LSB;label=32;scalar=64"
Exec   : blockMesh
Date   : Jul 24 2022
Time   : 20:53:35
Host   : ubuntu
PID    : 295907
I/O    : uncollated
Case   : /home/wanghaha/tutorials/quickstart/fluid-openfoam
nProcs : 1
trapFpe: Floating point exception trapping enabled (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 5, maxFileModificationPolls 20)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Creating block mesh from "system/blockMeshDict"
No non-linear block edges defined
No non-planar block faces defined
Creating topology blocks

Creating topology patches - from boundary section

Creating block mesh topology

Check topology

	Basic statistics
		Number of internal faces : 8
		Number of boundary faces : 32
		Number of defined boundary faces : 32
		Number of undefined boundary faces : 0
	Checking patch -> block consistency

Creating block offsets
Creating merge list (topological search)...
Deleting polyMesh directory "constant/polyMesh"

Creating polyMesh from blockMesh
Creating patches
Creating cells
Creating points with scale (1 1 1)
    Block 0 cell size :
        i : 0.01666666667 .. 0.01666666667
        j : 0.01 .. 0.01
        k : 0.2 .. 0.2

    Block 1 cell size :
        i : 0.01666666667 .. 0.01666666667
        j : 0.01 .. 0.01
        k : 0.2 .. 0.2

    Block 2 cell size :
        i : 0.01666666667 .. 0.01666666667
        j : 0.01 .. 0.01
        k : 0.2 .. 0.2

    Block 3 cell size :
        i : 0.01428571429 .. 0.01428571429
        j : 0.01 .. 0.01
        k : 0.2 .. 0.2

    Block 4 cell size :
        i : 0.01428571429 .. 0.01428571429
        j : 0.01 .. 0.01
        k : 0.2 .. 0.2

    Block 5 cell size :
        i : 0.0091669431 .. 0.0366677724
        j : 0.01 .. 0.01
        k : 0.2 .. 0.2

    Block 6 cell size :
        i : 0.0091669431 .. 0.0366677724
        j : 0.01 .. 0.01
        k : 0.2 .. 0.2

    Block 7 cell size :
        i : 0.0091669431 .. 0.0366677724
        j : 0.01 .. 0.01
        k : 0.2 .. 0.2


There are no merge patch pairs

Writing polyMesh with 0 cellZones
----------------
Mesh Information
----------------
  boundingBox: (-0.2 -0.13 -0.1) (0.6 0.12 0.1)
  nPoints: 2418
  nCells: 1122
  nFaces: 4575
  nInternalFaces: 2157
----------------
Patches
----------------
  patch 0 (start: 2157 size: 1122) name: back
  patch 1 (start: 3279 size: 1122) name: front
  patch 2 (start: 4401 size: 25) name: inlet
  patch 3 (start: 4426 size: 25) name: outlet
  patch 4 (start: 4451 size: 32) name: flap
  patch 5 (start: 4483 size: 46) name: bottom
  patch 6 (start: 4529 size: 46) name: top

End

/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2206                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : _76d719d1e6-20220624 OPENFOAM=2206 version=v2206
Arch   : "LSB;label=32;scalar=64"
Exec   : pimpleFoam
Date   : Jul 24 2022
Time   : 20:53:35
Host   : ubuntu
PID    : 295912
I/O    : uncollated
Case   : /home/wanghaha/tutorials/quickstart/fluid-openfoam
nProcs : 1
trapFpe: Floating point exception trapping enabled (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 5, maxFileModificationPolls 20)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: displacementLaplacian
Applying motion to entire mesh
Selecting motion diffusion: quadratic
Selecting motion diffusion: inverseDistance
Selecting patchDistMethod meshWave

PIMPLE: no residual control data found. Calculations will employ 10 corrector loops

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting turbulence model type laminar
Selecting laminar stress model Stokes
No MRF models present

No finite volume options present
Constructing face velocity Uf

Courant Number mean: 0.01594387755 max: 0.7499999985
Courant Number mean: 0.01594387755 max: 0.7499999985

Starting time loop

forces forces:
    rho: rhoInf
    Freestream density (rhoInf) set to 10
    Not including porosity effects

---[preciceAdapter] Loaded the OpenFOAM-preCICE adapter - v1.1.0.
---[preciceAdapter] Reading preciceDict...
---[precice]  This is preCICE version 2.4.0
---[precice]  Revision info: no-info [Git failed/Not a repository]
---[precice]  Build type: Release (without debug log)
---[precice]  Configuring preCICE with configuration "../precice-config.xml"
---[precice]  I am participant "Fluid"
---[precice]  Setting up primary communication to coupling partner/s

I guess the rigid_body_solver.cpp file was not generated when the rigidbody solver was first built. However, I don’t know what is wrong. Please help me.

You correctly identified that the error is:

[ 50%] Linking CXX executable rigid_body_solver
/usr/bin/ld: /lib/x86_64-linux-gnu/libfftw3_mpi.so.3: undefined reference to `fftw_taint'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfftw3_mpi.so.3: undefined reference to `fftw_join_taint'

This is very strange, as rigid_body_solver does not have any external dependencies (adaprt from preCICE itself).

Do I understand correctly that you are using your own virtual machine and not the preCICE demo VM? What else is installed on that? Have you managed to run any other preCICE tutorial?

Thank you, Sir. I am using VMware virtual machine software. I think there may be a problem with my virtual machine configuration, I’m going to try to run other tutorial。
Thanks again for your guidance

I was able to run the QuickStart tutorial after reinstalling the virtual machine, and it was clear that this was my system problem.

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.