Argennon-Project / ascee

C++ implementation of the Argennon smart contract execution environment (AscEE)
http://argennon.org
GNU Affero General Public License v3.0
6 stars 2 forks source link

Build Failure on M1 #1

Closed codemaster138 closed 2 years ago

codemaster138 commented 2 years ago

I followed the instructions in the README precisely, but sadly the command cmake --build . throws the following error:

...
[  1%] Building CXX object src/storage/CMakeFiles/asa.dir/PageLoader.cpp.o
In file included from /Users/jake/Desktop/projects/oss/argennon/ascee/src/storage/PageLoader.cpp:18:
In file included from /Users/jake/Desktop/projects/oss/argennon/ascee/src/storage/PageLoader.h:22:
/Users/jake/Desktop/projects/oss/argennon/ascee/include/arg/primitives.h:36:9: error: __float128 is not supported on this target
typedef __float128 float128;
        ^
/Users/jake/Desktop/projects/oss/argennon/ascee/include/arg/primitives.h:53:31: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
        sprintf(buf, "0x%lx", id);
                        ~~~   ^~
                        %llx
/Users/jake/Desktop/projects/oss/argennon/ascee/include/arg/primitives.h:71:34: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
        sprintf(buf, "%lx::%lx", uint64_t(id >> 64), uint64_t(id));
                      ~~~        ^~~~~~~~~~~~~~~~~~
                      %llx
/Users/jake/Desktop/projects/oss/argennon/ascee/include/arg/primitives.h:71:54: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
        sprintf(buf, "%lx::%lx", uint64_t(id >> 64), uint64_t(id));
                           ~~~                       ^~~~~~~~~~~~
                           %llx
3 warnings and 1 error generated.
make[2]: *** [src/storage/CMakeFiles/asa.dir/PageLoader.cpp.o] Error 1
make[1]: *** [src/storage/CMakeFiles/asa.dir/all] Error 2
make: *** [all] Error 2

There are 3 warnings, which I'll just give you the benefit of the doubt and ignore, but one fatal error: "__float128 is not supported on this target"

Presumably, this is some issue with M1's ARM architecture, but that's just a guess...

Operating System Device CPU Memory Commit
MacOS Monterey 12.0.1 Macbook Pro (13-inch, M1, 2020) Apple M1 16GB 6677c76

Hopefully you can resolve the error!

aybehrouz commented 2 years ago

I'd never tried to build the project on MacOS. However, that was very good to know. Actually __float128 is not used in the code. Could you re-clone the project and test it again?

aybehrouz commented 2 years ago

For now, we will focus on Linux.