You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copying the produced binary (cp sanitycheckf sanitycheckf2 && cp sanitycheckf2 sanitycheckf) makes the problem go away. Downgrading to an older cctools version also made the problem go away.
The text was updated successfully, but these errors were encountered:
Just to be clear, my test with clang was a symlink to arm64-apple-darwin0.0.0-clang from conda-forge. But it seems that the problem is not the compiler, but the ld64 linker as @rgommers points out on the feedstock issue that downgrading ld64 specifically fixes the problem.
See #118, but the problem is triggered when mmap is used which is triggered when either (a) the output file exists (but is deleted!) or (b) a path (relative or absolute) is specified. I tested this and everything seems to work fine.
With the latest build of
cctools
in conda-forge, using Clang or GFortran with an absolute path to the output target results in a broken binary.Here is a simple reproducer for Fortran code. With a test file
sanitycheckf.f90
:And using the
arm64-apple-darwin20.0.0-gfortran
compiler, I see the following on an arm64 Macbook:Showing that a simple absolute path is enough to trigger the problem.
On conda-forge/cctools-and-ld64-feedstock#50 (comment) @erykoff observed the same issue with a hello world C program and Clang.
Copying the produced binary (
cp sanitycheckf sanitycheckf2 && cp sanitycheckf2 sanitycheckf
) makes the problem go away. Downgrading to an oldercctools
version also made the problem go away.The text was updated successfully, but these errors were encountered: