[openrtm-users 00465] bug? in configure.ac

3 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 25分 43秒 前
登録日: 2009-06-23 14:31
[openrtm-users 00465] bug? in configure.ac

産総研の松坂です。

現在のソースパッケージ内の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に対応させようとしている時に発見しました。

未定義
root
オフライン
Last seen: 25分 43秒 前
登録日: 2009-06-23 14:31
[openrtm-users 00467] bug? in configure.ac

松坂様

安藤です

> 産総研の松坂です。
>
> 現在のソースパッケージ内の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上でビルドしてみて
いただけないでしょうか?

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

root
オフライン
Last seen: 25分 43秒 前
登録日: 2009-06-23 14:31
[openrtm-users 00471] bug? in configure.ac

安藤さん

松坂です。

2008/6/6 Ando Noriaki :
> ご指摘ありがとうございます。たしかに、more_incsやmore_libsの変数の扱いがおかしいですね。
(中略)
> したがって、ご指摘の部分は
>
>> CXXFLAGS="$more_incs $CXXFLAGS"
> や
>> CXXFLAGS="-I$more_incs $CXXFLAGS"
> は削除しなければいけないようです。

お返事ありがとうございます。
上記の件、確かにそうですね。私のやり方だと--with-includes= と--with-libs= オプションが設定されていない
場合でも問題が出そうです。
mac上では上記の削除+いくつかのパッチでコンパイルができることを確認しました。

configure.acに関しては上記と同時に
SHLIB_SUFFIX=".so"
の行を条件付きで
SHLIB_SUFFIX=".dylib"
とするとmac上でパッチなしでコンパイルができそうだったのでいじっていたのですが、作業が大掛かりになってきたので、
とりあえず現時点でのmacports版を動作確認がとれ次第アップロードしようと思います。

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2209
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク