Meson does not correctly handle ifx when linking to a dynamic library, which results in segmentation fault.
To Reproduce
My goal is to interface this library, written in C but which provides a Fortran interface, with a Fortran code.
To reproduce that bug, you need ifx, the new fortran compiler of Intel (available alongside MKL and others). In fact, when using gfortran, it works correctly ^^
Files from this repository provide a correct minimal example:
# download files
wget https://github.com/pierre-24/libcint-meson/raw/main/for-tests/test_meson_fortran/main.f90
wget https://github.com/pierre-24/libcint-meson/raw/main/for-tests/test_meson_fortran/meson.build
# subproject for the library
mkdir subprojects
wget https://github.com/pierre-24/libcint-meson/releases/download/v0.3.0/libcint_v6.1.2.wrap -O subprojects/libcint.wrap
Now, if I build the project and execute the code, it results in a segmentation fault:
Then the result a.out runs smoothly (a bunch of numbers with a lot of zeros, if any). So there is something in the build process that prevents from the library and my program to interact correctly.
Again, note that this problem is specific to ifx, and that the whole thing works correctly with gfortran, so I guess there is an option there that ifx does not likes or interpret differently :)
Describe the bug
Meson does not correctly handle
ifx
when linking to a dynamic library, which results in segmentation fault.To Reproduce
My goal is to interface this library, written in C but which provides a Fortran interface, with a Fortran code.
To reproduce that bug, you need
ifx
, the new fortran compiler of Intel (available alongside MKL and others). In fact, when usinggfortran
, it works correctly ^^Files from this repository provide a correct minimal example:
Now, if I build the project and execute the code, it results in a segmentation fault:
For example, I get:
Now, what is funny is that if I simply do:
Then the result
a.out
runs smoothly (a bunch of numbers with a lot of zeros, if any). So there is something in the build process that prevents from the library and my program to interact correctly.Again, note that this problem is specific to
ifx
, and that the whole thing works correctly withgfortran
, so I guess there is an option there thatifx
does not likes or interpret differently :)Let me know if you need something else.
Expected behavior
The full build results in a working executable.
system parameters