- Community Home
- >
- HPE Community, Japan
- >
- HP-UX
- >
- System Management
- >
- gccでipc.hがエラー
カテゴリ
Company
Local Language
フォーラム
ディスカッションボード
フォーラム
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
ディスカッションボード
ディスカッションボード
ディスカッションボード
フォーラム
ディスカッションボード
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
フォーラム
ブログ
- RSS フィードを購読する
- トピックを新着としてマーク
- トピックを既読としてマーク
- このトピックを現在のユーザーにフロートします
- ブックマーク
- 購読
- 印刷用ページ
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
05-26-2005 11:38 AM
05-26-2005 11:38 AM
gccでipc.hがエラー
#include
#include
を含むソースをコンパイルしようとすると、
/usr/include/sys/ipc.h:51: error: parse error before "cid_t"
/usr/include/sys/ipc.h:56: error: parse error before '}' token
とか
/usr/include/sys/shm.h:82: error: field `shm_perm' has incomplete type
のようなエラーが出ます。
/usr/local/lib/gcc-lib/ia64-hp-hpux11.23/3.3.3/include/sys/types.h
を見に行って、cid_tが定義されていないためのようです。
使い方間違っているでしょうか?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
05-28-2005 04:24 PM
05-28-2005 04:24 PM
gccでipc.hがエラー
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
05-31-2005 11:16 AM
05-31-2005 11:16 AM
gccでipc.hがエラー
/usr/include/sys/types.h を /usr/local/lib/gcc-lib/ia64-hp-hpux11.23/3.3.3/include/sys/types.h に上書きして 取り合えずコンパイルは通りました。
正式な対応で無いとは思いますが、、。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-01-2005 01:45 PM
06-01-2005 01:45 PM
gccでipc.hがエラー
ます) をご使用になっていることがわかります。ところが、gcc のバイナリが
作られたときの /usr/include/sys/types.h と gcc が実際に使用する types.h
との同期が取れていない、異なっているためにこのエラーが発生しています。
gcc ソースをビルドする際に、システムのヘッダーファイルを自分のディレク
トリ下にコピーする仕組みを持っています。
今回のようにズレが生じている場合、mkheaders というツールを使用すること
で、gcc 用のヘッダーファイルを更新することが可能です。
私の環境では、昔インストールした gcc 3.4.1 が /usr/local にあるものの、
その後 OS が 11.23 から 11.23 0409 に変更になったために、cid_t に関す
る同じエラーが発生しています。
そこで、mkheaders を実行しました。
# /usr/local/libexec/gcc/ia64-hp-hpux11.23/3.4.1/install-tools/mkheaders
/usr/local/libexec/gcc/ia64-hp-hpux11.23/3.4.1/install-tools/mkheaders:
/usr/local/lib/gcc-lib/ia64-hp-hpux11.23/3.4.1/install-tools/mkheaders.conf:
not found.
この不具合については以下を参照してください。
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16842
これを参考に以下のように変更を施しました。
69c69
< libsubdir=${libdir}/gcc-lib/${target_noncanonical}/${version}
---
> libsubdir=${libdir}/gcc/${target_noncanonical}/${version}
この後もう一度 mkheaders を実行したのですが、今度は別のエラーが ...
なお、このエラーは自分の環境だけかもしれませんので、ご了承ください。
上述の bugzilla には "Fixed in both 3.4.2 and 3.5.0" とあるし、面倒く
さい (^_^;) ので、http://www.hp.com/go/gcc から最新の gcc 4.0.0 と
binutils 2.15.97 を入手しインストールしました。
インストール後の結果からこの gcc 4.0.0 は HP-UX 11.23 0409 で作られた
ことがわかります。つまり、
/usr/local/lib/gcc/ia64-hp-hpux11.23/4.0.0/include/sys/types.h に以下
のように、cid_t の定義が最初から含まれています。
# ifndef _CMPTID_T
# define _CMPTID_T
typedef int32_t cid_t; /* For compartment IDs */
typedef cid_t cmpt_t;
# endif /* _CMPTID_T */
こうなればしめたもので、cid_t に関するエラーが出なくなりました
(gtk+-1.2.10 で検証できました)。
以上、ご参考までに。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-02-2005 10:39 AM
06-02-2005 10:39 AM
gccでipc.hがエラー
gccがビルドされる時に、その時点でのシステムヘッダーファイルを利用しているということ、理解できました。
私は、mkheadersを利用しませんでしたが、そのようなことが出来るのですね。
非常に参考になりました。