TurboLinux 7でコンパイルに失敗する
提供:Samba-JP
(J301から転送)
ナビゲーションに移動検索に移動
KB番号 | J0301 |
最終更新日 | 2002/01/12 |
作成者 | 武田 保真 |
最終更新者 | たかはしもとのぶ |
対象
この文書は、以下のプロダクトに付いて説明したものです。
- Samba 2.2.x日本語版
- Samba 2.2.x
- Samba 2.0.x日本語版
- Samba 2.0.x
現象
TurboLinux 7上で、ソースからコンパイルしたときに、以下のエラーが発生します。
Compiling smbd/server.c In file included from /usr/include/linux/vfs.h:4, from /usr/include/linux/fs.h:14, from /usr/include/linux/capability.h:17, from /usr/include/sys/capability.h:24, from include/includes.h:366, from smbd/server.c:22: /usr/include/asm/statfs.h:12: redefinition of `struct statfs' make: *** [smbd/server.o] エラー 1
原因
TurboLinux 7において、libcapパッケージをインストールするとインストールされる /usr/include/sys/capability.h で定義されている 'struct statfs'と、 /usr/include/sys/statfs.h で定義されている 'struct statfs' の定義が重複しているため、コンパイル時にエラーが発生しています。
対処策
libcapパッケージをアンインストールするか、source/configure.inに次のパッチを適用してから、autoconfを実行した後、configure、makeを行ってください。
--- configure.in.orig Thu Dec 27 15:36:15 2001 +++ configure.in Thu Dec 27 15:36:29 2001 @@ -378,7 +378,7 @@ AC_CHECK_HEADERS(shadow.h netinet/ip.h netinet/tcp.h netinet/in_systm.h netinet/in_ip.h) AC_CHECK_HEADERS(nss.h nss_common.h sys/security.h security/pam_appl.h security/pam_modules.h) AC_CHECK_HEADERS(stropts.h poll.h) -AC_CHECK_HEADERS(sys/capability.h syscall.h sys/syscall.h) +AC_CHECK_HEADERS(syscall.h sys/syscall.h) AC_CHECK_HEADERS(sys/acl.h sys/cdefs.h glob.h) # For experimental utmp support (lastlog on some BSD-like systems)
この技術情報は sugj-tech:4327 からの一連のスレッドの議論を元に作成されています。