Page MenuHomePhabricator

[secp256k1] ecmult_gen: Simplify ecmult_gen context after making table static
ClosedPublic

Authored by PiRK on Jan 16 2026, 14:46.

Details

Summary

This is a backwards-compatible API change: Before this commit, a context
initialized for signing was required to call functions that rely on
ecmult_gen. After this commit, this is no longer necessary because the
static ecmult_gen table is always present. In practice this means that
the corresponding functions will just work instead of calling the
illegal callback when given a context which is not (officially)
initialized for signing.

This is in line with 6815761, which made the analogous change with
respect to ecmult and contexts initialized for signing. But as opposed
to 681571, which removed the ecmult context entirely, we cannot remove
the ecmult_gen context entirely because it is still used for random
blinding. Moreover, since the secp256k1_context_no_precomp context is
const and cannot meaningfully support random blinding, we refrain (for
now) from changing its API, i.e., the illegal callback will still be
called when trying to use ecmult_gen operations with the static
secp256k1_context_no_precomp context.

This is a partial backport of secp256k1#988
https://github.com/bitcoin-core/secp256k1/pull/988/commits/3b0c2185eab0fe5cb910fffee4c88e134f6d3cad

Depends on D19383

Test Plan

ninja check-secp256k1

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

PiRK requested review of this revision.Jan 16 2026, 14:46
PiRK retitled this revision from ecmult_gen: Simplify ecmult_gen context after making table static to [secp256k1] ecmult_gen: Simplify ecmult_gen context after making table static.Jan 16 2026, 14:49

Tail of the build log:

  HOST_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
  CFLAGS_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
  CFLAGS_x86_64-unknown-linux-gnu = None
  OUT_DIR = Some(/work/target/debug/build/ecash-secp256k1-sys-81e5283bca7fe3e9/out)
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  TARGET = Some(x86_64-unknown-linux-gnu)
  CARGO_CFG_TARGET_FEATURE = Some(fxsr,sse,sse2)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rerun-if-env-changed=HOST_CFLAGS
  HOST_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
  CFLAGS_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
  CFLAGS_x86_64-unknown-linux-gnu = None
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: ecmult_static_context.h: No such file or directory
  cargo:warning=   15 | #include "ecmult_static_context.h"
  cargo:warning=      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=compilation terminated.
  cargo:warning=In file included from ../../../src/secp256k1/src/assumptions.h:12,
  cargo:warning=                 from ../../../src/secp256k1/src/secp256k1.c:12:
  cargo:warning=../../../src/secp256k1/src/util.h: In function 'checked_malloc':
  cargo:warning=../../../src/secp256k1/src/util.h:92:17: warning: implicit declaration of function 'malloc' [-Wimplicit-function-declaration]
  cargo:warning=   92 |     void *ret = malloc(size);
  cargo:warning=      |                 ^~~~~~
  cargo:warning=../../../src/secp256k1/src/util.h:18:1: note: include '<stdlib.h>' or provide a declaration of 'malloc'
  cargo:warning=   17 | #include <limits.h>
  cargo:warning=  +++ |+#include <stdlib.h>
  cargo:warning=   18 | 
  cargo:warning=../../../src/secp256k1/src/util.h:92:17: warning: incompatible implicit declaration of built-in function 'malloc' [-Wbuiltin-declaration-mismatch]
  cargo:warning=   92 |     void *ret = malloc(size);
  cargo:warning=      |                 ^~~~~~
  cargo:warning=../../../src/secp256k1/src/util.h:92:17: note: include '<stdlib.h>' or provide a declaration of 'malloc'
  cargo:warning=../../../src/secp256k1/src/util.h: In function 'checked_realloc':
  cargo:warning=../../../src/secp256k1/src/util.h:100:17: warning: implicit declaration of function 'realloc' [-Wimplicit-function-declaration]
  cargo:warning=  100 |     void *ret = realloc(ptr, size);
  cargo:warning=      |                 ^~~~~~~
  cargo:warning=../../../src/secp256k1/src/util.h:100:17: note: include '<stdlib.h>' or provide a declaration of 'realloc'
  cargo:warning=../../../src/secp256k1/src/util.h:100:17: warning: incompatible implicit declaration of built-in function 'realloc' [-Wbuiltin-declaration-mismatch]
  cargo:warning=../../../src/secp256k1/src/util.h:100:17: note: include '<stdlib.h>' or provide a declaration of 'realloc'
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h: At top level:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: ecmult_static_context.h: No such file or directory
  cargo:warning=   15 | #include "ecmult_static_context.h"
  cargo:warning=      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=compilation terminated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-Wall" "-Wextra" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/work/target/debug/build/ecash-secp256k1-sys-81e5283bca7fe3e9/out/77bfc82200067377-secp256k1.o" "-c" "../../../src/secp256k1/src/secp256k1.c"


Build build-ecash-secp256k1 failed with exit code 101

Tail of the build log:

  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  OUT_DIR = Some(/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out)
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  TARGET = Some(wasm32-unknown-unknown)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = Some(-Wno-pointer-sign -Wno-implicit-function-declaration)
  cargo:rerun-if-env-changed=CC_SHELL_ESCAPED_FLAGS
  CC_SHELL_ESCAPED_FLAGS = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
  CFLAGS_wasm32_unknown_unknown = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/77bfc82200067377-secp256k1.o" "-c" "../../../src/secp256k1/src/secp256k1.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build cashtab-tests failed with exit code 2
PiRK planned changes to this revision.Jan 16 2026, 15:22

Tail of the build log:

  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  OUT_DIR = Some(/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out)
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  TARGET = Some(wasm32-unknown-unknown)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = Some(-Wno-pointer-sign -Wno-implicit-function-declaration)
  cargo:rerun-if-env-changed=CC_SHELL_ESCAPED_FLAGS
  CC_SHELL_ESCAPED_FLAGS = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
  CFLAGS_wasm32_unknown_unknown = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/77bfc82200067377-secp256k1.o" "-c" "../../../src/secp256k1/src/secp256k1.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-lib-tests failed with exit code 2

Tail of the build log:

  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  OUT_DIR = Some(/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out)
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  TARGET = Some(wasm32-unknown-unknown)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = Some(-Wno-pointer-sign -Wno-implicit-function-declaration)
  cargo:rerun-if-env-changed=CC_SHELL_ESCAPED_FLAGS
  CC_SHELL_ESCAPED_FLAGS = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
  CFLAGS_wasm32_unknown_unknown = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/77bfc82200067377-secp256k1.o" "-c" "../../../src/secp256k1/src/secp256k1.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-agora-tests failed with exit code 2

Tail of the build log:

  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  OUT_DIR = Some(/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out)
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  TARGET = Some(wasm32-unknown-unknown)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = Some(-Wno-pointer-sign -Wno-implicit-function-declaration)
  cargo:rerun-if-env-changed=CC_SHELL_ESCAPED_FLAGS
  CC_SHELL_ESCAPED_FLAGS = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
  CFLAGS_wasm32_unknown_unknown = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/77bfc82200067377-secp256k1.o" "-c" "../../../src/secp256k1/src/secp256k1.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-agora-integration-tests failed with exit code 2

Tail of the build log:

  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  OUT_DIR = Some(/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out)
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  TARGET = Some(wasm32-unknown-unknown)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = Some(-Wno-pointer-sign -Wno-implicit-function-declaration)
  cargo:rerun-if-env-changed=CC_SHELL_ESCAPED_FLAGS
  CC_SHELL_ESCAPED_FLAGS = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
  CFLAGS_wasm32_unknown_unknown = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/77bfc82200067377-secp256k1.o" "-c" "../../../src/secp256k1/src/secp256k1.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-lib-integration-tests failed with exit code 2

Tail of the build log:

  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  OUT_DIR = Some(/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out)
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  TARGET = Some(wasm32-unknown-unknown)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = Some(-Wno-pointer-sign -Wno-implicit-function-declaration)
  cargo:rerun-if-env-changed=CC_SHELL_ESCAPED_FLAGS
  CC_SHELL_ESCAPED_FLAGS = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
  CFLAGS_wasm32_unknown_unknown = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/77bfc82200067377-secp256k1.o" "-c" "../../../src/secp256k1/src/secp256k1.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-wallet-integration-tests failed with exit code 2

Tail of the build log:

  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  OUT_DIR = Some(/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out)
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  TARGET = Some(wasm32-unknown-unknown)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = Some(-Wno-pointer-sign -Wno-implicit-function-declaration)
  cargo:rerun-if-env-changed=CC_SHELL_ESCAPED_FLAGS
  CC_SHELL_ESCAPED_FLAGS = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
  CFLAGS_wasm32_unknown_unknown = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.
  cargo:warning=In file included from ../../../src/secp256k1/src/secp256k1.c:19:
  cargo:warning=../../../src/secp256k1/src/ecmult_gen_impl.h:15:10: fatal error: 'ecmult_static_context.h' file not found
  cargo:warning=#include "ecmult_static_context.h"
  cargo:warning=         ^~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/77bfc82200067377-secp256k1.o" "-c" "../../../src/secp256k1/src/secp256k1.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-wallet-tests failed with exit code 2
PiRK requested review of this revision.Mon, Jan 19, 12:59

the modules that depend on the rust wrapper of secp256k1 are temporarily broken, but fixed in D19400

This revision is now accepted and ready to land.Mon, Jan 19, 13:59
This revision was landed with ongoing or failed builds.Tue, Jan 20, 10:10
This revision was automatically updated to reflect the committed changes.