0

私は OpenIndiana ビルド マシンを構成しようとしていますが、(Open)(Solaris|Indiana) がビルド プロセスを処理する方法の (それほどではない) 微妙な違いに一般的に慣れていません。-m64Solaris では、明示的に指定されていない限り、64 ビット カーネルで実行している場合でも、アプリケーションを m32 としてビルドするのがデフォルトであることを理解しました。のデフォルトの検索パスを適切に構成できないようですがclanggccうまく機能しています。

llvmgccviaの両方をインストールpkgしましたが、手動でコンパイルする必要はありませんでした。

で基本的な C ファイルをコンパイルするとgcc、デフォルト ( -m32) と 64 ビット-m64構成の両方で正常に動作し、 で設定されている検索パスを正しく使用しますcrle

mqudsi@openindiana:~/random$ crle

Default configuration file (/var/ld/ld.config) not found
  Platform:     32-bit LSB 80386
  Default Library Path (ELF):   /lib:/usr/lib  (system default)
  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)
mqudsi@openindiana:~/random$ crle -64

Default configuration file (/var/ld/64/ld.config) not found
  Platform:     64-bit LSB AMD64
  Default Library Path (ELF):   /lib/64:/usr/lib/64  (system default)
  Trusted Directories (ELF):    /lib/secure/64:/usr/lib/secure/64  (system default)

ただし、clangシステム構成を忘れているようで、-L ....コンパイル時に手動で設定する必要があります。LD_LIBRARY_PATH64ビットバイナリをコンパイルしようとすると、clang自体が32ビットであるため、グローバル設定は失敗します。

crlegcc と同じ方法で、clang に Solaris 構成を反映させるにはどうすればよいですか?

4

1 に答える 1

0

そうですね、clang が Solaris 全般について少し知っていることを考えると、残念ながら答えは簡単です。誰かが clle サポートを clang に実装する必要があります。

于 2012-12-15T16:39:19.303 に答える