duckdb / duckdb/duckdb-ui

Build from source: SSL_connect symbol not found

Open
#89 5 comments 0 reactions 0 assignees View on GitHub
needs info
Dominant language
TypeScript
Stars
465
Forks
47
PR merge metrics
No merged PRs in 30d

Description

I have tried to build duckdb with three extensions: fts, httpfs and ui.

I specify the following `extension/extension_config_local.cmake` file:
```
duckdb_extension_load(httpfs
SOURCE_DIR ${DUCKDB_MODULE_BASE_DIR}/../duckdb_httpfs
DONT_LINK)
duckdb_extension_load(ui
SOURCE_DIR ${DUCKDB_MODULE_BASE_DIR}/../duckdb-ui
DONT_LINK)
duckdb_extension_load(fts
SOURCE_DIR ${DUCKDB_MODULE_BASE_DIR}/../duckdb_fts
DONT_LINK
)
```

Unfortunately, the resulting ui extension does not load:
```
D load ui;
IO Error:
Extension "/home/arjen/.duckdb/extensions/43c5f34898/linux_amd64/ui.duckdb_extension" could not be loaded: /home/arjen/.duckdb/extensions/43c5f34898/linux_amd64/ui.duckdb_extension: undefined symbol: SSL_connect
```

Loading the httpfs extension does work successfully however; which specifies the same dependency on `openssl` in its `vcpkg.json`.

The output of `make`/`vcpkg`/etc. includes:
```
Installing 3/3 openssl:x64-linux@3.0.8...
```

Any idea how to resolve the problem?

Just in case, I have documented [my build process](https://gitlab.science.ru.nl/informagus/duckdb-howto/-/blob/main/devel.md) but I realize there can be many differences.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with extension_config_local.cmake and compare the ui and httpfs vcpkg.json dependencies and linking behavior. Reproduce the make/vcpkg build, then investigate why the resulting ui extension has the undefined SSL_connect symbol. Done means the ui extension loads successfully without that error.

Written by the indexing model from the issue text.

Assessment

Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.