<p>I think you need to use <a href="https://github.com/ElementsProject/secp256k1-zkp" rel="nofollow noreferrer">ElementsProject/secp256k1-zkp</a> rather than <a href="https://github.com/bitcoin-core/secp256k1" rel="nofollow noreferrer">bitcoin-core/secp256k1</a>. The Elements fork has a lot of extra modules used by libwally, including that missing <code>s2c</code> file (sign-to-contract).</p>

CC BY-SA 4.0
2022-01-04T06:12:35.327Z
Thanks, I actually figured that out, too! However shouldn't that be installed automatically? At least, it's part of the repository ..
zerotobtc
CC BY-SA 4.0
2022-01-03T07:45:30.000Z
2022-01-03T07:45:30.000Z
meshcollider
<p>libsecp is installed as a submodule in the wally source tree. As per README, you need to run the following before building:</p>
<pre><code># Initialise the libsecp sources (Needs to be run only once)
$ git submodule init
$ git submodule sync --recursive
$ git submodule update --init --recursive
</code></pre>

CC BY-SA 4.0
2023-03-22T01:00:56.923Z
2023-03-22T01:00:56.923Z
Jon
<p>I am trying to install libwally on my debian machine. I followed the installation guide but running <code>./configure</code> I got the warning</p>
<pre><code>=== configuring in src/secp256k1 (/home/standup/libwally-core/src/secp256k1)
configure: WARNING: no configuration information is in src/secp256k1
</code></pre>
<p>so when I run <code>make</code> I get the error</p>
<pre><code>Making all in src
make[1]: Entering directory '/home/standup/libwally-core/src'
make  all-recursive
make[2]: Entering directory '/home/standup/libwally-core/src'
Making all in secp256k1
make[3]: Entering directory '/home/standup/libwally-core/src/secp256k1'
make[3]: *** No rule to make target 'all'.  Stop.
make[3]: Leaving directory '/home/standup/libwally-core/src/secp256k1'
make[2]: *** [Makefile:1715: all-recursive] Error 1
make[2]: Leaving directory '/home/standup/libwally-core/src'
make[1]: *** [Makefile:927: all] Error 2
make[1]: Leaving directory '/home/standup/libwally-core/src'
make: *** [Makefile:436: all-recursive] Error 1
</code></pre>
<p>I see that it's an issue with the secp256k1 so I did some research and found <a href="https://github.com/jgarzik/picocoin/issues/103" rel="nofollow noreferrer">this suggestion</a> to install <code>secp256k1</code> seperately in the <code>/src</code> directory (I simply cloned <a href="https://github.com/bitcoin-core/secp256k1" rel="nofollow noreferrer">the repo</a> and built it within <code>/src</code>).
This brought me a bit further (no warning while running <code>./configure</code>) but I still get this error after running <code>make</code>:</p>
<pre><code>Making all in src
make[1]: Entering directory '/home/standup/libwally-core/src'
make  all-recursive
make[2]: Entering directory '/home/standup/libwally-core/src'
Making all in secp256k1
make[3]: Entering directory '/home/standup/libwally-core/src/secp256k1'
make  all-am
make[4]: Entering directory '/home/standup/libwally-core/src/secp256k1'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/home/standup/libwally-core/src/secp256k1'
make[3]: Leaving directory '/home/standup/libwally-core/src/secp256k1'
make[3]: Entering directory '/home/standup/libwally-core/src'
  CC       ctest/test_bech32-test_bech32.o
  CC       libwallycore_la-address.lo
In file included from address.c:1:
internal.h:8:10: fatal error: secp256k1/include/secp256k1_ecdsa_s2c.h: No such file or directory
    8 | #include &quot;secp256k1/include/secp256k1_ecdsa_s2c.h&quot;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [Makefile:1324: libwallycore_la-address.lo] Error 1
make[3]: Leaving directory '/home/standup/libwally-core/src'
make[2]: *** [Makefile:1715: all-recursive] Error 1
make[2]: Leaving directory '/home/standup/libwally-core/src'
make[1]: *** [Makefile:927: all] Error 2
make[1]: Leaving directory '/home/standup/libwally-core/src'
make: *** [Makefile:436: all-recursive] Error 1
</code></pre>
<p>There is no <code>secp256k1/include/secp256k1_ecdsa_s2c.h</code> file ...</p>
<p>How can I fix this? It already seemed strange to me that I had to install the secp256k1 manually...</p>

<ecdsa><installation><secp256k1><libwally>
Error while installing libwally
zerotobtc
# Error while installing libwally

(Asked by: username_0 on 2022-01-03)

I am trying to install libwally on my debian machine. I followed the installation guide but running `./configure` I got the warning

```
=== configuring in src/secp256k1 (/home/standup/libwally-core/src/secp256k1)
configure: WARNING: no configuration information is in src/secp256k1

```

so when I run `make` I get the error

```
Making all in src
make[1]: Entering directory '/home/standup/libwally-core/src'
make  all-recursive
make[2]: Entering directory '/home/standup/libwally-core/src'
Making all in secp256k1
make[3]: Entering directory '/home/standup/libwally-core/src/secp256k1'
make[3]: *** No rule to make target 'all'.  Stop.
make[3]: Leaving directory '/home/standup/libwally-core/src/secp256k1'
make[2]: *** [Makefile:1715: all-recursive] Error 1
make[2]: Leaving directory '/home/standup/libwally-core/src'
make[1]: *** [Makefile:927: all] Error 2
make[1]: Leaving directory '/home/standup/libwally-core/src'
make: *** [Makefile:436: all-recursive] Error 1

```

I see that it's an issue with the secp256k1 so I did some research and found [this suggestion](https://github.com/jgarzik/picocoin/issues/103) to install `secp256k1` seperately in the `/src` directory (I simply cloned [the repo](https://github.com/bitcoin-core/secp256k1) and built it within `/src`).
This brought me a bit further (no warning while running `./configure`) but I still get this error after running `make`:

```
Making all in src
make[1]: Entering directory '/home/standup/libwally-core/src'
make  all-recursive
make[2]: Entering directory '/home/standup/libwally-core/src'
Making all in secp256k1
make[3]: Entering directory '/home/standup/libwally-core/src/secp256k1'
make  all-am
make[4]: Entering directory '/home/standup/libwally-core/src/secp256k1'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/home/standup/libwally-core/src/secp256k1'
make[3]: Leaving directory '/home/standup/libwally-core/src/secp256k1'
make[3]: Entering directory '/home/standup/libwally-core/src'
  CC       ctest/test_bech32-test_bech32.o
  CC       libwallycore_la-address.lo
In file included from address.c:1:
internal.h:8:10: fatal error: secp256k1/include/secp256k1_ecdsa_s2c.h: No such file or directory
    8 | #include "secp256k1/include/secp256k1_ecdsa_s2c.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [Makefile:1324: libwallycore_la-address.lo] Error 1
make[3]: Leaving directory '/home/standup/libwally-core/src'
make[2]: *** [Makefile:1715: all-recursive] Error 1
make[2]: Leaving directory '/home/standup/libwally-core/src'
make[1]: *** [Makefile:927: all] Error 2
make[1]: Leaving directory '/home/standup/libwally-core/src'
make: *** [Makefile:436: all-recursive] Error 1

```

There is no `secp256k1/include/secp256k1_ecdsa_s2c.h` file ...

How can I fix this? It already seemed strange to me that I had to install the secp256k1 manually...

**Tags:** ecdsa, installation, secp256k1, libwally


---

## 2 answers

### Answer by username_1 on 2022-01-03. Score: 2 | Accepted answer

I think you need to use [ElementsProject/secp256k1-zkp](https://github.com/ElementsProject/secp256k1-zkp) rather than [bitcoin-core/secp256k1](https://github.com/bitcoin-core/secp256k1). The Elements fork has a lot of extra modules used by libwally, including that missing `s2c` file (sign-to-contract).

> **Comments:**
> **username_0**: Thanks, I actually figured that out, too! However shouldn't that be installed automatically? At least, it's part of the repository ..  

---

### Answer by username_2 on 2023-03-22. Score: 0

libsecp is installed as a submodule in the wally source tree. As per README, you need to run the following before building:

```
# Initialise the libsecp sources (Needs to be run only once)
$ git submodule init
$ git submodule sync --recursive
$ git submodule update --init --recursive

```


---

