Comments (1)
Some additional insight:
Command to build a circuit in main (as seen by adding VERBOSE=1 to build command: VERBOSE=1 cmake --build ./build --target template
):
cd /opt/circuit/build/src && clang -target assigner -Xclang -no-opaque-pointers -Xclang -fpreserve-vec3-type -std=c++20 -D__ZKLLVM__ -I/opt/circuit/libs/crypto3/libs/algebra/include -I/opt/circuit/build/include -I/opt/boost_1_76_0/include -I -I/opt/circuit/libs/crypto3/libs/block/include -I/opt/boost_1_76_0/include -I/opt/circuit/libs/crypto3/libs/codec/include -I/opt/circuit/libs/crypto3/libs/containers/include -I/opt/circuit/libs/crypto3/libs/hash/include -I/opt/circuit/libs/crypto3/libs/kdf/include -I/opt/circuit/libs/crypto3/libs/mac/include -I/opt/circuit/libs/crypto3/libs/marshalling/core/include -I/opt/circuit/libs/crypto3/libs/marshalling/algebra/include -I/opt/circuit/libs/crypto3/libs/marshalling/multiprecision/include -I/opt/circuit/libs/crypto3/libs/marshalling/zk/include -I/opt/circuit/libs/crypto3/libs/math/include -I/opt/circuit/libs/crypto3/libs/modes/include -I/opt/circuit/libs/crypto3/libs/multiprecision/include -I/opt/circuit/libs/crypto3/libs/passhash/include -I/opt/circuit/libs/crypto3/libs/pbkdf/include -I/opt/circuit/libs/crypto3/libs/pkmodes/include -I/opt/circuit/libs/crypto3/libs/pkpad/include -I/opt/circuit/libs/crypto3/libs/pubkey/include -I/opt/circuit/libs/crypto3/libs/random/include -I/opt/circuit/libs/crypto3/libs/stream/include -I/opt/circuit/libs/crypto3/libs/vdf/include -I/opt/circuit/libs/crypto3/libs/zk/include -I/opt/circuit/src -emit-llvm -O1 -S -o lido_accounting_circuit.ll /opt/circuit/src/circuit.cpp
Command to build tests:
cd /opt/circuit/build/test && /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_CONTAINER_DYN_LINK -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_TEST_DYN_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1 -DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK -DCRYPTO3_CODEC_BASE58 -DCRYPTO3_HAS_AVX2 -DCRYPTO3_HAS_CHACHA_AVX2 -DCRYPTO3_HAS_RIJNDAEL_NI -DCRYPTO3_VDF_BOOST -I/opt/circuit/test -I/opt/circuit/src -I/opt/circuit/libs/crypto3/libs/algebra/include -I/opt/circuit/build/include -I/opt/circuit/libs/crypto3/libs/hash/include -I/opt/circuit/libs/crypto3/libs/multiprecision/include -I/opt/circuit/libs/crypto3/libs/marshalling/algebra/include -I/opt/circuit/libs/crypto3/libs/marshalling/multiprecision/include -I/opt/circuit/libs/crypto3/libs/marshalling/core/include -I/opt/circuit/libs/crypto3/libs/block/include -I/opt/circuit/libs/crypto3/libs/codec/include -I/opt/circuit/libs/crypto3/libs/containers/include -I/opt/circuit/libs/crypto3/libs/kdf/include -I/opt/circuit/libs/crypto3/libs/mac/include -I/opt/circuit/libs/crypto3/libs/modes/include -I/opt/circuit/libs/crypto3/libs/marshalling/zk/include -I/opt/circuit/libs/crypto3/libs/zk/include -I/opt/circuit/libs/crypto3/libs/math/include -I/opt/circuit/libs/crypto3/libs/pubkey/include -I/opt/circuit/libs/crypto3/libs/pkpad/include -I/opt/circuit/libs/crypto3/libs/passhash/include -I/opt/circuit/libs/crypto3/libs/pbkdf/include -I/opt/circuit/libs/crypto3/libs/pkmodes/include -I/opt/circuit/libs/crypto3/libs/random/include -I/opt/circuit/libs/crypto3/libs/stream/include -I/opt/circuit/libs/crypto3/libs/vdf/include -isystem /opt/boost_1_76_0/include -O3 -DNDEBUG -fconstexpr-ops-limit=4294967295 -mavx2 -maes -mpclmul -mssse3 -O3 -fno-rtti -std=gnu++20 -MD -MT test/CMakeFiles/lib_test.dir/lib.cpp.o -MF CMakeFiles/lib_test.dir/lib.cpp.o.d -o CMakeFiles/lib_test.dir/lib.cpp.o -c /opt/circuit/test/lib.cpp
Note:
- Different compilers - "main" build uses clang, "test" build uses c++
- Main sets
__ZKLLVM__
definition, while tests do not - and it is used throughout crypto3 (e.g. this place in crypto3::hash might be directly relevant)
from zkllvm-template.
Related Issues (20)
- No rule to make target 'zkllvm_zkllvm'. HOT 7
- Introduce compliancy with toolchain-based configuration.
- macOS-based deployment usage cannot find CircuitCompile.cmake
- Tutorial: describe the local proving workflow
- CI: make & prove a statement, verify a proof
- Tutorial: describe the local proving workflow HOT 1
- Tutorial: describe the Proof Market interaction workflow HOT 1
- Cannot test circuit based on sha256
- Failing to build circuits
- Pin the installed zkLLVM version
- ZKLLVM_VERSION: unbound variable HOT 3
- ☂️ Development workflow: EVM verifier
- Storage proof application example
- Add verification on EVM testsnet
- Extend readme with a revise step
- Run zkllvm CI in the zkllvm-template
- [build circuit params] elliptic curve type is not specified HOT 2
- Multiple recursion layers demo
- Crypto3-hash compilation bug
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zkllvm-template.