- 締切済み
RedHatに関して、 .so ファイルとは?
RedHatにあるソフトを入れて実行しようとしたところError:Cannot find /usr/local/soft/lib/tcltk_soft.soというエラーが出ます。。tcltk_soft.soというファイルはどこにも見当たりません。そもそも .so とはどのようなファイルなのでしょうか? Linuxは全くの素人です。 もし何かご存知であれば教えていただけると助かります。
- ccoit
- お礼率100% (4/4)
- その他(ソフトウェア)
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- vaidurya
- ベストアンサー率45% (2714/5983)
基本として、そのあるソフトの説明を読む、これ基本。 Tcl/Tkを知らないのだから、Linuxに詳しく無いんだと思います。 であれば、質問する段階で、充分な情報を提示するのが基本です。 また、/usr/local/soft/libというディレクトリーも特筆すべき点です。 これは通常システムに無いファイルである可能性が高い。 /usr/localというディレクトリーはシステムが使うものではなく 管理者が、管理者権限で導入し、一般ユーザーにも利用を認めるファイルを置くところです。 ですから、ここに収まるべきファイルであれば、yumのようなツールでは導入されず そのあるソフトの開発者に確認するか、説明書を確認するか それ以外の解決方法は無いということになります。 http://ja.wikipedia.org/wiki/Tcl/Tk
- Wr5
- ベストアンサー率53% (2177/4070)
あるソフトが何か不明ですが…。 拡張子.soは一般的にライブラリ…です。 Windowsで言う.DLLみたいなモノですかね。 指定されたパスにライブラリがないのでしょう。 ソフトの動作条件などに必要なライブラリ(というかパッケージ)など書かれていませんかね。
お礼
ありがとうございます。 どうやらパソコンにtcltk自体がインストールされていないので、ソフトのインストール時に自動で作成されるはずのファイルが出来ていなかったようです。。 情報不足で済みません。 もう少し勉強してみます。
関連するQ&A
- libstdc++.so.5にパスが通らない
Solaris8のコンソール上でC++でコーディングしたプログラムを実行したのですが、libstdc++.so.5が見つからないというエラーが出ます。 .cshrc内で setenv LD_LIBRARY_PATH /usr/local/lib とパスを設定してあるのですが…… なお、当然ながら/usr/local/libには該当するlibstdc++.so.5が存在しています。
- ベストアンサー
- Solaris系OS
- OpenSSLの共有ライブラリ(libcrypto.so)動的リンクにつきまして
[環境] Linux version 2.6.9-67.EL gcc version 3.4.6 (Red Hat 3.4.6-8)) 以下のように、OpenSSLの共有ライブラリlibcrypto.soをロードする プログラムを書いているのですが、 ------ #include <stdio.h> #include <dlfcn.h> #include <errno.h> void main(void) { void* hSO; hSO = DLL_OPEN("/usr/local/ssl/lib/libcrypto.so", RTLD_NOW); if( hSO == NULL ) { printf("%s\n", dlerror()); } else { // 処理 } } ------ hSO = DLL_OPEN("/usr/local/ssl/lib/libcrypto.so", RTLD_NOW); で、NULLが返って来てしまいます。 [dlerror内容] /usr/local/ssl/lib/libcrypto.so: cannot open shared object file: No such file or directory しかし、このパスには、シンボリックリンクされたlibcrypto.soファイルが存在します。 試しに、同ディレクトリにあるlibcrypto.so.0.9.8mも試しましたが、同じエラーが出力されました。 パスの指定方法に、何か行う必要があるのでしょうか。
- ベストアンサー
- C・C++・C#
- Java 2 SDK, Standard Edition のインストール
こんばんは。 Java 2 SDK, Standard Edition のインストールで困っています。 OSはredhat7jです。 Xwindowは入っていません。 sunのところから、「j2sdk-1_3_0_02-linux.bin」をダウンロードしてきて、 redhatにrootで入り、/usr/localに「j2sdk-1_3_0_02-linux.bin」をコピーしました。 そして、「./j2sdk-1_3_0_02-linux.bin」と入力して実行しました。 メッセージが表示されて、最後に「yes」と入力して、インストールは 成功したのですが、インストールが成功したか確認のために、 「/usr/local/jdk1.3.0_02/bin/java -version」と入力し実行したらエラーが表示されてしまいます。 インストール先は「/usr/local/jdk1.3.0_02/」です。 パスも「PATH=$PATH:/usr/local/jdk1.3.0_02/bin」と通してあります。 エラーの内容は、 /usr/local/jdk1.3.0_02/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory と表示されています。 どうかよろしくお願いします。
- 締切済み
- その他(OS)
- error while loading shared libraries
皆さんこんにちは。 「 error while loading shared libraries」エラーからの 回復の仕方が分からないでいます。 経緯は以下のとおりです。 memcashedの動きを確かめるためのサンプルソースを見つけてきて、 問題なくインストールが無事に完了した後に、 ソース(memtest)を実行しようとしたら、 「libmemcached.so.2がないよ!」ということで、 怒られてしまい実行できませんでした。 ============= ./memtest: error while loading shared libraries: libmemcached.so.2: cannot open shared object file: No such file or directory ============= パスが通っていないという事かな?と思い、 「libmemcached.so.2」の場所を探した後に、 pathに追記してみたのですが、 やはり、同じエラーが出てソースを実行できませんでした。 pathの指定の仕方が適切ではないのでしょうか? どうやって、問題を解決すれば言いか分からないでいます。 OSはFedora9を使用しています。 どなたか、アドバイスいただけますとありがたいです。 宜しくお願い致します。 # find / -name "libmemcached.so.2" -print /lib/libmemcached-0.29/libmemcached/.libs/libmemcached.so.2 /usr/local/lib/libmemcached.so.2 # PATH=$PATH:/usr/local/lib/libmemcached.so.2:/lib/libmemcached-0.29/libmemcached/.libs/libmemcached.so.2 # export PATH # ./memtest ./memtest: error while loading shared libraries: libmemcached.so.2: cannot open shared object file: No such file or directory
- ベストアンサー
- Linux系OS
- Linuxで、Pearコマンドが使えない。
こんばんは。 Linuxにて、Pearを使いたいのですが、 #/usr/local/bin/php にて、pear upgrade PEAR と打つと、 error while loading shared libraries: libmysqlclient.so.14: cannot open shared object file: No such file or directory となってしまいます。 色々調べたところ、libmysqlclient.so.14 がないことが原因のようなのですが、libmysqlclient.so.14 をどこからどうやってインストールし、使えるようにすればよいか分かりません。 ただ、 libmysqlclient.so.15 は、 /usr/lib/mysql 内にありました。 よろしくお願いします!
- ベストアンサー
- PHP
- 32bitでコンパイルするには
お世話になっております。 CentOSの64ビットマシンを使っています。 C言語の簡単なサンプルとして、ポインタ変数の長さを表示するプログラム(sizeof(ポンタ変数)をprintf)を作りました。 これをコンパイルして実行すると8と表示されますので、64bitとアプリケーションとしてコンパイルされたのだろうと思います。 次に32Bitアプリケーションとしてコンパイルするために-m32オプションを付けてコンパイルしたところ、以下のとおりエラーが出てしまい困っております。 gcc -m32 -o sample sample.c /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: cannot find -lgcc_s collect2: ld returned 1 exit status 解決方法について教えていただければ幸いです。 コンパイラは、gcc-4.4.7-3.el6.x86_64をインストールしています。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- libm.so.2: open に失敗しました
教えて下さい。 Solaris10(SunStudio12.1)でビルドしたAPを、 Solaris8で実行しようとしたら、下記のエラーが出て実行できません。 「重大なエラー: libm.so.2: open に失敗しました: ファイルもディレクトリもありません。」 Solaris8のマシンの/usr/libには、libm.so.1はありますが、libm.so.2はありません。 Solaris10のマシンには両方あります。 (1)Solaris10でのビルド時に、libmをstaticリンクすることも考えたのですが、 OSに依存するライブラリだと思いますので、 (2)Solaris8のマシンに存在するlibm.so.1で動作してくれないものかと思っています。 (2)は可能でしょうか?どうすればできますでしょうか? そもそも動的リンクなのに、ビルド時にライブラリのバージョンは固定されてしまうものなのでしょうか? それぞれのマシンには /usr/lib/libm.so というシンボリックリンクがあり、 Solaris10ではlibm.so.2を、 Solaris8ではlibm.so.1を指しています。 バージョンに拘らずシンボリックリンク(libm.so)を使ってくれないものなのでしょうか? 宜しくお願い致します。
- ベストアンサー
- Solaris系OS
- GDモジュールのインストールエラー
RedHat ES でGDgraphモジュールを使用するために GDモジュールをインストールしたところ、下記のようなエラーになりました。 gcc -c -I/usr/local/include -I/usr/local/include/gd -D_REENTRANT -D_GNU_SOURCE -DTHREADS_ HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FIL E_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -mcpu=i686 -DVERSION=\"2.11\" -DXS_VERSION=\"2.11\" -fPIC "-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE" GD .c Running Mkbootstrap for GD () chmod 644 GD.bs rm -f blib/arch/auto/GD/GD.so LD_RUN_PATH="/usr/local/lib:/usr/lib:/lib" gcc -shared -L/usr/local/lib GD.o -o blib/arch/auto/GD/GD.so -L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/local/lib -lgd -lpng -lz -lm/usr/bin/ld: cannot find -lpng collect2: ld はステータス 1 で終了しました make: *** [blib/arch/auto/GD/GD.so] エラー 1 freetype2 gdライブラリ PG.pm GDTextUtile GD::Graph はインストール完了しましたが gdのインストールだけが何度やっても失敗します。 何のモジュールが足りないのか教えていただきたいです。 よろしくお願いいたします。
- 締切済み
- その他(データベース)
- RedHat9、QtSDKの組合せの開発について
目的 linux、RedHat9に最新のQtSDK(Qtのバージョンは4.7)をインストールして GUIアプリケーションの開発を行おうとしています。 聞きたい事 RedHat9に最新のQtSDKをインストールしてアプリケーションのビルド、 実行をすることはできるのでしょうか? もし出来るのであれば、どのような手順で環境と整えると、RedHat9で QtSDKの開発を行えますでしょうか? 環境設定で行った内容 1回目のRedHat、QtSDKインストール 開発ツールの全項目にチェックをいれて、qt3.1の開発環境が入った状態で RedHatのインストールを行う。 次にqt-sdk-linux-x86-opensource-2010.05.1.binをインストールする。 インストール完了後、Find検索をするが「libstdc++.so.6」は存在しなかった。 Qtクリエイターが起動しないのは、Qt3.1を入れたためパス設定が問題のため だと判断。 またFedora13、qt-sdk-linux-x86-opensource-2010.04の組合せだと、 正常にQtクリエイター、実行モジュールが動作することを確認しました。 上記のような経緯から2回目のRedHatのインストールを行う。 2回目のRedHat、QtSDKインストール RedHat9のインストール設定で開発のパッケージグループの設定から 以下の全てのチェックを外す。 ・開発ツール、カーネル開発、Xソフトウエイア開発、GNOME、KDEソフトウエア開発 理由はインストール時のQt3.1の混在とパス設定をさせないため。 この状態でRedHat9にqt-sdk-linux-x86-opensource-2010.05.1.binをダウロードして インストールを行うと「libstdc++.so.6」が無いというメッセージが表示され、 インストール完了後にQtクリエイターやサンプルの実行モジュールを実行することが 出来ない。 インターネット上でlibstdc++.so.6を入手して /usr/lib の下に保存し 改めてqt-sdk-linux-x86-opensource-2010.05.1.binをインストールすると、 さらに ・GLIBCXX_3.4.9 ・GLIBC_2.4 ・GCC_3.3 という上記ファイルが無いというメッセージが出る。 ここからどのようにして進めればよいか詰まってしまいました。 以上よろしくお願いします。
- 締切済み
- オープンソース開発
- 共有ライブラリが見つからない
お世話になります。 xxxxxというソフトウェアを動作させようとしたところ、下記のようなエラーメッセージが出ました。 > ld.so.1: xxxxx: fatal: libsasl.so: version `SUNWprivate1.1' not found (required by file /usr/lib/mps/libldap60.so) > ld.so.1: xxxxx: fatal: libsasl.so: open failed: No such file or directory > rc = 9 ■質問1 これは、 ・ld.so.1という共有モジュールが ・内部的にrequired by file /usr/lib/mps/libldap60.so というモジュールを呼んでいて ・それがlibsasl.soを呼ぼうとしたときに ・`SUNWprivate1.1'というバージョンのものがない というエラーだと解釈してよろしいでしょうか。 ■質問2 findでlibsasl.soを検索したところ、下記の場所にありました。 > /usr/lib/sparcv9/libsasl.so > /usr/lib/libsasl.so crleコマンドで共有ライブラリの検索パスを見てみたところ、/usr/libは含まれていました。 > @root# crle -v > > 構成ファイル [バージョン 4]: /var/ld/ld.config > デフォルトライブラリパス (ELF): /usr/lib:/usr/local/ssl/lib/:/usr/lib/mps > トラステッドディレクトリ (ELF): /usr/lib/secure:/opt/SUNWmsgsr/lib:/usr/lib/mps > > コマンド行: > crle -c /var/ld/ld.config \ > -l /usr/lib:/usr/local/ssl/lib/:/usr/lib/mps \ > -s /usr/lib/secure:/opt/SUNWmsgsr/lib:/usr/lib/mps それでもエラーが出るのは ・このディレクトリにあるlibsasl.soが`SUNWprivate1.1'というバージョンではないから という解釈でよろしいでしょうか。 ■質問3 `SUNWprivate1.1'というバージョンのlibsasl.soを検索する方法があるでしょうか。 いろいろですみません。よろしくお願いいたします。
- ベストアンサー
- Solaris系OS
お礼
ありがとうございました。 どうやら、tcl/tk自体がパソコンにインストールされていないようで、ソフトをインストールするときにそのファイル(tcltk_soft.so)が作成されていないようです。tcl/tkをインストールするところから今一度試してみます。 そのソフトはまだ開発途中のソフトで説明書も簡単にしか書かれていないようです。 情報不足で済みません。