[openrtm-users 00467] Re: bug? in configure.ac

Ando Noriaki n-ando @ aist.go.jp
2008年 6月 6日 (金) 15:44:31 JST


松坂様

安藤です

> 産総研の松坂です。
>
> 現在のソースパッケージ内のconfigure.acの最後の方にある
>
> CPPFLAGS="$more_incs $CPPFLAGS"
> CXXFLAGS="$more_incs $CXXFLAGS"
> LDFLAGS="$more_libs $LDFLAGS"
> LDSOLIBS="$more_libs $LDSOLIBS"
>
> という行ですが、正しくはそれぞれ
>
> CPPFLAGS="-I$more_incs $CPPFLAGS"
> CXXFLAGS="-I$more_incs $CXXFLAGS"
> LDFLAGS="-L$more_libs $LDFLAGS"
> LDSOLIBS="-L$more_libs $LDSOLIBS"
>
> ではないでしょうか?
>
> 不規則なディレクトリ構成をとっている場合に問題が出るようで、macports版を
> バージョン0.4.2に対応させようとしている時に発見しました。

ご指摘ありがとうございます。たしかに、more_incsやmore_libsの変数の扱いがおかしいですね。

--with-includes= や --with-libs= オプションは、複数のディレクトリをコロン区切りで
与えられるようになっており、上記のような修正だと、
--with-include=/usr/myincludes:/usr/myincludes2
のようなオプションを与えた場合
-I/usr/myincludes:/usr/myincludes2
のようなオプションがコンパイラにわたってしまいます。

実はmore_incsやmore_libsはconfigure.acのはじめの方で

for ipath in $more_incs ; do
	CPPFLAGS="-I$ipath $CPPFLAGS"
	CXXFLAGS="-I$ipath $CXXFLAGS"
done

for lpath in $more_libs ; do
	LDFLAGS="-L$lpath $LDFLAGS"
done

このようにしてCXXFLAGSに-I,-Lオプションとして渡すようになっています。
したがって、ご指摘の部分は

> CXXFLAGS="$more_incs $CXXFLAGS"
や
> CXXFLAGS="-I$more_incs $CXXFLAGS"
は削除しなければいけないようです。

ただ、まだconfigure.acのすべての部分を見たわけではないので、
これらを削除しただけですべてうまくいくかどうかはわかりません。

とりあえず、これらを削除したうえでMac上でビルドしてみて
いただけないでしょうか?

よろしくお願いいたします。

-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
 知能システム研究部門 タスクインテリジェンス研究グループ
 〒305-8568 茨城県つくば市梅園1-1-1 中央第2
 TEL: 029-861-5981 FAX: 029-861-5971
 n-ando @ aist.go.jp, n-ando @ ieee.org



openrtm-users メーリングリストの案内