[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:25533] Samba3.0.14aがコンパイルできません(Plamo4.02)



こんばんわ、北原です。

Plamo 4.02 をインストールして使用しているのですが、
Samba 3.0.14a をコンパイルしようとしてみたところ、
以下のようなエラーが出てコンパイルができませんでした。

Compiling smbwrapper/wrapped.c with -fPIC
smbwrapper/wrapped.c: 関数 `utimes' 内:
smbwrapper/wrapped.c:470: error: `__NR_utimes' undeclared (first use in this funct
ion)
smbwrapper/wrapped.c:470: error: (Each undeclared identifier is reported only once
smbwrapper/wrapped.c:470: error: for each function it appears in.)
make: *** [smbwrapper/wrapped.po] エラー 1

調べてみたところ、
/usr/include/bits/syscall.h には
#define SYS_utimes __NR_utimes
という定義があるのですが、
/usr/include/asm/unistd.h には
__NR_utimes が定義されていないのが原因のようです。

samba-3.0.14a/source/smbwrapper/realcalls.h の
#ifndef REPLACE_UTIMES
#ifdef SYS_utimes
#define real_utimes(fn, buf) (syscall(SYS_utimes, (fn), (buf))) // ←これ
#else
#define REPLACE_UTIMES 1
#endif
#endif
が定義されてしまうが、__NR_utimes(SYS_utimesがマクロで変換されたもの)が
定義されていないのでエラーになってしまうようです。

Plamo4.01の時はSambaのコンパイルができていたので、何が違うのか探してみたところ、
/usr/include/bits/syscall.h はlibcのパッケージに入っているようなので
Plamo 4.01と比べてみたところ、
Plamo 4.01 : libc-2.3.2-i386-P4
Plamo 4.02 : libc-2.3.3-i586-P1
と、libcのバージョンが異なっていました。
(Plamo4.01の方の /usr/include/bits/syscall.h には
 SYS_utimes の定義はありませんでした)

力技で /usr/include/bits/syscall.h の該当部を
コメントアウトしてしまうこともできますが、
ちゃんとした解決をするにはどのようにしたらよいのでしょうか。

よろしくお願いします。

// 北原@765 ak@kitahara.jp

Follow-Ups
[plamo:25534] Re: Samba3.0.14aがコンパイルできません(Plamo4.02), ISHIKAWA Toshiyuki
[plamo:25541] Re: Samba3.0.14aがコンパイルできません(Plamo4.02), KOJIMA Mitsuhiro

[検索ページ] [メール一覧]
Plamo ML 公開システム