Implem / Implem.Pleasanter

Pleasanter is a no-code/low-code development platform that runs on .NET. You can quickly create business applications with simple operations.
https://pleasanter.org
GNU Affero General Public License v3.0
532 stars 85 forks source link

Linux版のサーバサイドスクリプトについて #345

Closed designet-oss closed 1 year ago

designet-oss commented 3 years ago

次の環境でPleasanterを利用しています。

サーバサイドスクリプトを定義して、テーブルの更新などの操作をすると アプリケーションで問題が発生しました。 というエラーが表示されます。

スクリプトは次のようなとても単純なものです。

model.Body = "sample";

PostgreSQLのsyslogsテーブルを確認したところ、次のようなエラーが存在していました。

Cannot load ClearScript V8 library. Load failure information for ClearScriptV8.linux-x64.so:
/usr/share/nginx/html/pleasanter/Implem.Pleasanter/runtimes/linux-x64/native/ClearScriptV8.linux-x64.so: Unable to load shared library '/usr/share/nginx/html/pleas
at Microsoft.ClearScript.V8.V8Proxy.LoadNativeLibrary(String baseName, String platform, String architecture, String extension

ClearScriptV8.linux-x64.soの共有ライブラリの状態を確認すると、次のようにGLIBCXX_3.4.26が 見つからないというエラーが出ています。V8という名前から、おそらく.NETでV8エンジンを実行、つまりサーバサイドでjavascirptを動かすためのライブラリのエラーと考えています。

# ldd /pleasanter/Implem.Pleasanter/runtimes/linux-x64/native/ClearScriptV8.linux-x64.so
/pleasanter/Implem.Pleasanter/runtimes/linux-x64/native/ClearScriptV8.linux-x64.so: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by pleasanter/Implem.Pleasanter/runtimes/linux-x64/native/ClearScriptV8.linux-x64.so)
    linux-vdso.so.1 (0x00007ffd75974000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbbcde16000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbbcda81000)
    libm.so.6 => /lib64/libm.so.6 (0x00007fbbcd6ff000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbbcd4e7000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fbbcd124000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fbbcf200000)

CentOS8の標準のglibcは次のようなバージョンです。

glib2-2.56.4-8.el8.x86_64
glibc-2.28-127.el8.x86_64
glibc-common-2.28-127.el8.x86_64
glibc-langpack-ja-2.28-127.el8.x86_64

バージョンが噛み合わないのはわかるのですが、どのようにしたら動作させられるのでしょうか? Glibcを別途コンパイルして、別パスにインストールなどが必要なのでしょうか?

designet-oss commented 3 years ago

glibcではなく、libstdc++が問題ですね。失礼しました。 状況的にCentOS StreamやRHEL8では動くということなのでしょうか。

libstdc++-8.3.1-5.1.el8.x86_64
# strings /usr/lib64/libstdc++.so.6  | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
designet-oss commented 3 years ago

CentOS Streamに切り替えてlibstdc++をアップデートしてみましたが、状況変化しません。 開発されている環境とは根本的に何かが違うのでしょうか。

github-actions[bot] commented 1 year ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

github-actions[bot] commented 1 year ago

This issue was closed because it has been stalled for 7 days with no activity.