ruby / ruby/ruby.wasm

Gems with native extensions

Ouverte
#453 7 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Ruby
Étoiles
875
Forks
68
Merge moyen
9 j 5 h
PR mergées (30 j)
1

Description

Can we use gems with native extensions? I've read somewhere that it is possible, and it makes sense for it to be possible. However, I'm struggling to get even a basic example to compile. There doesn't seem to be any documentation as to how to set it up.

If I try statically linking, I get the error "Could not create Makefile due to some reason". Checking the mkmf log does not yield any useful information.

If I try dynamically linking with RUBY_WASM_EXPERIMENTAL_DYNAMIC_LINKING, I get the error ld: unknown option: -Xlinker

I've created a minimal repo to test: https://github.com/danini-the-panini/rbwasm-foo

If it makes a difference, I'm running on Apple silicon.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire l’exemple minimal dans le dépôt rbwasm-foo lié, puis examinez le journal mkmf ainsi que les erreurs de static-linking et dynamic-linking décrites ici. Documentez si les gems avec des extensions natives sont prises en charge, quelle configuration est requise et à quoi devrait ressembler une compilation réussie, y compris le cas d’Apple silicon.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
ruby, wasm
Domaine
build-system
Type d'issue
Documentation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.