Implementation notes: amd64, colossus7, crypto_kem/rsa2048

Computer: colossus7
Architecture: amd64
CPU ID: AuthenticAMD-00830f10-178bfbff
SUPERCOP version: 20210125
Operation: crypto_kem
Primitive: rsa2048

Compiler output

Implementation: T:gmp
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `crypto_kem_rsa2048_gmp_timingleaks_dec':
try.c: dec.c:(.text+0x...): undefined reference to `__gmpz_init'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_init'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_init'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_init'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_init'
try.c: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o):dec.c:(.text+0x...): more undefined references to `__gmpz_init' follow
try.c: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `crypto_kem_rsa2048_gmp_timingleaks_dec':
try.c: dec.c:(.text+0x...): undefined reference to `__gmpz_add'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_sub_ui'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_fdiv_q_ui'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_powm'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_add'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_sub_ui'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_fdiv_q_ui'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_powm'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_sub'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_mul'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_mod'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_mul'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_add'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_clear'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_clear'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_clear'
try.c: /usr/bin/ld: dec.c:(.text+0x...): undefined reference to `__gmpz_clear'
try.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp

Compiler output

Implementation: T:gmpxx
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `crypto_kem_rsa2048_gmpxx_timingleaks_dec':
try.cpp: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_sub'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_add'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init_set'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o):dec.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::__gmp_expr<__gmp_binary_expr<__gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __gmp_binary_expr<long, __gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_binary_multiplies> >, long, __gmp_binary_minus> >, long, __gmp_binary_divides> >(__gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __gmp_binary_expr<long, __gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_binary_multiplies> >, long, __gmp_binary_minus> >, long, __gmp_binary_divides> > const&)':
try.cpp: dec.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E[_ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E]+0xc): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E[_ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E]+0x35): undefined reference to `__gmpz_sub_ui'
try.cpp: /usr/bin/ld: dec.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E[_ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E]+0x45): undefined reference to `__gmpz_add_ui'
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `__gmp_binary_divides::eval(__mpz_struct*, __mpz_struct const*, long)':
try.cpp: dec.cpp:(.text._ZN20__gmp_binary_divides4evalEP12__mpz_structPKS0_l[_ZN20__gmp_binary_divides4evalEP12__mpz_structPKS0_l]+0xe): undefined reference to `__gmpz_tdiv_q_ui'
try.cpp: /usr/bin/ld: dec.cpp:(.text._ZN20__gmp_binary_divides4evalEP12__mpz_structPKS0_l[_ZN20__gmp_binary_divides4evalEP12__mpz_structPKS0_l]+0x19): undefined reference to `__gmpz_tdiv_q_ui'
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `__gmp_binary_multiplies::eval(__mpz_struct*, __mpz_struct const*, long)':
try.cpp: dec.cpp:(.text._ZN23__gmp_binary_multiplies4evalEP12__mpz_structPKS0_l[_ZN23__gmp_binary_multiplies4evalEP12__mpz_structPKS0_l]+0x1): undefined reference to `__gmpz_mul_si'
try.cpp: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmpxx
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmpxx

Compiler output

Implementation: T:gmpxx
Security model: timingleaks
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `crypto_kem_rsa2048_gmpxx_timingleaks_dec':
try.cpp: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_sub'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_add'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init_set'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o):dec.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::__gmp_expr<__gmp_binary_expr<__gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __gmp_binary_expr<long, __gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_binary_multiplies> >, long, __gmp_binary_minus> >, long, __gmp_binary_divides> >(__gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __gmp_binary_expr<long, __gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_binary_multiplies> >, long, __gmp_binary_minus> >, long, __gmp_binary_divides> > const&)':
try.cpp: dec.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E[_ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E]+0xc): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E[_ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E]+0x35): undefined reference to `__gmpz_sub_ui'
try.cpp: /usr/bin/ld: dec.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E[_ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E]+0x4e): undefined reference to `__gmpz_tdiv_q_ui'
try.cpp: /usr/bin/ld: dec.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E[_ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E]+0x5c): undefined reference to `__gmpz_add_ui'
try.cpp: /usr/bin/ld: dec.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E[_ZN10__gmp_exprIA1_12__mpz_structS1_EC2I17__gmp_binary_exprIS_IS1_S4_IS_IS1_S4_IlS2_23__gmp_binary_multipliesEEl18__gmp_binary_minusEEl20__gmp_binary_dividesEEERKS_IS1_T_E]+0x73): undefined reference to `__gmpz_tdiv_q_ui'
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `__gmp_binary_multiplies::eval(__mpz_struct*, __mpz_struct const*, long)':
try.cpp: dec.cpp:(.text._ZN23__gmp_binary_multiplies4evalEP12__mpz_structPKS0_l[_ZN23__gmp_binary_multiplies4evalEP12__mpz_structPKS0_l]+0x1): undefined reference to `__gmpz_mul_si'
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `__gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __gmp_binary_expr<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_binary_multiplies> >, __gmp_expr<__mpz_struct [1], __mpz_struct [1]>, __gmp_binary_modulus> >, __gmp_binary_multiplies> >, __gmp_binary_plus> >::eval(__mpz_struct*) const':
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmpxx

Compiler output

Implementation: T:gmpxx
Security model: timingleaks
Compiler: clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `crypto_kem_rsa2048_gmpxx_timingleaks_dec':
try.cpp: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_sub'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_add'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_init_set'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: dec.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o):dec.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `__gmp_binary_minus::eval(__mpz_struct*, __mpz_struct const*, long)':
try.cpp: dec.cpp:(.text._ZN18__gmp_binary_minus4evalEP12__mpz_structPKS0_l[_ZN18__gmp_binary_minus4evalEP12__mpz_structPKS0_l]+0xe): undefined reference to `__gmpz_add_ui'
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `__gmp_binary_multiplies::eval(__mpz_struct*, __mpz_struct const*, long)':
try.cpp: dec.cpp:(.text._ZN23__gmp_binary_multiplies4evalEP12__mpz_structPKS0_l[_ZN23__gmp_binary_multiplies4evalEP12__mpz_structPKS0_l]+0x1): undefined reference to `__gmpz_mul_si'
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `__gmp_binary_minus::eval(__mpz_struct*, __mpz_struct const*, unsigned long)':
try.cpp: dec.cpp:(.text._ZN18__gmp_binary_minus4evalEP12__mpz_structPKS0_m[_ZN18__gmp_binary_minus4evalEP12__mpz_structPKS0_m]+0x1): undefined reference to `__gmpz_sub_ui'
try.cpp: /usr/bin/ld: crypto_kem_rsa2048.a(dec.o): in function `__gmp_binary_divides::eval(__mpz_struct*, __mpz_struct const*, unsigned long)':
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmpxx

Compiler output

Implementation: T:ntl
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: /usr/bin/ld: /home/djb/supercop-20210125/supercop-data/colossus7/amd64/lib/libntl.a(lip.o): in function `_ntl_grshift(_ntl_gbigint_body*, long, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_rshift'
try.cpp: /usr/bin/ld: /home/djb/supercop-20210125/supercop-data/colossus7/amd64/lib/libntl.a(lip.o): in function `_ntl_glshift(_ntl_gbigint_body*, long, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_lshift'
try.cpp: /usr/bin/ld: /home/djb/supercop-20210125/supercop-data/colossus7/amd64/lib/libntl.a(lip.o): in function `_ntl_gadd(_ntl_gbigint_body*, _ntl_gbigint_body*, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_add_n'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sub_n'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sub_n'
try.cpp: /usr/bin/ld: /home/djb/supercop-20210125/supercop-data/colossus7/amd64/lib/libntl.a(lip.o): in function `_ntl_gsub(_ntl_gbigint_body*, _ntl_gbigint_body*, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sub_n'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_add_n'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sub_n'
try.cpp: /usr/bin/ld: /home/djb/supercop-20210125/supercop-data/colossus7/amd64/lib/libntl.a(lip.o): in function `_ntl_gsubpos(_ntl_gbigint_body*, _ntl_gbigint_body*, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sub_n'
try.cpp: /usr/bin/ld: /home/djb/supercop-20210125/supercop-data/colossus7/amd64/lib/libntl.a(lip.o): in function `_ntl_gmul(_ntl_gbigint_body*, _ntl_gbigint_body*, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_addmul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_addmul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sqr'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sqr'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mul'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_addmul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mul'
try.cpp: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ntl
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ntl
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ntl
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ntl