CMake Error at src/CMakeLists.txt:9 (string): string no output variable specified

999 views
Skip to first unread message

Wenyan Liu

unread,
Feb 21, 2017, 6:34:19 AM2/21/17
to relic-discuss
Hello, my friends.
I'm trying to CMake(3.8.0-rc1) relic-0.4.0 on Windows 7. But errors occured. I don't know what to do with it.
Could you please help me? Thanks a lot.

Here is the content from the console:

The C compiler identification is MSVC 19.0.24215.1

The CXX compiler identification is MSVC 19.0.24215.1

Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe

Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works

Detecting C compiler ABI info

Detecting C compiler ABI info - done

Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe

Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works

Detecting CXX compiler ABI info

Detecting CXX compiler ABI info - done

Detecting CXX compile features

Detecting CXX compile features - done


-- Configuring RELIC 0.4.0...

Available switches (default = CHECK, VERBS, DOCUM):

DEBUG=[off|on] Build with debugging support.

PROFL=[off|on] Build with profiling support.

CHECK=[off|on] Build with error-checking support.

VERBS=[off|on] Build with detailed error messages.

TRACE=[off|on] Build with tracing support.

OVERH=[off|on] Build with overhead estimation.

DOCUM=[off|on] Build documentation.

STRIP=[off|on] Build only selected algorithms.

QUIET=[off|on] Build with printing disabled.

COLOR=[off|on] Build with colored output.

BIGED=[off|on] Build with big-endian support.

SHLIB=[off|on] Build shared library.

STLIB=[off|on] Build static library.

STBIN=[off|on] Build static binaries.

Number of times each test or benchmark is ran (default = 50, 1000):

TESTS=n If n > 0, build automated tests and run them n times.

BENCH=n If n > 0, build automated benchmarks and run them n * n times.

Number of available processor cores (default = 1):

CORES=n If n > 1, please enable multithreading support.

Available modules (default = ALL)

WITH=BN Multiple precision arithmetic.

WITH=DV Temporary double-precision digit vectors.

WITH=FP Prime field arithmetic.

WITH=FPX Prime extension field arithmetic.

WITH=FB Binary field arithmetic.

WITH=EP Elliptic curves over prime fields.

WITH=EPX Elliptic curves over quadratic extensions of prime fields.

WITH=EB Elliptic curves over binary fields.

WTTH=EC Elliptic curve cryptography.

WITH=PB Pairings over binary elliptic curves.

WITH=PP Pairings over prime elliptic curves.

WTTH=PC Pairing-based cryptography.

WITH=BC Block ciphers (symmetric encryption).

WITH=MD Message digests (hash functions).

WITH=CP Cryptographic protocols.

WITH=ALL All of the above.

Note: the programmer is responsible for not using unselected modules.

Available arithmetic backends (default = easy):

ARITH=easy Easy-to-understand implementation.

ARITH=gmp GNU Multiple Precision library.

Available memory-allocation policies (default = AUTO):

ALLOC=AUTO All memory is automatically allocated.

ALLOC=STATIC All memory is allocated statically once.

ALLOC=DYNAMIC All memory is allocated dynamically on demand.

ALLOC=STACK All memory is allocated from the stack.

Supported operating systems (default = LINUX):

OPSYS=NONE Undefined/No operating system.

OPSYS=LINUX GNU/Linux operating system.

OPSYS=FREEBSD FreeBSD operating system.

OPSYS=MACOSX Mac OS X operating system.

OPSYS=WINDOWS Windows operating system.

OPSYS=DROID Android operating system.

OPSYS=DUINO Arduino platform.

Supported multithreading APIs.

MULTI=OPENMP Open Multi-Processing.

MULTI=PTHREAD POSIX threads.

Supported timers (default = HPROC):

TIMER=NONE No timer.

TIMER=HREAL GNU/Linux realtime high-resolution timer.

TIMER=HPROC GNU/Linux per-process high-resolution timer.

TIMER=HTHRD GNU/Linux per-thread high-resolution timer.

TIMER=ANSI ANSI-compatible timer.

TIMER=POSIX POSIX-compatible timer.

TIMER=CYCLE Cycle-counting timer. (architecture-dependant)

Prefix to identify this build of the library (default = ""):

LABEL=relic

Available architectures (default = X64):

ARCH=AVR Atmel AVR ATMega128 8-bit architecture.

ARCH=MSP TI MSP430 16-bit architecture.

ARCH=ARM ARM 32-bit architecture.

ARCH=X86 Intel x86-compatible 32-bit architecture.

ARCH=X64 AMD x86_64-compatible 64-bit architecture.

ARCH=NONE No specific architecture (disable some features).

Available word sizes (default = 64):

WORD=8 Build a 8-bit library.

WORD=16 Build a 16-bit library.

WORD=32 Build a 32-bit library.

WORD=64 Build a 64-bit library.

Byte boundary to align digit vectors (default = 1):

ALIGN=1 Do not align digit vectors.

ALIGN=2 Align digit vectors into 16-bit boundaries.

ALIGN=8 Align digit vectors into 64-bit boundaries.

ALIGN=16 Align digit vectors into 128-bit boundaries.

Multiple precision arithmetic configuration (BN module):


** Options for the multiple precision module (default = 1024,DOUBLE,0):

BN_PRECI=n The base precision in bits. Let w be n in words.

BN_MAGNI=DOUBLE A multiple precision integer can store 2w words.

BN_MAGNI=CARRY A multiple precision integer can store w+1 words.

BN_MAGNI=SINGLE A multiple precision integer can store w words.

BN_KARAT=n The number of Karatsuba steps.

** Available multiple precision arithmetic methods (default = COMBA;COMBA;MONTY;SLIDE;STEIN;BASIC):

BN_METHD=BASIC Schoolbook multiplication.

BN_METHD=COMBA Comba multiplication.

BN_METHD=BASIC Schoolbook squaring.

BN_METHD=COMBA Comba squaring.

BN_METHD=MULTP Reuse multiplication for squaring.

BN_METHD=BASIC Division-based modular reduction.

BN_METHD=BARRT Barrett modular reduction.

BN_METHD=MONTY Montgomery modular reduction.

BN_METHD=RADIX Diminished radix modular reduction.

BN_METHD=BASIC Binary modular exponentiation.

BN_METHD=MONTY Montgomery powering ladder.

BN_METHD=SLIDE Sliding window modular exponentiation.

BN_METHD=BASIC Euclid's standard GCD algorithm.

BN_METHD=LEHME Lehmer's fast GCD algorithm.

BN_METHD=STEIN Stein's binary GCD algorithm.

BN_METHD=BASIC Basic prime generation.

BN_METHD=SAFEP Safe prime generation.

BN_METHD=STRON Strong prime generation.

Note: these methods must be given in order. Ex: BN_METHD="K1BASIC;COMBA;BARRT;CONST;SAFEP"

Prime field arithmetic configuration (FP module):


** Arithmetic precision of the prime field module (default = 256,0,off,off):

FP_PRIME=n The prime modulus size in bits.

FP_KARAT=n The number of Karatsuba levels.

FP_PMERS=[off|on] Prefer Pseudo-Mersenne primes over random primes.

FP_QNRES=[off|on] Use -1 as quadratic non-residue (make sure that p = 3 mod 8).

FP_WIDTH=w Width w in [2,6] of window processing for exponentiation methods.

** Available prime field arithmetic methods (default = BASIC;COMBA;COMBA;MONTY;MONTY;SLIDE):

FP_METHD=BASIC Schoolbook addition.

FP_METHD=INTEG Integrated modular addition.

FP_METHD=BASIC Schoolbook multiplication.

FP_METHD=INTEG Integrated modular multiplication.

FP_METHD=COMBA Comba multiplication.

FP_METHD=BASIC Schoolbook squaring.

FP_METHD=INTEG Integrated modular squaring.

FP_METHD=COMBA Comba squaring.

FP_METHD=MULTP Reuse multiplication for squaring.

FP_METHD=BASIC Division-based reduction.

FP_METHD=QUICK Fast reduction modulo special form prime (2^t - c, c > 0).

FP_METHD=MONTY Montgomery modular reduction.

FP_METHD=BASIC Inversion by Fermat's Little Theorem.

FP_METHD=BINAR Binary Inversion algorithm.

FP_METHD=MONTY Mntgomery inversion.

FP_METHD=EXGCD Inversion by the Extended Euclidean algorithm.

FP_METHD=LOWER Pass inversion to the lower level.

FP_METHD=BASIC Binary exponentiation.

FP_METHD=SLIDE Sliding window exponentiation.

FP_METHD=MONTY Constant-time Montgomery powering ladder.

Note: these methods must be given in order. Ex: FP_METHD="BASIC;BASIC;COMBA;MONTY;MONTY;SLIDE"

Prime extension field arithmetic configuration (FPX module):


** Available bilinear pairing methods (default = BASIC;BASIC;BASIC):

FPX_METHD=BASIC Basic quadratic extension field arithmetic.

FPX_METHD=INTEG Quadratic extension field arithmetic with embedded modular reduction.

FPX_METHD=BASIC Basic cubic extension field arithmetic.

FPX_METHD=INTEG Cubic extension field arithmetic with embedded modular reduction.

FPX_METHD=BASIC Basic extension field arithmetic.

FPX_METHD=LAZYR Lazy reduced extension field arithmetic.

Binary field arithmetic configuration (FB module):


** Options for the binary elliptic curve module (default = 283,0,on,on,on):

FB_POLYN=n The irreducible polynomial size in bits.

FB_KARAT=n The number of Karatsuba levels.

FB_TRINO=[off|on] Prefer trinomials.

FB_SQRTF=[off|on] Prefer square-root friendly polynomials.

FB_PRECO=[off|on] Precompute multiplication table for sqrt(z).

FB_WIDTH=w Width w in [2,6] of window processing for exponentiation methods.

** Available binary field arithmetic methods (default = LODAH;TABLE;QUICK;BASIC;QUICK;QUICK;EXGCD;SLIDE;QUICK):

FB_METHD=BASIC Right-to-left shift-and-add multiplication.

FB_METHD=INTEG Integrated modular multiplication.

FB_METHD=RCOMB Right-to-left comb multiplication.

FB_METHD=LCOMB Left-to-right comb multiplication.

FB_METHD=LODAH L�pez-Dahab comb multiplication with window of width 4.

FB_METHD=BASIC Bit manipulation squaring.

FB_METHD=INTEG Integrated modular squaring.

FB_METHD=TABLE Table-based squaring.

FB_METHD=BASIC Shift-and-add modular reduction.

FB_METHD=QUICK Fast reduction modulo a trinomial or pentanomial.

FB_METHD=BASIC Square root by repeated squaring.

FB_METHD=QUICK Fast square root extraction.

FB_METHD=BASIC Trace computation by repeated squaring.

FB_METHD=QUICK Fast trace computation.

FB_METHD=BASIC Solve a quadratic equation by half-trace computation.

FB_METHD=QUICK Fast solving with precomputed half-traces.

FB_METHD=BASIC Inversion by Fermat's Little Theorem.

FB_METHD=BINAR Binary Inversion algorithm.

FB_METHD=ALMOS Inversion by the Amost inverse algorithm.

FB_METHD=EXGCD Inversion by the Extended Euclidean algorithm.

FB_METHD=ITOHT Inversion by Itoh-Tsuji.

FB_METHD=BRUCH Hardware-friendly inversion by Brunner et al.

FB_METHD=LOWER Pass inversion to the lower level.

FB_METHD=BASIC Binary exponentiation.

FB_METHD=SLIDE Sliding window exponentiation.

FB_METHD=MONTY Constant-time Montgomery powering ladder.

FB_METHD=BASIC Iterated squaring/square-root by consecutive squaring/square-root.

FB_METHD=QUICK Iterated squaring/square-root by table-based method.

Note: these methods must be given in order. Ex: FB_METHD="INTEG;INTEG;QUICK;QUICK;QUICK;QUICK;ALMOS;BASIC;BASIC"

Prime elliptic curve arithmetic configuration (EP module):


** Options for the binary elliptic curve module (default = all on):

EP_PLAIN=[off|on] Support for ordinary curves without endomorphisms.

EP_SUPER=[off|on] Support for supersingular curves.

EP_ENDOM=[off|on] Support for ordinary curves with endomorphisms.

EP_MIXED=[off|on] Use mixed coordinates.

EP_PRECO=[off|on] Build precomputation table for generator.

EP_DEPTH=w Width w in [2,6] of precomputation table for fixed point methods.

EP_WIDTH=w Width w in [2,6] of window processing for unknown point methods.

** Available binary elliptic curve methods (default = PROJC;LWNAF;COMBS;INTER):

EP_METHD=BASIC Affine coordinates.

EP_METHD=PROJC Jacobian projective coordinates.

EP_METHD=BASIC Binary method.

EP_METHD=LWNAF Left-to-right window NAF method (GLV for Koblitz curves).

EP_METHD=BASIC Binary method for fixed point multiplication.

EP_METHD=YAOWI Yao's windowing method for fixed point multiplication

EP_METHD=NAFWI NAF windowing method for fixed point multiplication.

EP_METHD=COMBS Single-table Comb method for fixed point multiplication.

EP_METHD=COMBD Double-table Comb method for fixed point multiplication.

EP_METHD=LWNAF Left-to-right window NAF method (GLV for Koblitz curves).

EP_METHD=BASIC Multiplication-and-addition simultaneous multiplication.

EP_METHD=TRICK Shamir's trick for simultaneous multiplication.

EP_METHD=INTER Interleaving of window NAFs (GLV for Koblitz curves).

EP_METHD=JOINT Joint sparse form.

Note: these methods must be given in order. Ex: EP_METHD="BASIC;LWNAF;COMBD;TRICK"

Binary elliptic curve arithmetic configuration (EB module):


** Options for the binary elliptic curve module (default = on, w = 4):

EB_PLAIN=[off|on] Support for ordinary curves without endomorphisms.

EB_KBLTZ=[off|on] Support for Koblitz anomalous binary curves.

EB_MIXED=[off|on] Use mixed coordinates.

EB_PRECO=[off|on] Build precomputation table for generator.

EB_DEPTH=w Width w in [2,6] of precomputation table for fixed point methods.

EB_WIDTH=w Width w in [2,6] of window processing for unknown point methods.

** Available binary elliptic curve methods (default = PROJC;LWNAF;COMBS;INTER):

EB_METHD=BASIC Affine coordinates.

EB_METHD=PROJC Projective coordinates (L�pez-Dahab for ordinary curves).

EB_METHD=BASIC Binary method.

EB_METHD=LODAH L�pez-Dahab constant-time point multiplication.

EB_METHD=LWNAF Left-to-right window (T)NAF method.

EB_METHD=RWNAF Right-to-left window (T)NAF method.

EB_METHD=HALVE Halving method.

EB_METHD=BASIC Binary method for fixed point multiplication.

EB_METHD=YAOWI Yao's windowing method for fixed point multiplication

EB_METHD=NAFWI NAF windowing method for fixed point multiplication.

EB_METHD=COMBS Single-table Comb method for fixed point multiplication.

EB_METHD=COMBD Double-table Comb method for fixed point multiplication.

EB_METHD=LWNAF Left-to-right window (T)NAF method.

EB_METHD=BASIC Multiplication-and-addition simultaneous multiplication.

EB_METHD=TRICK Shamir's trick for simultaneous multiplication.

EB_METHD=INTER Interleaving of window (T)NAFs.

EB_METHD=JOINT Joint sparse form.

Note: these methods must be given in order. Ex: EB_METHD="BASIC;LWNAF;COMBD;TRICK"

Elliptic curve cryptography configuration (EC module):


** Options for the binary elliptic curve module (default = on):

EC_ENDOM=[off|on] Prefer (prime or binary) curves with endomorphisms.

** Available elliptic curve methods (default = PRIME):

EC_METHD=PRIME Use prime curves.

EC_METHD=CHAR2 Use binary curves.

Note: these methods must be given in order. Ex: EC_METHD="BINAR"

Bilinear pairings arithmetic configuration (PP module):


** Available bilinear pairing methods (default = BASIC;OATEP):

PP_METHD=BASIC Basic extension field arithmetic.

PP_METHD=LAZYR Lazy reduced extension field arithmetic.

PP_METHD=TATEP Tate pairing.

PP_METHD=WEILP Weil pairing.

PP_METHD=OATEP Optimal ate pairing.

Message digest configuration (MD module):


** Available hash functions (default = SH256):

MD_METHD=SHONE SHA-1 hash function.

MD_METHD=SH224 SHA-224 hash function.

MD_METHD=SH256 SHA-256 hash function.

MD_METHD=SH384 SHA-384 hash function.

MD_METHD=SH512 SHA-512 hash function.

Cryptographic protocols configuration (CP module):


** Options for the cryptographic protocols module (default = PKCS1):

CP_RSAPD=BASIC RSA with basic padding.

CP_RSAPD=PKCS1 RSA with PKCS#1 v1.5 padding.

CP_RSAPD=PKCS2 RSA with PKCS#1 v2.1 padding.

** Available cryptographic protocols methods (default = QUICK;BASIC):

CP_METHD=BASIC Slow RSA decryption/signature.

CP_METHD=QUICK Fast RSA decryption/signature using CRT.

Note: these methods must be given in order. Ex: CP_METHD="QUICK"

Available pseudo-random number generators (default = HASH):

RAND=HASH Use the HASH-DRBG generator. (recommended)

RAND=HMAC Use the HMAC-DRBG generator. (recommended)

RAND=UDEV Use the operating system underlying generator.

RAND=FIPS Use the FIPS 186-2 (CN1) SHA1-based generator.

RAND=CALL Override the generator with a callback.

Available random number generator seeders (default = UDEV):

SEED=WCGR Use Windows' CryptGenRandom. (recommended)

SEED=DEV Use blocking /dev/random. (recommended)

SEED=UDEV Use non-blocking /dev/urandom. (recommended)

SEED=LIBC Use the libc rand()/random() functions. (insecure!)

SEED=ZERO Use a zero seed. (insecure!)

Configured operating system: NONE

Compiler flags: -pipe -std=c99 -Wall -O2 -funroll-loops -fomit-frame-pointer

Linker flags: -LE:/Downloads/relic-relic-toolkit-0.4.0/src/low/easy/

Configured E:/Downloads/relic-relic-toolkit-0.4.0/include/relic_conf.h.in

CMake Error at src/CMakeLists.txt:9 (string):
string no output variable specified

Found Doxygen: C:/Program Files/doxygen/bin/doxygen.exe (found version "1.8.13")

Configured E:/Downloads/relic-relic-toolkit-0.4.0/doc/relic.doxygen.in

Configuring incomplete, errors occurred!

See also "E:/Downloads/relic-build/CMakeFiles/CMakeOutput.log".


Here is the snapshot of the screen:


Thank you again.

Diego Aranha

unread,
Feb 21, 2017, 10:33:12 PM2/21/17
to relic-discuss
Dear Liu,

Thanks for the notification!

Can I suggest you try the same with the latest version of the library in the Git repository?
Many things have changed since then and I believe it would be more effective targeting recent code.

Best,
--
Diego de Freitas Aranha
Institute of Computing - University of Campinas
http://www.ic.unicamp.br/~dfaranha

--

---
You received this message because you are subscribed to the Google Groups "relic-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to relic-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Wenyan Liu

unread,
Feb 22, 2017, 9:27:22 AM2/22/17
to relic-discuss
Thank you for replying. And I'm very grateful for your contribution.

I've tried the latest version. I don't know whether I did it right or wrong, so I beg to detail here - 
I downloaded the ZIP package from Git repository;
I uncompressed it into "relic-master";
And I cmaked it, the same problem occurred again.
I think I may do some wrong step, but I can't find it out.

I don't know whether I have provided enough information, but I'll paste the console as before:

The C compiler identification is MSVC 19.0.24215.1

The CXX compiler identification is MSVC 19.0.24215.1

Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe

Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works

Detecting C compiler ABI info

Detecting C compiler ABI info - done

Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe

Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works

Detecting CXX compiler ABI info

Detecting CXX compiler ABI info - done

Detecting CXX compile features

Detecting CXX compile features - done


-- Configuring RELIC 0.4.1...

Available switches (default = CHECK, VERBS, DOCUM):


DEBUG=[off|on] Build with debugging support.

PROFL=[off|on] Build with profiling support.

CHECK=[off|on] Build with error-checking support.

VERBS=[off|on] Build with detailed error messages.

TRACE=[off|on] Build with tracing support.

OVERH=[off|on] Build with overhead estimation.

DOCUM=[off|on] Build documentation.

STRIP=[off|on] Build only selected algorithms.

QUIET=[off|on] Build with printing disabled.

COLOR=[off|on] Build with colored output.

BIGED=[off|on] Build with big-endian support.

SHLIB=[off|on] Build shared library.

STLIB=[off|on] Build static library.

STBIN=[off|on] Build static binaries.

AMALG=[off|on] Build amalgamation for better performance.

Number of times each test or benchmark is ran (default = 50, 1000):


TESTS=n If n > 0, build automated tests and run them n times.

BENCH=n If n > 0, build automated benchmarks and run them n * n times.

Number of available processor cores (default = 1):


CORES=n If n > 1, please enable multithreading support.

Available modules (default = ALL)


WITH=BN Multiple precision arithmetic.

WITH=DV Temporary double-precision digit vectors.

WITH=FP Prime field arithmetic.

WITH=FPX Prime extension field arithmetic.

WITH=FB Binary field arithmetic.

WITH=EP Elliptic curves over prime fields.

WITH=EPX Elliptic curves over quadratic extensions of prime fields.

WITH=EB Elliptic curves over binary fields.

WITH=ED Elliptic Edwards curves over prime fields.

WTTH=EC Elliptic curve cryptography.

WITH=PB Pairings over binary elliptic curves.

WITH=PP Pairings over prime elliptic curves.

WTTH=PC Pairing-based cryptography.

WITH=BC Block ciphers (symmetric encryption).

WITH=MD Message digests (hash functions).

WITH=CP Cryptographic protocols.

WITH=ALL All of the above.

Note: the programmer is responsible for not using unselected modules.

Available arithmetic backends (default = easy):


ARITH=easy Easy-to-understand implementation.

ARITH=gmp GNU Multiple Precision library.

Available memory-allocation policies (default = AUTO):


ALLOC=AUTO All memory is automatically allocated.

ALLOC=STATIC All memory is allocated statically once.

ALLOC=DYNAMIC All memory is allocated dynamically on demand.

ALLOC=STACK All memory is allocated from the stack.

Supported operating systems (default = LINUX):


OPSYS=RELIC_NONE Undefined/No operating system.

OPSYS=LINUX GNU/Linux operating system.

OPSYS=FREEBSD FreeBSD operating system.

OPSYS=MACOSX Mac OS X operating system.

OPSYS=WINDOWS Windows operating system.

OPSYS=DROID Android operating system.

OPSYS=DUINO Arduino platform.

Supported multithreading APIs (default = RELIC_NONE):


MULTI=RELIC_NONE NO multithreading support.

MULTI=OPENMP Open Multi-Processing.

MULTI=PTHREAD POSIX threads.

Supported timers (default = HPROC):


TIMER=RELIC_NONE No timer.

TIMER=HREAL GNU/Linux realtime high-resolution timer.

TIMER=HPROC GNU/Linux per-process high-resolution timer.

TIMER=HTHRD GNU/Linux per-thread high-resolution timer.

TIMER=ANSI ANSI-compatible timer.

TIMER=POSIX POSIX-compatible timer.

TIMER=CYCLE Cycle-counting timer. (architecture-dependant)

Prefix to identify this build of the library (default = ""):


LABEL=relic

Available architectures (default = X64):


ARCH=AVR Atmel AVR ATMega128 8-bit architecture.

ARCH=MSP TI MSP430 16-bit architecture.

ARCH=ARM ARM 32-bit architecture.

ARCH=X86 Intel x86-compatible 32-bit architecture.

ARCH=X64 AMD x86_64-compatible 64-bit architecture.

ARCH=RELIC_NONE No specific architecture (disable some features).

Available word sizes (default = 64):


WORD=8 Build a 8-bit library.

WORD=16 Build a 16-bit library.

WORD=32 Build a 32-bit library.

WORD=64 Build a 64-bit library.

Byte boundary to align digit vectors (default = 1):


ALIGN=1 Do not align digit vectors.

ALIGN=2 Align digit vectors into 16-bit boundaries.

ALIGN=8 Align digit vectors into 64-bit boundaries.

ALIGN=16 Align digit vectors into 128-bit boundaries.

Multiple precision arithmetic configuration (BN module):


** Options for the multiple precision module (default = 1024,DOUBLE,0):

BN_PRECI=n The base precision in bits. Let w be n in words.

BN_MAGNI=DOUBLE A multiple precision integer can store 2w words.

BN_MAGNI=CARRY A multiple precision integer can store w+1 words.

BN_MAGNI=SINGLE A multiple precision integer can store w words.

BN_KARAT=n The number of Karatsuba steps.

** Available multiple precision arithmetic methods (default = COMBA;COMBA;MONTY;SLIDE;STEIN;BASIC):

Integer multiplication:

BN_METHD=BASIC Schoolbook multiplication.

BN_METHD=COMBA Comba multiplication.

Integer squaring:

BN_METHD=BASIC Schoolbook squaring.

BN_METHD=COMBA Comba squaring.

BN_METHD=MULTP Reuse multiplication for squaring.

Modular reduction:

BN_METHD=BASIC Division-based modular reduction.

BN_METHD=BARRT Barrett modular reduction.

BN_METHD=MONTY Montgomery modular reduction.

BN_METHD=RADIX Diminished radix modular reduction.

Modular exponentiation:

BN_METHD=BASIC Binary modular exponentiation.

BN_METHD=MONTY Montgomery powering ladder.

BN_METHD=SLIDE Sliding window modular exponentiation.

Greatest Common Divisor:

BN_METHD=BASIC Euclid's standard GCD algorithm.

BN_METHD=LEHME Lehmer's fast GCD algorithm.

BN_METHD=STEIN Stein's binary GCD algorithm.

Prime generation:

BN_METHD=BASIC Basic prime generation.

BN_METHD=SAFEP Safe prime generation.

BN_METHD=STRON Strong prime generation.

