回答編集履歴
1
dlfcnについて追記
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
エラーの原因ですが、2019年3月4日時点での最新のsqlite3 v1.4.0では[dlおよびdlopen()(Linuxに存在するライブラリとCの関数)が必須](https://github.com/sparklemotion/sqlite3-ruby/commit/f4ffec281a2888c1e536662ac1ea740fd3f5433c)となっているのですが、MSYS2/Mingw-w64環境にはこの関数が存在しないため、必要な関数が無いと言うことでコンパイルに失敗してしまいます。sqlite3の最新版(v1.4.0)特有の問題であり、**Rubyのバージョンは関係ありません。**sqlite3のバージョンを下げない限り、Rubyのバージョンを下げても問題は解決しません。
|
1
|
+
エラーの原因ですが、2019年3月4日時点での最新のsqlite3 v1.4.0では[dlおよびdlopen()(Linuxに存在するライブラリとCの関数)が必須](https://github.com/sparklemotion/sqlite3-ruby/commit/f4ffec281a2888c1e536662ac1ea740fd3f5433c)となっているのですが、MSYS2/Mingw-w64環境には標準でこの関数が存在しない(入れる方法は後述)ため、必要な関数が無いと言うことでコンパイルに失敗してしまいます。sqlite3の最新版(v1.4.0)特有の問題であり、**Rubyのバージョンは関係ありません。**sqlite3のバージョンを下げない限り、Rubyのバージョンを下げても問題は解決しません。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -17,3 +17,23 @@
|
|
17
17
|
|
18
18
|
|
19
19
|
Ruby 2.5以上の場合は`--platform ruby`は必須です(sqlite3 1.3.13のmingw版にはRuby 2.4までしかWindows用バイナリが用意されていないため)。sqlite3側でもそのうち修正はされるとは思いますが、まだ誰もIssuesに投げていないようなので、いつ修正されるかは不明です。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
---
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
asmさんの情報より
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
```
|
32
|
+
|
33
|
+
ridk exec pacman -S mingw-w64-x86_64-dlfcn
|
34
|
+
|
35
|
+
```
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
でMSYS2上にdlfncパッケージを入れておくとコンパイルが出来ることを確認しました。1.4.0を使いたいなら、この方法の方が良いかもしれません。
|