Error in FreeFEM 4.14 installation on Apple M3

Hello, I am trying to install FreeFEM v4.14 on my Mac (OS Sonoma 14.1 on M3 Max) and everything seems to compile successfully:

But when I do make -j16 check, 9 examples fail. The test-suite.log is attached for reference.
test-suite.log (53.5 KB)

Can someone please explain what the issue could be and how I can successfully install. Thanks.

Regards,
Kaela

I sorry, I have compile freefem 4.14 under ventura, and the version work!
I can not say something , but on sonoma I have big problem with fortran.

Can you launch a buggus case under lldb to see where is the problem (in with library).

Deinstall GSL and it will work alright.

Hi prj,

I tried that, and tried reinstalling the FreeFem dependencies and redoing the the FF compilation:

but now I keep getting this error when I do make -j16

My initial thought is that the issue might be a library linking problem, because I see ld: warning: dylib (/usr/local/ff-petsc/r/lib/libparpack.dylib) was built for newer macOS version (14.1) than being linked (14.0) when I make petsc-slepc. So I tried including the argument cflags=-mmacosx-version-min=14.0 (based on what I saw on other online forums) in the configuration, but that doesn’t work. I’ve attached my config.log for reference.

Please advise. Thanks.

Hi prj & Frédéric,

I solved the issue I had installing my FF on Mac OS Sonoma (14.1), and thought it good to share here for anyone who might have a similar issue (and perhaps something for the FF dev team to look into).

As previously mentioned, I had multiple library linking warnings when trying to ‘make’ FF, then failure. Upon further investigation, the root of the issue seems to be the new Xcode 15 linker (Xcode 15 Release Notes | Apple Developer Documentation). I modified the FF Makefile to set the linker to the classic linker (LDFLAGS = -ld_classic) instead of the new default Xcode linker. Apparently you can also use the flag -ld64 to request the classic linker.

The FF build was successful and passed the make checks after this adjustment. The linker still prints many warnings but they are harmless. This modification might be important because older versions of Xcode cannot run on macOS Sonoma, so you don’t have much of a choice if your computer is new.

Hope this helps someone.
Kaela.

You need to use this flag (LDFLAGS=-Wl,-ld_classic) since Xcode 15. It was supposed to be fixed by Apple in version 15.1, but it still isn’t. Maybe it will be OK with Xcode 15.2 (which beta was released this December).