Prime field arithmetic configuration (FP module):


** Arithmetic precision of the prime field module (default = 256,0,off,off):

FP_PRIME=n The prime modulus size in bits.

FP_KARAT=n The number of Karatsuba levels.

FP_PMERS=[off|on] Prefer Pseudo-Mersenne primes over random primes.

FP_QNRES=[off|on] Use -1 as quadratic non-residue (make sure that p = 3 mod 8).

FP_WIDTH=w Width w in [2,6] of window processing for exponentiation methods.

** Available prime field arithmetic methods (default = BASIC;COMBA;COMBA;MONTY;MONTY;SLIDE):

Field addition

FP_METHD=BASIC Schoolbook addition.

FP_METHD=INTEG Integrated modular addition.

Field multiplication

FP_METHD=BASIC Schoolbook multiplication.

FP_METHD=INTEG Integrated modular multiplication.

FP_METHD=COMBA Comba multiplication.

Field squaring

FP_METHD=BASIC Schoolbook squaring.

FP_METHD=INTEG Integrated modular squaring.

FP_METHD=COMBA Comba squaring.

FP_METHD=MULTP Reuse multiplication for squaring.

Modular reduction

FP_METHD=BASIC Division-based reduction.

FP_METHD=QUICK Fast reduction modulo special form prime (2^t - c, c > 0).

FP_METHD=MONTY Montgomery modular reduction.

Field inversion

FP_METHD=BASIC Inversion by Fermat's Little Theorem.

FP_METHD=BINAR Binary Inversion algorithm.

FP_METHD=MONTY Mntgomery inversion.

FP_METHD=EXGCD Inversion by the Extended Euclidean algorithm.

FP_METHD=LOWER Pass inversion to the lower level.

Field exponentiation

FP_METHD=BASIC Binary exponentiation.

FP_METHD=SLIDE Sliding window exponentiation.

FP_METHD=MONTY Constant-time Montgomery powering ladder.

Prime extension field arithmetic configuration (FPX module):


** Available bilinear pairing methods (default = BASIC;BASIC;BASIC):

Quadratic extension arithmetic:

FPX_METHD=BASIC Basic quadratic extension field arithmetic.

FPX_METHD=INTEG Quadratic extension field arithmetic with embedded modular reduction.

Cubic extension arithmetic:

FPX_METHD=BASIC Basic cubic extension field arithmetic.

FPX_METHD=INTEG Cubic extension field arithmetic with embedded modular reduction.

Extension field arithmetic:

FPX_METHD=BASIC Basic extension field arithmetic.

FPX_METHD=LAZYR Lazy-reduced extension field arithmetic.

Binary field arithmetic configuration (FB module):


** Options for the binary elliptic curve module (default = 283,0,on,on,on):

FB_POLYN=n The irreducible polynomial size in bits.

FB_KARAT=n The number of Karatsuba levels.

FB_TRINO=[off|on] Prefer trinomials.

FB_SQRTF=[off|on] Prefer square-root friendly polynomials.

FB_PRECO=[off|on] Precompute multiplication table for sqrt(z).

FB_WIDTH=w Width w in [2,6] of window processing for exponentiation methods.

** Available binary field arithmetic methods (default = LODAH;RELIC_TABLE;QUICK;BASIC;QUICK;QUICK;EXGCD;SLIDE;QUICK):

Field multiplication:

FB_METHD=BASIC Right-to-left shift-and-add multiplication.

FB_METHD=INTEG Integrated modular multiplication.

FB_METHD=RCOMB Right-to-left comb multiplication.

FB_METHD=LCOMB Left-to-right comb multiplication.

FB_METHD=LODAH L�pez-Dahab comb multiplication with window of width 4.

Field squaring:

FB_METHD=BASIC Bit manipulation squaring.

FB_METHD=INTEG Integrated modular squaring.

FB_METHD=RELIC_TABLE Table-based squaring.

Modular reduction:

FB_METHD=BASIC Shift-and-add modular reduction.

FB_METHD=QUICK Fast reduction modulo a trinomial or pentanomial.

Field square root:

FB_METHD=BASIC Square root by repeated squaring.

FB_METHD=QUICK Fast square root extraction.

Trace computation:

FB_METHD=BASIC Trace computation by repeated squaring.

FB_METHD=QUICK Fast trace computation.

Quadratic equation solver:

FB_METHD=BASIC Solve a quadratic equation by half-trace computation.

FB_METHD=QUICK Fast solving with precomputed half-traces.

Field inversion:

FB_METHD=BASIC Inversion by Fermat's Little Theorem.

FB_METHD=BINAR Binary Inversion algorithm.

FB_METHD=ALMOS Inversion by the Amost inverse algorithm.

FB_METHD=EXGCD Inversion by the Extended Euclidean algorithm.

FB_METHD=ITOHT Inversion by Itoh-Tsuji.

FB_METHD=BRUCH Hardware-friendly inversion by Brunner et al.

FB_METHD=LOWER Pass inversion to the lower level.

Field exponentiation:

FB_METHD=BASIC Binary exponentiation.

FB_METHD=SLIDE Sliding window exponentiation.

FB_METHD=MONTY Constant-time Montgomery powering ladder.

Iterated squaring/square-root:

FB_METHD=BASIC Iterated squaring/square-root by consecutive squaring/square-root.

FB_METHD=QUICK Iterated squaring/square-root by table-based method.

Prime elliptic curve arithmetic configuration (EP module):


