Wrong linker path when building from source
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- javascript, ruby
- 領域
- build-system
調査の方向性
Start with the linker error and compare the V8 library path it seeks with the directory where the report says libv8_monolith.a exists; inspect the build configuration that assembles that path. Reproduce with bundle exec rake compile on the reported Ubuntu setup. Done when the build links successfully using the existing library path.
索引モデルが issue の本文から書いたものです。
説明
At commit 99a166d. Fresh checkout.
$ bundle install
# ...
Bundle complete! 7 Gemfile dependencies, 20 gems now installed.
Bundled gems are installed into `./vendor/bundle`
$ bundle exec rake compile
mkdir -p tmp/x86_64-linux-gnu/mini_racer_loader/3.3.4
cd tmp/x86_64-linux-gnu/mini_racer_loader/3.3.4
/usr/bin/ruby3.3 -I. ../../../../ext/mini_racer_loader/extconf.rb
creating Makefile
cd -
cd tmp/x86_64-linux-gnu/mini_racer_loader/3.3.4
/usr/bin/gmake
compiling ../../../../ext/mini_racer_loader/mini_racer_loader.c
linking shared-object mini_racer_loader.so
cd -
mkdir -p tmp/x86_64-linux-gnu/stage/lib
cp CHANGELOG tmp/x86_64-linux-gnu/stage/CHANGELOG
cp CODE_OF_CONDUCT.md tmp/x86_64-linux-gnu/stage/CODE_OF_CONDUCT.md
cp LICENSE.txt tmp/x86_64-linux-gnu/stage/LICENSE.txt
cp README.md tmp/x86_64-linux-gnu/stage/README.md
mkdir -p tmp/x86_64-linux-gnu/stage/ext/mini_racer_extension
cp ext/mini_racer_extension/extconf.rb tmp/x86_64-linux-gnu/stage/ext/mini_racer_extension/extconf.rb
cp ext/mini_racer_extension/mini_racer_extension.c tmp/x86_64-linux-gnu/stage/ext/mini_racer_extension/mini_racer_extension.c
cp ext/mini_racer_extension/mini_racer_v8.cc tmp/x86_64-linux-gnu/stage/ext/mini_racer_extension/mini_racer_v8.cc
cp ext/mini_racer_extension/mini_racer_v8.h tmp/x86_64-linux-gnu/stage/ext/mini_racer_extension/mini_racer_v8.h
cp ext/mini_racer_extension/serde.c tmp/x86_64-linux-gnu/stage/ext/mini_racer_extension/serde.c
mkdir -p tmp/x86_64-linux-gnu/stage/ext/mini_racer_loader
cp ext/mini_racer_loader/extconf.rb tmp/x86_64-linux-gnu/stage/ext/mini_racer_loader/extconf.rb
cp ext/mini_racer_loader/mini_racer_loader.c tmp/x86_64-linux-gnu/stage/ext/mini_racer_loader/mini_racer_loader.c
cp lib/mini_racer.rb tmp/x86_64-linux-gnu/stage/lib/mini_racer.rb
mkdir -p tmp/x86_64-linux-gnu/stage/lib/mini_racer
cp lib/mini_racer/shared.rb tmp/x86_64-linux-gnu/stage/lib/mini_racer/shared.rb
cp lib/mini_racer/truffleruby.rb tmp/x86_64-linux-gnu/stage/lib/mini_racer/truffleruby.rb
cp lib/mini_racer/version.rb tmp/x86_64-linux-gnu/stage/lib/mini_racer/version.rb
/usr/bin/gmake install sitearchdir=../../../../lib sitelibdir=../../../../lib target_prefix=
/usr/bin/install -c -m 0755 mini_racer_loader.so ../../../../lib
cp tmp/x86_64-linux-gnu/mini_racer_loader/3.3.4/mini_racer_loader.so tmp/x86_64-linux-gnu/stage/lib/mini_racer_loader.so
mkdir -p tmp/x86_64-linux-gnu/mini_racer_extension/3.3.4
cd tmp/x86_64-linux-gnu/mini_racer_extension/3.3.4
/usr/bin/ruby3.3 -I. ../../../../ext/mini_racer_extension/extconf.rb
checking for -lpthread... yes
checking for whether -Wl,--exclude-libs=ALL is accepted as LDFLAGS... no
creating Makefile
cd -
cd tmp/x86_64-linux-gnu/mini_racer_extension/3.3.4
/usr/bin/gmake
compiling ../../../../ext/mini_racer_extension/mini_racer_extension.c
compiling ../../../../ext/mini_racer_extension/mini_racer_v8.cc
linking shared-object mini_racer_extension.so
/usr/bin/ld: cannot find /home/bnoordhuis/src/mini_racer/vendor/bundle/ruby/3.3.0/gems/libv8-node-24.1.0.0-x86_64-linux/vendor/v8/x86_64-linux-gnu/libv8/obj/libv8_monolith.a: No such file or directory
collect2: error: ld returned 1 exit status
gmake: *** [Makefile:265: mini_racer_extension.so] Error 1
rake aborted!
Command failed with status (2): [/usr/bin/gmake]
/home/bnoordhuis/src/mini_racer/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.2.7/lib/rake/extensiontask.rb:195:in `block (2 levels) in define_compile_tasks'
/home/bnoordhuis/src/mini_racer/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.2.7/lib/rake/extensiontask.rb:194:in `block in define_compile_tasks'
/home/bnoordhuis/src/mini_racer/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => compile => compile:x86_64-linux-gnu => compile:mini_racer_extension:x86_64-linux-gnu => copy:mini_racer_extension:x86_64-linux-gnu:3.3.4 => tmp/x
86_64-linux-gnu/mini_racer_extension/3.3.4/mini_racer_extension.so
(See full trace by running task with --trace)
libv8_monolith.a does exist but it lives in:
vendor/bundle/ruby/3.3.0/gems/libv8-node-24.1.0.0-x86_64-linux/vendor/v8/x86_64-linux
Vs. what the linker looks for (note the -gnu):
vendor/bundle/ruby/3.3.0/gems/libv8-node-24.1.0.0-x86_64-linux/vendor/v8/x86_64-linux-gnu
The system on which this happens:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.10
DISTRIB_CODENAME=oracular
DISTRIB_DESCRIPTION="Ubuntu 24.10"
- 主要言語
- JavaScript
- スター
- 628
- フォーク
- 100
- 平均マージ
- 1日 20時間
- マージ済み PR(30日)
- 2
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
rubyjs/mini_racer のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
rubyjs/mini_racer#449 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
rubyjs/mini_racer#450 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
rubyjs/mini_racer#448 ·
-
bug/crash platform: linux/x86
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
rubyjs/mini_racer#422 · コメント 10 件 ·
-
platform: darwin/x86
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
rubyjs/mini_racer#388 · コメント 4 件 ·
rubyjs/mini_racer の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
rescript-lang/rescript#8996 ·
メンテナーはふだん 1 日以内に返信
-
check:passed logos:add
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
fossasia/visdom-dev#69 ·
メンテナーはふだん 3 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 74/100
-
建议写成 1949-オープン
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
DeanChensj/jiangshan-map#133 ·
メンテナーはふだん 1 日以内に返信