Skip to content

Running on Docker (macOS) and Documentation? #21

Description

@mabbamOG

So I tried to run on docker because I saw that macOS compilation is not yet supported.
I used the default ubuntu image, and installed git/make/g++/libomp-dev/googletest

Compilation for the main program worked fine, but the test compilation failed with:

root@bfff62d9f495:/home/libSTARK# make -j8 tests
make -C /home/libSTARK/algebra/FFT  BLDDIR=/home/libSTARK/bin/fft
make -C /home/libSTARK/algebra/algebralib \
BLDDIR=/home/libSTARK/bin/algebralib FFTINC=/home/libSTARK/algebra/FFT/src
make -C /home/libSTARK/libstark \
BLDDIR=/home/libSTARK/bin/libstark \
FFTINC=/home/libSTARK/algebra/FFT/src		\
ALGEBRAINC=/home/libSTARK/algebra/algebralib/headers
make -C /home/libSTARK/tinyram/gadgetlib/gadgetlib						\
GADGETINC=/home/libSTARK/tinyram/gadgetlib/gadgetlib/. \
ALGEBRAINC=/home/libSTARK/algebra/algebralib/headers 				\
ALGEBRALIBLINKDIR=/home/libSTARK/bin/algebralib				\
FFTLIBLNKDIR=/home/libSTARK/bin/fft	\
FFTINC=/home/libSTARK/algebra/FFT FFTLIBLNKDIR=/home/libSTARK/bin/fft		\
BLDDIR=/home/libSTARK/bin/gadgetlib
make[1]: Entering directory '/home/libSTARK/algebra/FFT'
make[1]: Entering directory '/home/libSTARK/algebra/algebralib'
make[1]: Entering directory '/home/libSTARK/libstark'
make[1]: Entering directory '/home/libSTARK/tinyram/gadgetlib/gadgetlib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/libSTARK/tinyram/gadgetlib/gadgetlib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/libSTARK/algebra/FFT'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/libSTARK/algebra/algebralib'
make -C /home/libSTARK/algebra/algebralib-tests		\
	ALGEBRAINC=/home/libSTARK/algebra/algebralib/headers\
	FFTINC=/home/libSTARK/algebra/FFT/src			\
	ALGEBRALNKDIR=/home/libSTARK/bin/algebralib	\
	FFTLIBLNKDIR=/home/libSTARK/bin/fft			\
	BLDDIR=/home/libSTARK/bin/algebralib-tests
make[1]: Entering directory '/home/libSTARK/algebra/algebralib-tests'
Building target: /home/libSTARK/bin/algebralib-tests/algebralib_tests
Invoking: GCC Linker
g++ -o "/home/libSTARK/bin/algebralib-tests/algebralib_tests" /home/libSTARK/bin/algebralib-tests/CircuitPolynomial_UTEST.o /home/libSTARK/bin/algebralib-tests/FFT_UTEST.o /home/libSTARK/bin/algebralib-tests/FieldElement_UTEST.o /home/libSTARK/bin/algebralib-tests/LinearPolynomial_UTEST.o /home/libSTARK/bin/algebralib-tests/LinearizedPolynomials_UTEST.o /home/libSTARK/bin/algebralib-tests/SelectorSum_UTEST.o /home/libSTARK/bin/algebralib-tests/UnivariatePolynomialGeneral_UTEST.o /home/libSTARK/bin/algebralib-tests/main.o /home/libSTARK/bin/algebralib-tests/variable_UTEST.o -fopenmp -L"/home/libSTARK/bin/algebralib" -L"/home/libSTARK/bin/fft" -lgomp -lalgebralib -lgtest -lFFT
for dir in ./src/languages/Acsp ./src/languages/Bair ./src/protocols/Fri/verifier_details ./src/protocols/Fri ./src/protocols/Fri/common ./src/protocols ./src/protocols/common/CryptoCommitment ./src/protocols/common ./src/protocols/Ali/verifier_details ./src/protocols/Ali/common_details ./src/protocols/Ali ./src/common/Algebra ./src/common/Infrastructure ./src/common/Utils ./src/reductions/BairToAcsp/Details ./src/reductions/BairToAcsp/Routing ./src/reductions/BairToAcsp; do mkdir -p /home/libSTARK/bin/libstark/obj/$dir; done
ar -r  "/home/libSTARK/bin/libstark/libstark.a" /home/libSTARK/bin/libstark/obj/src/languages/Acsp/AcspWitnessChecker.o /home/libSTARK/bin/libstark/obj/src/languages/Bair/ConstraintsSys.o /home/libSTARK/bin/libstark/obj/src/languages/Bair/BairWitnessChecker.o /home/libSTARK/bin/libstark/obj/src/protocols/Fri/verifier_details/queryGenerator.o /home/libSTARK/bin/libstark/obj/src/protocols/Fri/verifier.o /home/libSTARK/bin/libstark/obj/src/protocols/Fri/prover.o /home/libSTARK/bin/libstark/obj/src/protocols/Fri/common/common.o /home/libSTARK/bin/libstark/obj/src/protocols/protocol.o /home/libSTARK/bin/libstark/obj/src/protocols/common/CryptoCommitment/MerkleCommitment.o /home/libSTARK/bin/libstark/obj/src/protocols/common/proofs.o /home/libSTARK/bin/libstark/obj/src/protocols/common/verifier.o /home/libSTARK/bin/libstark/obj/src/protocols/Ali/verifier_details/queriesGen.o /home/libSTARK/bin/libstark/obj/src/protocols/Ali/common_details/common.o /home/libSTARK/bin/libstark/obj/src/protocols/Ali/verifier.o /home/libSTARK/bin/libstark/obj/src/protocols/Ali/prover.o /home/libSTARK/bin/libstark/obj/src/common/Algebra/ShiftedSubspacePolynomial.o /home/libSTARK/bin/libstark/obj/src/common/Algebra/MultiVarPoly.o /home/libSTARK/bin/libstark/obj/src/common/Algebra/LinearSpace.o /home/libSTARK/bin/libstark/obj/src/common/Infrastructure/Infrastructure.o /home/libSTARK/bin/libstark/obj/src/common/Utils/specsPrint.o /home/libSTARK/bin/libstark/obj/src/common/Utils/ErrorHandling.o /home/libSTARK/bin/libstark/obj/src/common/Utils/Timing.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/neighborsConstructor.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/spaces.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/AcspSummandsPolynomial.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/constraints.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/witnessMappings.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/witnessReduction.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/commonMappings.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/constraintSystemsTestLocations.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/commonDeffinitions.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/instanceMappings.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/TandemNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/LongDeBruijnPermutationNet.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/BenesNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/BtrflyBasedPermutation.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/DeBruijnPermutationNet.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/FoldNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/PermutationRoutingNet.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/LongSymmetricDeBruijnNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/SymmetricDeBruijnNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/BitReverseButterfliesNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/BairToAcsp.o 
/usr/bin/ld: cannot find -lgtest
collect2: error: ld returned 1 exit status
Makefile:36: recipe for target '/home/libSTARK/bin/algebralib-tests/algebralib_tests' failed
make[1]: *** [/home/libSTARK/bin/algebralib-tests/algebralib_tests] Error 1
make[1]: Leaving directory '/home/libSTARK/algebra/algebralib-tests'
Makefile:108: recipe for target 'algebralib-tests' failed
make: *** [algebralib-tests] Error 2
make: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/libSTARK/libstark'

So, I cannot run the tests, even on linux.
Also, is there any documentation on how to use this library?
The test files are huge and without any documentation it's really hard to try and use lobsterk for any PoC.
I was hoping to build an protocol using stark as basis for the CI proofs

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions