apache / apache/incubator-pegasus

Building Pegasus on Ubuntu 20.04 with OpenSSL 3 installed: undefined reference to ERR_peek_last_error_all

Open
#2,340 0 comments 0 reactions 0 assignees View on GitHub
type/bug
Dominant language
C++
Stars
2.1k
Forks
328
PR merge metrics
No merged PRs in 30d

Description

## Bug Report
When building Pegasus (including thirdparty RocksDB) on Ubuntu 20.04 with OpenSSL 3 installed manually, the build fails during the link stage with the following error:

```
/usr/bin/ld: ../librocksdb.so.8.5.3: undefined reference to `ERR_peek_last_error_all'
make[5]: *** [tools/CMakeFiles/sst_dump.dir/build.make:101: tools/sst_dump] Error 1
make[4]: *** [CMakeFiles/Makefile2:305: tools/CMakeFiles/sst_dump.dir/all] Error 2
```

This is link with https://github.com/apache/incubator-pegasus/issues/2325

1. What did you do?
I build pegasus on ubuntu 20.04 and failed

Environment
OS: Ubuntu 20.04 (x86_64)
Compiler: GCC (system default)
CMake: system version
OpenSSL:
System default: OpenSSL 1.1.1 (libcrypto.so.1.1)
Manually installed: OpenSSL 3.x (e.g. under /usr/local/openssl)
Project: Pegasus (with thirdparty RocksDB build enabled)

Contributor guide

Open the contributing guide

Research direction

Reproduce the link failure on Ubuntu 20.04 with manually installed OpenSSL 3 and the thirdparty RocksDB build enabled. Inspect the CMake configuration and the tools/sst_dump link target, then verify that the Pegasus build completes without the ERR_peek_last_error_all undefined reference.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.