Skip to content

Conversation

@bsautner
Copy link
Contributor

@bsautner bsautner commented Dec 3, 2024

Subsystem

Docs

Motivation

KTOR-7909

As a new contributor, the instructions to build from source have an old version of libncurses and will result in a package not found error. This can be confusing to new contributors.

Solution

  • Replace outdated 'libncurses5' packages with 'libncurses-dev' and 'libtinfo-dev' to ensure future compatibility.
  • Use 'apt' instead of 'apt-get' for modern best practices.
  • Simplify installation commands by combining them and removing explicit version numbers.

…g guide

- Replace outdated 'libncurses5' packages with 'libncurses-dev' and 'libtinfo-dev' to ensure compatibility with Ubuntu 20.04 and later.

- Use 'apt' instead of 'apt-get' for modern best practices.

- Simplify installation commands by combining them and removing explicit version numbers.
KTOR-7909 docs: update Linux instructions in contributing.md
@Stexxe Stexxe requested a review from vnikolova December 4, 2024 08:01
Copy link
Member

@osipxd osipxd left a comment

Choose a reason for hiding this comment

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

LGTM! Thank you for updating this

Copy link
Contributor

@vnikolova vnikolova left a comment

Choose a reason for hiding this comment

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

Thanks for your contribution @bsautner !

@osipxd
Copy link
Member

osipxd commented Dec 6, 2024

@e5l, could you merge this PR ignoring required checks?
I think we should reconfigure our CI for such cases when only markdown files are changed.

@e5l e5l merged commit 2844ae2 into ktorio:main Dec 9, 2024
14 checks passed
@e5l
Copy link
Member

e5l commented Dec 9, 2024

Hey @bsautner, thanks for the PR! LGTM

@bsautner
Copy link
Contributor Author

bsautner commented Dec 9, 2024

Thanks @e5l , @vnikolova and @osipxd - It was a small contribution but really meaningful to me to have a PR merged to main on this project. I'm a distinguished engineer at Comcast and lead mobile development here, specifically with android or kmp on iOS. Part of my role is to contribute to open source and chose to put my focus on ktor because we're using it in the xfinity android app and also I just love the project; I even have some ktor server hobby projects going. I hope I can help more!

aochagavia pushed a commit to aochagavia/kson that referenced this pull request Jul 7, 2025
Our linux builds recently started erroring with:

```
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libncurses5

Exited with code exit status 100
```

Seems libncurses5 was deprecated and is no longer available in the
repos our build uses.  See [this issue along](https://youtrack.jetbrains.com/issue/KTOR-7909/Contribution-Installation-Instructions-Replace-libncurses5-with-libncurses6-for-Ubuntu-20.04-and-Later)
along with [this pull request providing its fix](ktorio/ktor#4529)
for more color on this.

Note: neither that issue nor the pull request were clear on why we
should move to `libncurses-dev` rather than `libncurses6` so I dug into
it a bit.  It seems `libncurses-dev` is designed to provide a stable
interface to the underlying version of libncurses, currently
pointing to libncurses6. See [the package description here](https://packages.debian.org/sid/libncurses-dev)
So `-dev` does indeed look like the right version for us, and should
protect us from our builds suddenly breaking like this again in the
future
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.

4 participants