nemo icon indicating copy to clipboard operation
nemo copied to clipboard

falcON does not compile on MacOSX

Open jcldc opened this issue 3 years ago • 4 comments

I fixed some compilation issues about falcON on macos platform (g++ and clang++), and removed again compilations warning.

The pb was coming from error and warning functions both declared in NEMO and clang/glibc and causing linking failures.

see falcON_compile branch

jcldc avatar Oct 14 '22 15:10 jcldc

I have a Catalina (10.15.x) running, but haven't seen any issues with gyrfalcON. Perhaps an older clang version.

teuben avatar Oct 24 '22 19:10 teuben

Actually gyrfalcON was compiling correctly before the modification, but not the ${NEMO}/usr/dehnen/falcON/src/public/acc manipulators. The reason is because warning and error functions are called from <defacc.h> and if you don't include <stdinc.h> before <defacc.h>, clang give an error message during the link, because warnings and error are also defined in clang library !!!! When you install nemo using install_nemo script, gyrfalcON can be compiled but not these acc manipulators, at least from my macosx Sierra version. Could you check that you have *.so files in ${NEMO}/usr/dehnen/falcON/acc, like this :

(base) mac-compile:acc grunner$ pwd
/Users/grunner/works/GIT/nemo/usr/dehnen/falcON/acc
(base) mac-compile:acc grunner$ ll
total 1440
drwxr-xr-x  18 grunner  staff   576B 17 oct 14:39 .
drwxr-xr-x  23 grunner  staff   736B 17 oct 14:39 ..
-rw-r--r--   1 grunner  staff     0B 17 oct 14:39 .dummy
-rwxr-xr-x   1 grunner  staff    65K 17 oct 14:39 Combined.so
-rwxr-xr-x   1 grunner  staff    23K 17 oct 14:39 Dehnen.so
-rwxr-xr-x   1 grunner  staff    24K 17 oct 14:39 DehnenMcLaughlin.so
-rwxr-xr-x   1 grunner  staff    95K 17 oct 14:39 DiscPot.so
-rwxr-xr-x   1 grunner  staff   105K 17 oct 14:39 GalPot.so
-rwxr-xr-x   1 grunner  staff    82K 17 oct 14:39 Halo.so
-rwxr-xr-x   1 grunner  staff    24K 17 oct 14:39 LogPot.so
-rwxr-xr-x   1 grunner  staff    20K 17 oct 14:39 MiyamotoNagai.so
-rwxr-xr-x   1 grunner  staff    75K 17 oct 14:39 Monopole.so
-rwxr-xr-x   1 grunner  staff    23K 17 oct 14:39 NFW.so
-rwxr-xr-x   1 grunner  staff    19K 17 oct 14:39 Plummer.so
-rwxr-xr-x   1 grunner  staff    23K 17 oct 14:39 Point.so
-rwxr-xr-x   1 grunner  staff    29K 17 oct 14:39 PotExp.so
-rwxr-xr-x   1 grunner  staff    71K 17 oct 14:39 Shrink.so
-rwxr-xr-x   1 grunner  staff    23K 17 oct 14:39 SoftKernel.so

jcldc avatar Oct 24 '22 19:10 jcldc

sounds like I need to add a regression test for this.

ugh, fish memory, the "make check" will do all the acc/manip tests of the dehnen code under "src/nbody/evolve/dehnen" entry.

teuben avatar Oct 24 '22 20:10 teuben

Indeed,my Catalina does not have them. They are formally copied in $NEMOOBJ/acc, which is also non-existent on my mac.

teuben avatar Oct 24 '22 20:10 teuben