Skip to content

Conversation

@weiji14
Copy link
Member

@weiji14 weiji14 commented Jan 4, 2026

Pinning to libsqlite==3.50.4 to match repo2docker exactly. Repo2docker first installs some packages (including libsqlite) into the 'notebook' environment, and then upgrades packages based on what's in the environment.yml file. The undefined symbol: sqlite3_total_changes64 error occurs because of some mismatch in sqlite versions it seems.

Test at Binder

This is a hacky fix to the error encountered at #62 (comment). Proper fix might be to rely on upstream changes (in repo2docker?, gdal?, or somewhere else).

@weiji14 weiji14 self-assigned this Jan 4, 2026
@weiji14
Copy link
Member Author

weiji14 commented Jan 4, 2026

Noticing this warning at the linking step (https://github.com/GenericMappingTools/try-gmt/actions/runs/20699859136/job/59420488037?pr=63#step:6:2195):

Linking libsqlite-3.51.1-h0c1763c_1
Linking libuuid-2.41.3-h5347b49_0
Linking openssl-3.6.0-h26f9b46_0
Linking zstd-1.5.7-hb78ec9c_6
Linking giflib-5.2.2-hd590300_0
Linking json-c-0.18-h6688a6e_0
Linking libdeflate-1.25-h17f619e_0
Linking libjpeg-turbo-3.1.2-hb03c661_0
Linking libpng-1.6.53-h421ea60_0
Linking libwebp-base-1.6.0-hd42ef1d_0
Linking muparser-2.3.5-h5888daf_0
Linking pcre2-10.47-haa7fec5_0
Linking xerces-c-3.3.0-h988505b_0
Linking libbrotlicommon-1.2.0-hb03c661_1
Linking sqlite-3.32.3-hcee41ef_1
warning  libmamba [sqlite-3.32.3-hcee41ef_1] The following files were already present in the environment:
    - include/sqlite3.h
    - include/sqlite3ext.h
    - lib/libsqlite3.so
    - lib/libsqlite3.so.0
    - lib/pkgconfig/sqlite3.pc

Not sure why sqlite 3.32.3 is being pulled in, but thinking that this might be the problem, as it might be conflicting with libsqlite 3.51.1?

@weiji14
Copy link
Member Author

weiji14 commented Jan 5, 2026

Hmm, I'm starting to think this isn't an issue on GMT but GDAL (specifically conda-forge's libgdal-core=3.12.0=habacd5f_0, possibly others too?). I did a local install, and got:

$ gdal --version
gdal: symbol lookup error: /home/user/mambaforge/envs/pygmt/bin/../lib/libgdal.so.38: undefined symbol: sqlite3_total_changes64

so probably need to investigate https://github.com/conda-forge/gdal-feedstock

Edit: did a clean conda environment install with GDAL 3.12.1 included and the error goes away 😅 But still, should look into what's going on with GDAL and sqlite perhaps.

instead of conda/mamba. Should pull in jupyter-repo2docker 2025.12.0 instead of 2025.8.0
@weiji14 weiji14 changed the title WIP: debug undefined symbol: sqlite3_total_changes64 error Pin libsqlite=3.50.4 to workaround undefined symbol: sqlite3_total_changes64 error Jan 5, 2026
@weiji14 weiji14 marked this pull request as ready for review January 5, 2026 04:26
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: "3.13"
pip-install: jupyter-repo2docker
Copy link
Member Author

Choose a reason for hiding this comment

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

Switched from conda install jupyter-repo2docker to pip install jupyter-repo2docker to pull in newer https://pypi.org/project/jupyter-repo2docker/2025.12.0 version since conda-forge is a little behind (xref conda-forge/jupyter-repo2docker-feedstock#16).

@weiji14 weiji14 requested a review from seisman January 5, 2026 04:28
@weiji14 weiji14 merged commit 2894231 into main Jan 5, 2026
2 checks passed
@weiji14 weiji14 deleted the fix/repo2docker branch January 5, 2026 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants