GTM インストール時の問題点 2015 年 6 月 10 日 ubuntu-14.04.2-server、Debian8 上で./configure を使った GTM のインストール過程 でエラーが出ます。。 インストール時のエラー nicu@shu:~/download$ sudo su [sudo] password for nicu: root@shu:~# root@shu: # cd /home/nicu/download root@shu:~/download# ./configure ./_XCMD.m ---> ./_xcmd.m Compiling all of the MUMPS routines. This may take a moment. ./configure: 695: ./configure: ld: not found Installation completed. Would you like all the temporary files removed from this directory? (y or n) n このインストールでは libgtmutil.so が出来てこない。 root@shu:~# sudo find / -name libgtmutil.so -print root@shu:~# libgtmutil.so が無いと、utf8 モードで起動時にエラー。EWD.js のインストールが 進まないなどの問題を起こします。 V6.2-002_x86_64 手がかり(ほぼ同様の現象) Robert Anders GT.M V6.2-000 on Debian Jessie, UTF-8, "File %XCMD not found" https://groups.google.com/forum/#!searchin/comp.lang.mumps/ld$3A$20not$20found/comp.lang.mumps /VG593UE0bQ4/zuxJgbAq9soJ K.S. Bhaskar It appears that the shared library /usr/lib/x86_64-linux-gnu/fis-gtm/V6.2-000_x86_64/utf8/libgtmutil.so in the Debian Jesse package is missing the object code for utility programs. see about fixing the package. We'll Meanwhile, you can use the gtminstall script to install GT.M - go to https://sourceforge.net/projects/fis-gtm/files/GT.M%20Installer/ and get the latest version (currently 0.13). Apologies for the inconvenience. これは一部の OS のバージョンでインストールに不具合があり、shared library /usr/lib/x86_64-linux-gnu/fis-gtm/V6.2-000_x86_64/utf8/libgtmutil.so のオブ ジェクトコードに問題がある。 インストール例 /home/nicu/download に gtm_V62002_linux_x8664_pro.tar.gz をダウンロード ディレクトリに移動 nicu@shu:~$ cd download nicu@shu:~/download $ 解凍 nicu@shu:~/download$ tar xvzf gtm_V62002_linux_x8664_pro.tar.gz 解凍先のディレクトリで./gtminstall ( 詳 細 な を実行 オ プ シ ョ http://sourceforge.net/projects/fis-gtm/files/GT.M%20Installer/ ン は を参照してく ださい) nicu@shu:~/download $ sudo ./gtminstall --utf8 5.2 nicu@shu:~/download $ # 一瞬でインストール終了 この問題は debian7 では起こらず問題なくインストール終了(シングルバイト) Compiling all of the MUMPS routines. This may take a moment. Object files of M routines placed in shared library /usr/lib/fis-gtm/V6.2-002_x86_64/libgtmutil.so Keep original .o object files (y or n)? y 問題ない例ではインストール終了直前に shared library である /usr/lib/fis-gtm/V6.2-002_x86_64/libgtmutil.so が出来たとのメッセージが出てい る。 EWD.js の再起動時のエラー LANG の異なるシェル(ターミナル、コンソール)で EWD.js を起動すると EWD.js が壊れる。 残念ですがシェルの起動時にシングルバイトで GTM を動作させた事により起 こりました。 GTM はシングルバイト動作用にオブジェクトを切り替えています。UTF-8 に切り 替えた時正しくオブジェクトの切り替えができていません。 シェルスクリプト に全てのターミナル、コンソールが UTF-8 モードで動作するよう設定されている か確認してください。 確認後 EWD.js を再インストールして下さい(GTM のイ ンストールは不要です) 。 以下のエラー内容は以下の様になります。 nicu@shu:~/ewdjs$ node test-gtm.js db: {} db.optn: {"ok":1,"result":"1"} {"ok":0,"errorCode":150380986,"errorMessage":"%GTM-E-INVOBJFILE, Cannot ZLINK object file /home/nicu/ewdjs/node_modules/nodem/src/v4wNode.o due to unexpected format,%GTM-I-TEXT, Object compiled with CHSET=M which is different from $ZCHSET"} nicu@shu:~/ewdjs$ nicu@shu:~/ewdjs$ node ewdStart-gtm gtm-config ******************************************** **** EWD.js Build 100 (15 May 2015) ******* ******************************************** ・ ・ *** ERROR: Global access test failed: Code 150380986; %GTM-E-INVOBJFILE, Cannot ZLINK object file /home/nicu/ewdjs/node_modules/nodem/src/v4wNode.o due to unexpected format,%GTM-I-TEXT, Object compiled with CHSET=M which is different from $ZCHSET child process returned response {"pid":4494,"type":"firstChildInitialisationError","processNo":0} Startup aborted child process returned response {"pid":4494,"type":"initialise","release":true,"empty":true,"processNo":0} process 4494 returned to available pool; type=initialise EWD.js shutting down... *** 4494 closed gtm GTM は正常動作 nicu@shu:~$ gtm GTM>あ %GTM-E-CMD, Command expected but not found あ ^----GTM>h 原因 コンソールとターミナルで環境変数 LANG の設定が異なっている。 (コンソ ールの文字化け修正しようとしてコンソールの環境変数が LANG=C にな っている。) .bashrc 駄目な設定ファイル例 (同じユーザーなのにコンソール毎に立ち上がる言語環境が機となって しまう) case $TERM in linux) LANG=C ;; *) LANG=ja_JP.UTF-8 ;; esac .bashrc 正しい設定例 とにかく全てのコンソールで LANG="ja_JP.UTF-8"とする。 export LANG="ja_JP.UTF-8" export gtm_icu_version="5.2" export gtm_chset="UTF-8" export LC_CTYPE=" ja_JP.UTF-8" source /usr/lib/fis-gtm/V6.2-002_x86_64/gtmprofile という事なので文字化は無視して LANG=ja_JP.UTF-8 とすれば良い。 EWD.js の再インストール nicu@shu:~$ ls download ewdjs nicu@shu:~$ sudo rm -r ewdjs [sudo] password for nicu: nicu@shu:~$ mkdir ewdjs nicu@shu:~$ cd ewdjs nicu@shu:~/ewdjs$ npm install ewdjs ・ ・ Install EWD.js to directory path (/home/nicu/ewdjs): ・ ・ If you're an experienced user or this is a production environment, enter N Enter Y/N: y ・ ・ nicu@shu:~/ewdjs$ npm install nodem ¥ > [email protected] install /home/nicu/ewdjs/node_modules/nodem > (node-gyp rebuild 2> builderror.log) || (exit 0) [email protected] node_modules/nodem nicu@shu:~/ewdjs$ node --version v0.12.4 nicu@shu:~/ewdjs$ cd ~/ewdjs/node_modules/nodem/lib nicu@shu:~/ewdjs/node_modules/nodem/lib$ ls mumps.node mumps10.node_x8664 mumps12.node_x8664 mumps10.node_i686 mumps8.node_x8664 mumps12.node_i686 mumps8.node_i686 nodem.js nicu@shu:~/ewdjs/node_modules/nodem/lib$ rm mumps.node nicu@shu:~/ewdjs/node_modules/nodem/lib$ cp mumps12.node_x8664 mumps.node 古いリンクの削除 nicu@shu:~/ewdjs/node_modules/nodem/lib$ cd /usr/local/lib/ nicu@shu:/usr/local/lib$ ls libgtmshr.so python2.7 python3.4 nicu@shu:/usr/local/lib$ sudo rm libgtmshr.so nicu@shu:/usr/local/lib$ ls python2.7 python3.4 nicu@shu:/usr/local/lib$ sudo ln -s /usr/lib/fis-gtm/V6.2-002_x86_64/libgtmshr.o /usr/local/lib/libgtmshr.so nicu@shu:/usr/local/lib$ sudo ldconfig 起動テスト nicu@shu:/usr/local/lib$ cd ~/ewdjs nicu@shu:~/ewdjs$ node test-gtm.js db: {} db.optn: {"ok":1,"result":"1"} "Node.js Adaptor for GT.M: Version: 0.6.0 (FWSLC); GT.M V6.2-002 Linux x86_64" nicu@shu:~/ewdjs$
© Copyright 2024 ExpyDoc