relic-toolkit / relic

Code
Other
452 stars 179 forks source link

can not deduce the macro WSIZE on Apple M2 #270

Closed phoenix20162016 closed 1 year ago

phoenix20162016 commented 1 year ago

tar -zxvf relic-0.6.0.tar.gz cd relic-0.6.0 mkdir build cd build cmake .. make

then, THE error occurs as follows: n file included from /Users/cuibo/workspace/relic-0.6.0/src/relic_err.c:37: In file included from /Users/cuibo/workspace/relic-0.6.0/include/relic_core.h:44: In file included from /Users/cuibo/workspace/relic-0.6.0/include/relic_err.h:43: In file included from /Users/cuibo/workspace/relic-0.6.0/include/relic_util.h:39: In file included from /Users/cuibo/workspace/relic-0.6.0/include/relic_arch.h:39: /Users/cuibo/workspace/relic-0.6.0/include/relic_types.h:43:32: error: invalid token at start of a preprocessor expression

if defined(_MSC_VER) && WSIZE == 64

                           ^

/Users/cuibo/workspace/relic-0.6.0/include/relic_types.h:59:5: error: expected value in expression

if RLC_DIG == 8

^

/Users/cuibo/workspace/relic-0.6.0/include/relic_types.h:54:25: note: expanded from macro 'RLC_DIG'

define RLC_DIG (WSIZE)

                                  ^

/Users/cuibo/workspace/relic-0.6.0/include/relic_types.h:61:7: error: expected value in expression

elif RLC_DIG == 16

  ^

/Users/cuibo/workspace/relic-0.6.0/include/relic_types.h:54:25: note: expanded from macro 'RLC_DIG'

define RLC_DIG (WSIZE)

the definication of WSIZE is EMPTY in file relic_conf.h which is deduce from relic_conf.h.in image

one of way to workaroud is to define WSIZE manually cmake -DWSIZE=64 ..

dfaranha commented 1 year ago

I have improved the configuration with 308f100d227126503dbd3adee67b1f22b2543a4c, hope it fixes it!

phoenix20162016 commented 1 year ago

thanks for the fix commit, it does work well on mac M2, but unfortunately, another error was brought in on aarch64 platform of linux Linux ecs-5b84 4.15.0-70-generic #79-Ubuntu SMP Tue Nov 12 10:36:10 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux

the detail of error message are as follows: cc: error: unrecognized command line option ‘-m64’ cc: error: unrecognized command line option ‘-m64’ cc: error: unrecognized command line option ‘-m64’ src/CMakeFiles/relic.dir/build.make:75: recipe for target 'src/CMakeFiles/relic.dir/relic_err.c.o' failed make[2]: [src/CMakeFiles/relic.dir/relic_err.c.o] Error 1 make[2]: Waiting for unfinished jobs.... src/CMakeFiles/relic.dir/build.make:89: recipe for target 'src/CMakeFiles/relic.dir/relic_core.c.o' failed make[2]: *** [src/CMakeFiles/relic.dir/relic_core.c.o] Error 1 cc: error: unrecognized command line option ‘-m64’

hopes to fix it, thanks

dfaranha commented 1 year ago

I just committed another attempt to fix it.

phoenix20162016 commented 1 year ago

now, everything goes well, thanks for quick response