Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Wrong compile option during Rails installation on Clear Linux OS?

Aperta
#82 4 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
30/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
c, ruby

Direzione di ricerca

Riprodurre l'installazione di Rails su Clear Linux OS e ispezionare il Makefile generato in ext/websocket-driver dopo l'esecuzione di extconf.rb. Confrontare i flag del compilatore utilizzati per websocket_mask.c con le versioni di Ruby e gcc riportate nell'issue. Il lavoro è completato quando l'estensione nativa di websocket-driver viene compilata correttamente durante l'installazione della gem senza l'opzione non riconosciuta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I wonder whether this is caused by the installation mechanism of this gem, or Ruby.

Install Rails with "sudo gem install rails" on Clear Linux OS, building gem is failed at "websocket-driver".

Error said
"gcc: error: unrecognized command-line option ‘-mzero-caller-saved-regs=used’; did you mean ‘-fzero-call-used-regs=’?"

It looks associated with the next topic.
https://gcc.gnu.org/pipermail/gcc-patches/2020-July/550018.html

Is an inappropriate building option set in Makefile dynamically generated during installation process? Although I over-write this option as "-fzero-call-used-regs=", Makefile itself is overwritten in installation process.

Steps to reproduce

Process of installation

  1. install following bundles with command "sudo swupd bundle-add"
    -ruby-basic
    -sqlite
    -nodejs-basic
    -c-basic
    -devpkg-sqlite-autoconf

  2. setup command of ruby and rails
    sudo gem update --system

Error at "websocket-driver"

Expected behavior

Rails is successfully installed.

Actual behavior

Next error is reported.

wsluser@paulownia~ $ sudo gem install rails
Password:
Building native extensions. This could take a while...
ERROR:  Error installing rails:
        ERROR: Failed to build gem native extension.

    current directory: /usr/lib64/ruby/gems/2.7.0/gems/websocket-driver-0.7.3/ext/websocket-driver
/usr/bin/ruby -I /usr/lib64/ruby/site_ruby/2.7.0 -r ./siteconf20210501-2471-f0bjii.rb extconf.rb
creating Makefile

current directory: /usr/lib64/ruby/gems/2.7.0/gems/websocket-driver-0.7.3/ext/websocket-driver
make DESTDIR\= clean

current directory: /usr/lib64/ruby/gems/2.7.0/gems/websocket-driver-0.7.3/ext/websocket-driver
make DESTDIR\=
compiling websocket_mask.c
gcc: error: unrecognized command-line option ‘-mzero-caller-saved-regs=used’; did you mean ‘-fzero-call-used-regs=’?
make: *** [Makefile:245: websocket_mask.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/lib64/ruby/gems/2.7.0/gems/websocket-driver-0.7.3 for inspection.
Results logged to /usr/lib64/ruby/gems/2.7.0/extensions/x86_64-linux/2.7.0/websocket-driver-0.7.3/gem_make.out
System configuration

Rails version:

wsluser@paulownia~ $ rails -v
Rails 6.1.3.1

Ruby version:

wsluser@paulownia~ $ ruby -v
ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x86_64-linux-gnu]

Clear Linux OS:

wsluser@paulownia~ $ cat /etc/os-release
NAME="Clear Linux OS"
VERSION=1
ID=clear-linux-os
ID_LIKE=clear-linux-os
VERSION_ID=34560
PRETTY_NAME="Clear Linux OS"
ANSI_COLOR="1;35"
HOME_URL="https://clearlinux.org"
SUPPORT_URL="https://clearlinux.org"
BUG_REPORT_URL="mailto:[email protected]"
PRIVACY_POLICY_URL="http://www.intel.com/privacy"
BUILD_ID=34560
Lingua principale
Ruby
Stelle
238
Fork
49
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di faye/websocket-driver-ruby

Tutte le issue di faye/websocket-driver-ruby

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.