** Options for the prime elliptic curve module (default = all on):

EP_PLAIN=[off|on] Support for ordinary curves without endomorphisms.

EP_SUPER=[off|on] Support for supersingular curves.

EP_ENDOM=[off|on] Support for ordinary curves with endomorphisms.

EP_MIXED=[off|on] Use mixed coordinates.

EP_PRECO=[off|on] Build precomputation table for generator.

EP_DEPTH=w Width w in [2,8] of precomputation table for fixed point methods.

EP_WIDTH=w Width w in [2,6] of window processing for unknown point methods.

** Available prime elliptic curve methods (default = PROJC;LWNAF;COMBS;INTER):

Point representation:

EP_METHD=BASIC Affine coordinates.

EP_METHD=PROJC Jacobian projective coordinates.

Variable-base scalar multiplication:

EP_METHD=BASIC Binary method.

EP_METHD=LWNAF Left-to-right window NAF method (GLV for Koblitz curves).

Fixed-base scalar multiplication:

EP_METHD=BASIC Binary method for fixed point multiplication.

EP_METHD=YAOWI Yao's windowing method for fixed point multiplication

EP_METHD=NAFWI NAF windowing method for fixed point multiplication.

EP_METHD=COMBS Single-table Comb method for fixed point multiplication.

EP_METHD=COMBD Double-table Comb method for fixed point multiplication.

EP_METHD=LWNAF Left-to-right window NAF method (GLV for Koblitz curves).

Variable-base simultaneous scalar multiplication:

EP_METHD=BASIC Multiplication-and-addition simultaneous multiplication.

EP_METHD=TRICK Shamir's trick for simultaneous multiplication.

EP_METHD=INTER Interleaving of window NAFs (GLV for Koblitz curves).

EP_METHD=JOINT Joint sparse form.

Binary elliptic curve arithmetic configuration (EB module):


** Options for the binary elliptic curve module (default = on, w = 4):

EB_PLAIN=[off|on] Support for ordinary curves without endomorphisms.

EB_KBLTZ=[off|on] Support for Koblitz anomalous binary curves.

EB_MIXED=[off|on] Use mixed coordinates.

EB_PRECO=[off|on] Build precomputation table for generator.

EB_DEPTH=w Width w in [2,8] of precomputation table for fixed point methods.

EB_WIDTH=w Width w in [2,6] of window processing for unknown point methods.

** Available binary elliptic curve methods (default = PROJC;LWNAF;COMBS;INTER):

Point representation:

EB_METHD=BASIC Affine coordinates.

EB_METHD=PROJC Projective coordinates (L�pez-Dahab for ordinary curves).

Variable-base scalar multiplication:

EB_METHD=BASIC Binary double-and-add method.

EB_METHD=LODAH Lopez-Dahab constant-time point multiplication.

EB_METHD=LWNAF Left-to-right window (T)NAF method.

EB_METHD=RWNAF Right-to-left window (T)NAF method.

EB_METHD=HALVE Halving method.

Fixed-base scalar multiplication:

EB_METHD=BASIC Binary method for fixed point multiplication.

EB_METHD=YAOWI Yao's windowing method for fixed point multiplication

EB_METHD=NAFWI NAF windowing method for fixed point multiplication.

EB_METHD=COMBS Single-table Comb method for fixed point multiplication.

EB_METHD=COMBD Double-table Comb method for fixed point multiplication.

EB_METHD=LWNAF Left-to-right window (T)NAF method.

Variable-base simultaneous scalar multiplication:

EB_METHD=BASIC Multiplication-and-addition simultaneous multiplication.

EB_METHD=TRICK Shamir's trick for simultaneous multiplication.

EB_METHD=INTER Interleaving of window (T)NAFs.

EB_METHD=JOINT Joint sparse form.

Elliptic Edwards curve over prime fields arithmetic configuration (ED module):


** Options for the prime elliptic Edwards curve module (default = all on):

ED_PRECO=[off|on] Build precomputation table for generator.

ED_DEPTH=w Width w in [2,6] of precomputation table for fixed point methods.

ED_WIDTH=w Width w in [2,6] of window processing for unknown point methods.

** Available prime elliptic Edwards curve methods (default = PROJC;LWNAF;COMBS;INTER):

EP_METHD=PROJC Simple projective twisted Edwards coordinates.

EP_METHD=EXTND Extended projective twisted Edwards coordinates.

*** variable-base multiplication method ***

ED_METHD=BASIC Binary method.

ED_METHD=SLIDE Sliding window method.

ED_METHD=MONTY Montgomery ladder method.

ED_METHD=FIXED 2-bit fixed window method.

ED_METHD=LWNAF Left-to-right window NAF method (GLV for Koblitz curves).

ED_METHD=LWNAF_MIXED Left-to-right window NAF mixed method (GLV for Koblitz curves).

*** fixed-base multiplication method ***

ED_METHD=BASIC Binary method for fixed point multiplication.

ED_METHD=YAOWI Yao's windowing method for fixed point multiplication

ED_METHD=NAFWI NAF windowing method for fixed point multiplication.

ED_METHD=COMBS Single-table Comb method for fixed point multiplication.

ED_METHD=COMBD Double-table Comb method for fixed point multiplication.

ED_METHD=LWNAF Left-to-right window NAF method (GLV for Koblitz curves).

ED_METHD=LWNAF_MIXED Left-to-right window NAF mixed method (GLV for Koblitz curves).

*** variable-base simultaneous multiplication method ***

ED_METHD=BASIC Multiplication-and-addition simultaneous multiplication.

ED_METHD=TRICK Shamir's trick for simultaneous multiplication.

ED_METHD=INTER Interleaving of window NAFs (GLV for Koblitz curves).

ED_METHD=JOINT Joint sparse form.

Note: these methods must be given in order. Ex: ED_METHD="EXTND;LWNAF;COMBD;TRICK"

Elliptic curve cryptography configuration (EC module):


** Options for the binary elliptic curve module (default = on):

EC_ENDOM=[off|on] Prefer (prime or binary) curves with endomorphisms.

** Available elliptic curve methods (default = PRIME):

EC_METHD=PRIME Use prime curves.

EC_METHD=CHAR2 Use binary curves.

EC_METHD=EDWARD Use prime Edwards curves.

Bilinear pairings arithmetic configuration (PP module):


** Available bilinear pairing methods (default = BASIC;OATEP):

Extension field arithmetic:

PP_METHD=BASIC Basic extension field arithmetic.

PP_METHD=LAZYR Lazy reduced extension field arithmetic.

Pairing computation:

PP_METHD=TATEP Tate pairing.

PP_METHD=WEILP Weil pairing.

PP_METHD=OATEP Optimal ate pairing.

Message digest configuration (MD module):


** Available hash functions (default = SH256):

MD_METHD=SHONE SHA-1 hash function.

MD_METHD=SH224 SHA-224 hash function.

MD_METHD=SH256 SHA-256 hash function.

MD_METHD=SH384 SHA-384 hash function.

MD_METHD=SH512 SHA-512 hash function.

MD_METHD=B2S160 BLAKE2s-160 hash function.

MD_METHD=B2S256 BLAKE2s-256 hash function.

Cryptographic protocols configuration (CP module):


** Options for the cryptographic protocols module (default = PKCS1):

CP_RSAPD=BASIC RSA with basic padding.

CP_RSAPD=PKCS1 RSA with PKCS#1 v1.5 padding.

CP_RSAPD=PKCS2 RSA with PKCS#1 v2.1 padding.

** Available cryptographic protocols methods (default = QUICK;BASIC):

CP_METHD=BASIC Slow RSA decryption/signature.

CP_METHD=QUICK Fast RSA decryption/signature using CRT.

Available pseudo-random number generators (default = HASH):


RAND=HASH Use the HASH-DRBG generator. (recommended)

RAND=RELIC_HMAC Use the RELIC_HMAC-DRBG generator. (recommended)

RAND=UDEV Use the operating system underlying generator.

RAND=FIPS Use the FIPS 186-2 (CN1) SHA1-based generator.

RAND=CALL Override the generator with a callback.

Available random number generator seeders (default = UDEV):


SEED=WCGR Use Windows' CryptGenRandom. (recommended)

SEED=DEV Use blocking /dev/random. (recommended)

SEED=UDEV Use non-blocking /dev/urandom. (recommended)

SEED=LIBC Use the libc rand()/random() functions. (insecure!)

SEED=ZERO Use a zero seed. (insecure!)

Configured operating system: RELIC_NONE

Compiler flags: -pipe -std=c99 -Wall -O2 -funroll-loops -fomit-frame-pointer

Linker flags: -LE:/Downloads/relic-master/src/low/easy/

Configured E:/Downloads/relic-master/include/relic_conf.h.in

CMake Error at src/CMakeLists.txt:9 (string):
string no output variable specified

Found Doxygen: C:/Program Files/doxygen/bin/doxygen.exe (found version "1.8.13")

Configured E:/Downloads/relic-master/doc/relic.doxygen.in

Configuring incomplete, errors occurred!

See also "E:/Downloads/relic-build/CMakeFiles/CMakeOutput.log".



Thank you very much!


在 2017年2月22日星期三 UTC+8上午11:33:12,Diego F. Aranha写道:

Diego Aranha

unread,
Feb 22, 2017, 9:45:39 AM2/22/17
to relic-discuss
Dear Wenyan,

I think CMake is having trouble to find out about your architecture, but you could try configuring ARCH=X86 or ARCH=X64 for the error to go away.
Can you please send me the log file CMakeOutput.log in a private message for confirmation?

Best,
--
Diego de Freitas Aranha
Institute of Computing - University of Campinas
http://www.ic.unicamp.br/~dfaranha

Wenyan Liu

unread,
Feb 22, 2017, 8:42:04 PM2/22/17
to relic-discuss
I've sent the file to you.
We did it! Thank you again! 

Best wishes!

在 2017年2月22日星期三 UTC+8下午10:45:39,Diego F. Aranha写道:

Diego Aranha

unread,
Feb 22, 2017, 8:45:31 PM2/22/17
to relic-discuss
Dear Wenyan,

Try building the library with the CMake setting ARCH=X64. From the log file, that should be enough.

Best,
--
Diego de Freitas Aranha
Institute of Computing - University of Campinas
http://www.ic.unicamp.br/~dfaranha

Wenyan Liu

unread,
Feb 23, 2017, 8:34:36 AM2/23/17
to relic-discuss
Thank you! Generating done without errors!
Thank you very much!

在 2017年2月23日星期四 UTC+8上午9:45:31,Diego F. Aranha写道:
...
Reply all
Reply to author
Forward
0 new messages