conda-forge / conda-forge/ruby-feedstock

Document how to compile native extensions

Open
#44 3 comments 2 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
2
Forks
25
PR merge metrics
No merged PRs in 30d

Description

To install gems with native extensions with the Ruby from this feedstock, the conda-forge compilers must be installed in the environment with

```
conda install -c conda-forge compilers
```

This is not obvious for beginner conda-forge users, and beginner Ruby users. It would be good to document this somewhere.

One idea is to use `$PREFIX/.messages.txt` so that upon installing the `ruby` package, we output a message like

```
To install gems with native extensions, you need the conda-forge compilers in your environment.

Provided the conda-forge channel is properly configured with strict priority, you can install the compilers with:

conda install compilers
```

That would be the easiest way at the moment, I think. But then this message is automatically removed by conda after installation is finished, so it's not that great because users have no easy way to see this message again.

What would be easier is if conda had a `conda info ` command, like Homebrew does (which shows the "Caveats" section that are also shown at the end of installation).

Another idea is to mention it in the README of the feedstock, but this has a lot less visibility for users.

We could also add a section to the User documentation at conda-forge.github.io talking about the need to install the conda-forge compilers to install packages with natives extensions from another package management ecosystem that you install from conda-forge.

_Originally posted by @phil-blain in https://github.com/conda-forge/ruby-feedstock/pull/18#issuecomment-649886178_

Contributor guide

Open the contributing guide

Research direction

Review the feedstock README, the proposed $PREFIX/.messages.txt approach, and the User documentation at conda-forge.github.io. Decide where the compiler requirement is most discoverable, then document that native Ruby extensions need conda-forge compilers and include the conda install compilers command. Done means a beginner can find and follow the guidance.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.