問題タブ [aix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - SWIG を使用して Perl から C++ ライブラリを呼び出すとクラッシュする (AIX 5.1)
AIX 5.1 マシンで Perl から C++ ライブラリーを呼び出そうとしています。これを実行するために、非常に単純なテスト プロジェクトを作成しました。
私の C++ 共有ライブラリ ( test.cpp
):
私の SWIG インターフェイス ファイル ( test.i
):
次に、共有オブジェクトを次のように構築します。
この時点で、test.so
Perl で (生成された SWIG を介してtest.pm
) ロード可能な共有オブジェクトができました。共有オブジェクトをロードして、エクスポートしている 1 つの関数を呼び出そうとする非常に単純な perl スクリプトがあります ( test.pl
)。
を実行するtest.pl
と、次の出力が得られます。
myfunc() の
不正な命令 (コアダンプ)
std::cout
の使い方をコメントアウトすればmyfunc
問題なく動作します。C++ STL で何かを使用するとコア ダンプが発生するように見えます (単に astd::vector
とを宣言しようとしましたstd::stringstream
が、どちらもコア ダンプになります)。STL を使用するスタンドアロンの C++ 実行可能ファイルを問題なく作成できます。問題が発生するのは、perl からロードされたときに共有オブジェクトで呼び出されたときだけです。
gcc ではなく xlc を使用してみましたが、同じ結果が得られます。すべてのリンケージが正しく行われるようにするために渡す必要があるファンキーなリンカ フラグがあると思いますか? どんなアイデアでも大歓迎です...
編集:リンカを直接呼び出す代わりにgcc
/を使用してリンクすると ( )、すぐにセグメンテーション違反が発生します。perl が単に共有ライブラリをロードしようとするとクラッシュするようです。上記のように呼び出すことは、動作に最も近いものですが、いくつかのライブラリまたは C++ ライブラリ用の特別な AIX リンカー フラグが不足している可能性があると思います。xlc
ld
ld
Edit2:わかりました、私はそれを機能させました。AIX は、リンクに関しては非常に脆弱です。最終的に、正しく機能しているように見える次のリンク コマンドを思いつきました。
私がリンクしたライブラリは最も関連性があります。ライブラリが言及される順序も非常に重要であることがわかりました(うーん)。また、これは AIX 5.1 に同梱されている Perl 5.6.0 に対してビルドされていることにも注意してください。Perl 5.8.8 に対して同じ単純なアプリケーションを構築しようとしましたが、うまくいきません。ただし、(直接呼び出す代わりにストレートgcc
/を使用する) はるかに健全なリンク方法の方が適切に機能するように思われます。したがって、この問題は Perl ディストリビューションまたはリンカなどのバグのようです。xlc
ld
願わくば、これが AIX で作業しなければならないことで呪われた哀れな魂の助けになることを願っています...
java - AIX: IBM Java: java.net.SocketException: 接続がタイムアウトしました: 無効なアドレスが原因である可能性があります
サーバーへの SSL 接続を確立しようとすると、IBM AIX で次の例外が頻繁に発生します。
エラーから、これは単なるネットワークの問題であると思われますが、クライアントは約 2 か月前に問題を経験したことがなく、ネットワーク レイアウトに変更はありませんでした。
これもかなり頻繁に受け取ります。
これは AIX の問題だと思いますが、ファイアウォールの問題ではないでしょうか? また、google 検索で、コモンズ http の問題をほのめかしている人を見ましたが、それがどのように関連するのかわかりませんでした。
これは、他の人が最近 AIX で見たものですか?
unix - どれだけのディスクスペースがあり、どれだけ残っているかを確認するためのunixコマンドとは何ですか?
Windowsでドライブを右クリックして、使用されているディスク容量と残りの情報を確認するのと同じものを探しています。
java - Javaが文字列を長いオブジェクトに適切に変換しない
AIX用のWebsphereApplicationServerでSpring/Hibernateを使用しています。私のWindowsマシンでは、問題は発生しません。AIXで実行している場合のみです。ユーザーがアカウント番号を使用してログインするときに、ログインIDの前に「0」を付けると、アプリケーションはログインを拒否します。DB2テーブルでは、列は数値タイプであり、「090....」から「90...」への変換に問題はありません。
他の誰かがこのような問題を経験していますか?どちらのマシンにもJavav1.5が搭載されています。
具体的には、フローはFormView->LoginValidator->LoginControllerです。
LoginValidatorでは、loginの値はnullで、接頭辞は0です。0がない場合、値は本来あるべき値です(ただし、これはAIX環境でのみ発生します。2つのWindows環境では問題ありません)。これは、オブジェクトがnullに等しいコードのスニペットです。
また、文字列からLongを構築し、WebSphereにパッケージ化されているJavaバイナリを使用するためのこの短いJavaプログラムも作成しました。
解決
linux - AIX tar コマンド ソケット エラーを解決するにはどうすればよいですか?
AIX 環境で作業していて、次の tar コマンドを発行すると、ソケットでエラーが発生します。
質問 1. ソケット エラーを回避するにはどうすればよいですか?
質問 2. エラーのあるファイルを除くすべてのファイルが含まれている tar ファイルを信頼できますか?
c++ - AIX: 例外をスローするとマルチスレッド コードが中止されるのはなぜですか?
-pthread でコンパイルされたコードを実行しているときに C++ 例外がスローされると、アボートが発生します。
プラットフォーム: AIX 5.3 テクニカル レベル 8 コンパイラ: gcc 3.4.6 リンカ: AIX リンカ 1.65.2.4
テストコード:
誰かが似たようなものを見たことがありますか?
gcc 4 にアップグレードすると役立つと思いますか?
IBM の xl コンパイラに切り替えるのはどうですか?
ありがとう。
c++ - pthreadを使用したAIXでの静的リンク
私はこれを数日間読んで調査してきましたが、外部からの支援が必要だと判断しました。
(そしてこのサイトはいい場所のようだったので、ここに質問を投稿してどうなるか見てみようと思いました)
私たちの小さな会社は、AIXでアプリケーションを数年間構築しておらず、私にはこのタスクが割り当てられています(私が挑戦するのが好きなのは良いことです)。
私が抱えている問題は簡単に説明でき、他の人もそれを経験していることがわかりますが、答えは見つからないようです。
アプリを「非静的」にリンクすると、ビルドコマンドで「-static」を使用しない場合、アプリは開発マシンでは正常に実行されますが、テストに使用する他のAIXマシンでは実行されません。
[2台のマシンに関するクイックノート;
dev:
テスト:
]
「-static」とリンクすると、例外がスローされたときに、開発マシンで実行時にアプリが「中断」します。
そして(それだけでは不十分であるかのように)、アプリはまだテストマシンで実行されません:
ここで、「-pthead」を使用してリンクしていることに注意してください。pthreadを使用する場合、静的にリンクすることはできませんという記事をいくつか読んだことがあります。
脳が痛い。
これについてのご意見をいただければ幸いです。
c++ - #includeの可用性
次のソースを指定してもチョークしない、AIX4.3で使用可能なxlC/VACPPのバージョンはありますか。
はいの場合、それはまだどこでも利用できますか?
testing - AIX の LD_PRELOAD
最近のバージョンの AIX で LD_PRELOAD に似たものがあるかどうか教えてもらえますか? より具体的には、テスト目的で、バイナリから time() への呼び出しをインターセプトし、一定の時間を返す必要があります。
gcc - AIX でのコンパイルに関するヘルプ
特定のライブラリとそのバージョンで使用されているシンボルを見つけることができるサイトはありますか? たとえば、gcc を使用して AIX でコードをコンパイルしようとすると、多くの未定義シンボル エラーがスローされます。たとえば、次のような出力が表示されます。
これらのシンボルがどこにあるかを見つけるには、どこに行けばよいでしょうか。gcc
Linux で同じコマンドを実行すると、問題なく動作します。
私-lgcc
も含めようとしましたが、再びいくつかの未定義のシンボルがスローされregister_frame
ます...何とか何とか...そして私はAIXにうんざりしています。
これに関する助けをいただければ幸いです..そして、この問題についてグーグルを気にしないでください. あなたはどこにも行き着かないでしょう。
多くの人がこの種の質問をしますが、答えはありません。
ありがとう