# Precicef\_set\_vertices type mismatch gnu

**URL:** <https://precice.discourse.group/t/precicef-set-vertices-type-mismatch-gnu/2556>\
**Category:** Using preCICE\
**Created:** [July 8, 2025, 10:47am UTC](https://precice.discourse.group/t/precicef-set-vertices-type-mismatch-gnu/2556 "2025-07-08T10:47:29Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![JaapWindt](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/jaapwindt/32/1994_2.png) [@JaapWindt](https://precice.discourse.group/u/JaapWindt)\
**Post date:** [July 8, 2025, 10:47am UTC](https://precice.discourse.group/t/precicef-set-vertices-type-mismatch-gnu/2556/1 "2025-07-08T10:47:29Z")

</div>

Dear all

I am trying precice v3.1.2 and v3.2.0. I am having trouble compiling an adapter to our CFD code (which worked with v2). Somehow the routine precicef\_set\_vertices is not accepted while compiling:

689 | CALL precicef\_set\_vertices(meshName, numberOfVertices, vertices, vertexIDs)  
| 1  
Error: Type mismatch in argument ‘meshid’ at (1); passed CHARACTER(50) to INTEGER(4)

I am using the gnu compiler.

The only CALL that works is

CALL precicef\_set\_vertices(meshOwnerID, numberOfVertices, vertices, vertexIDs)

but this is the old definition, so not what I expect if I study the API. To be clear, this is the only routine that does not work, I had to make changes to fit the adapter code to v3.

Has anyone seen this before?

best regards

Jaap

---

<div class="post-metadata">

**Author:** ![Ray\_Scarr](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/ray_scarr/32/980_2.png) [@Ray\_Scarr](https://precice.discourse.group/u/Ray_Scarr)\
**Post date:** [July 9, 2025, 3:59pm UTC](https://precice.discourse.group/t/precicef-set-vertices-type-mismatch-gnu/2556/2 "2025-07-09T15:59:25Z")

</div>

This could happen if you have a compiled module file in your build directory that was built from the v2.X version of the [preCICE bindings module](https://github.com/precice/fortran-module/blob/develop/precice.f90), and the compiler is finding that file when building your v3.X-capable CFD code instead of generating a new one from the 3.X bindings file. This module file is probably named `precice.mod`, and you probably have many other `*.mod` files as well. I advise deleting all of them and/or rebuilding your CFD code in a new, empty directory.

I would also double-check that the arguments to `precicef_set_vertices` in the source code of the v3.X bindings file you are using match those in the [official repository](https://github.com/precice/fortran-module/blob/11f98bd5a0c40c88ce0b32617ce34b204d582a77/precice.f90#L123).

---

<div class="post-metadata">

**Author:** ![JaapWindt](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/jaapwindt/32/1994_2.png) [@JaapWindt](https://precice.discourse.group/u/JaapWindt)\
**Post date:** [July 10, 2025, 8:52am UTC](https://precice.discourse.group/t/precicef-set-vertices-type-mismatch-gnu/2556/3 "2025-07-10T08:52:21Z")

</div>

Thank you for the information. Very helpful. I updated all source except the precice.f90 routine. I did not realize I had to do that. Now I understand where the precice.mod comes from. This explains why it did not work. I obtained the precice source code from [Release v3.2.0 · precice/precice · GitHub](https://github.com/precice/precice/releases/tag/v3.2.0)

Maybe a stupid question, but is there no v3.2.0 tag for the fortran module?

---

<div class="post-metadata">

**Author:** ![Ray\_Scarr](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/ray_scarr/32/980_2.png) [@Ray\_Scarr](https://precice.discourse.group/u/Ray_Scarr)\
**Post date:** [July 16, 2025, 6:07pm UTC](https://precice.discourse.group/t/precicef-set-vertices-type-mismatch-gnu/2556/4 "2025-07-16T18:07:51Z")

</div>

It looks like the Fortran bindings module has no tags at all. Whether it should, or if it should be a Git submodule of the main preCICE repository, I’ll leave to the lead maintainers.
