Skip to content

Conversation

@hebasto
Copy link
Member

@hebasto hebasto commented Nov 30, 2025

Since #32655, the sqlite package has relied on a native C compiler being incidentally available on the system under the default names. However, this is not always the case. For example, on Ubuntu 24.04:

$ gmake -C depends sqlite CC=gcc-14 CXX=g++-14
gmake: Entering directory '/bitcoin/depends'
Configuring sqlite...
No installed jimsh or tclsh, building local bootstrap jimsh0
No working C compiler found. Tried cc and gcc.
gmake: *** [funcs.mk:344: /bitcoin/depends/x86_64-pc-linux-gnu/.sqlite_stamp_configured] Error 1
gmake: Leaving directory '/bitcoin/depends'

Adding the tcl package as an explicit build dependency, as is done in the Guix script, avoids this behaviour and improves robustness.

@DrahtBot
Copy link
Contributor

DrahtBot commented Nov 30, 2025

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33975.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK maflcko, janb84

If your review is incorrectly listed, please copy-paste <!--meta-tag:bot-skip--> into the comment that the bot should ignore.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #33902 (doc: Document compiler configuration for native depends packages by willcl-ark)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

### Ubuntu & Debian

apt install cmake curl make patch
apt install cmake curl make patch tcl
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, jimsh works as well.

tcl is chosen for consistency with the Guix script.

@maflcko
Copy link
Member

maflcko commented Dec 1, 2025

lgtm ACK 632cf87

@maflcko maflcko added this to the 31.0 milestone Dec 1, 2025
@janb84
Copy link
Contributor

janb84 commented Dec 1, 2025

This doesn't work for me on ubuntu 24.04, if I only install what is specified and then execute:

gmake -C depends sqlite CC=gcc-14 CXX=g++-14

it will fail to find C compiler (with the error state above), I needed to install g++:

apt install g++ 

But it will install g++13 so I needed to run :

gmake -C depends sqlite CC=gcc-13 CXX=g++-13

@hebasto
Copy link
Member Author

hebasto commented Dec 1, 2025

@janb84

This doesn't work for me on ubuntu 24.04, if I only install what is specified and then execute:

gmake -C depends sqlite CC=gcc-14 CXX=g++-14

The example above assumes that the gcc-14 and g++-14 packages are installed.

@janb84
Copy link
Contributor

janb84 commented Dec 1, 2025

@janb84

This doesn't work for me on ubuntu 24.04, if I only install what is specified and then execute:

gmake -C depends sqlite CC=gcc-14 CXX=g++-14

The example above assumes that the gcc-14 and g++-14 packages are installed.

Ah Sorry, my mistake, took your example to literally.

Copy link
Contributor

@janb84 janb84 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 632cf87

PR adds tcl as package to install in order to be able to compile depends. (specific case sqlite)
Have confirmed change on ubuntu 24.04

@fanquake
Copy link
Member

fanquake commented Dec 2, 2025

Can we just pass the compiler through?

@hebasto
Copy link
Member Author

hebasto commented Dec 2, 2025

Can we just pass the compiler through?

See #33995.

@fanquake fanquake removed this from the 31.0 milestone Dec 3, 2025
@hebasto
Copy link
Member Author

hebasto commented Dec 3, 2025

Can we just pass the compiler through?

See #33995.

Closing in favour of #33995.

@hebasto hebasto closed this Dec 3, 2025
fanquake added a commit that referenced this pull request Dec 5, 2025
710031e Revert "guix: sqlite wants tcl" (Hennadii Stepanov)
4cf5ea6 depends: Propagate native C compiler to `sqlite` package (Hennadii Stepanov)

Pull request description:

  This PR:

  1. Ensures that autosetup can build the local bootstrap `jimsh0` when neither `jimsh` nor `tclsh` is available on the system.

  2. Removes the `tcl` package from the Guix manifest.

  This is an alternative to #33975.

ACKs for top commit:
  fanquake:
    ACK 710031e
  sedited:
    ACK 710031e

Tree-SHA512: bdaa29af977799669bfc2aa3a8d0a4a688263b99c5f06b1582fbefb71ef77be0ee6223903e8357e51a9e0a7744807174b94262c2f4a3afd9f39737b61b00863e
@hebasto hebasto deleted the 251130-tcl branch December 5, 2025 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants