お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2013-01-03 09:21:06

maimi09
メンバ
From: キャリングハンドル付き都庁舎
登録日: 2007-06-13

Edubuntu 12.04.1 x86_64でFreeCADをビルドするとエラー(cmakeの問題)

githubからFreeCADソース( https://github.com/FreeCAD/FreeCAD_sf_master )のクローンをとってきてEdubuntu 12.04.1 x86_64でビルドしようとすると、

コード:

make[2]: *** No rule to make target `/usr/lib/i386-linux-gnu/libXmu.so', needed by `lib/libSMESH.so'.  Stop.
make[1]: *** [src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/all] Error 2
make: *** [all] Error 2

とリンクエラーがでてビルドが止まってしまうのです。

原因は、cmakeが吐き出したビルドルールに、

コード:

-L/usr/lib/i386-linux-gnu

なんていうリンクオプションが含まれているので、本来リンクすべきx86_64のライブラリパスよりも32ビットライブラリのパスが優先されてしまう。ということです。

インチキな方法ならば、cmekeで生成されたビルドルールより「-L/usr/lib/i386-linux-gnu」が含まれているファイルをgrepで探してsedで書き換えてしまうというのもありますが、あまり技術向上につながらないので、ちゃんとcmakeで正しいルールが生成されるようにしたいものです。

当方cmake は、ほぼ始めて目にする代物でして、どこいじったらよいか皆目(検討|見当)がつきませんでして・・・

なにか(特にcmakeの挙動やデバグのポイントなどについて)、知っている方は(回答|解説)のほどよろしくお願いします。

オフライン

 

#2 2013-01-03 09:42:48

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: Edubuntu 12.04.1 x86_64でFreeCADをビルドするとエラー(cmakeの問題)

FreeCADは、パッケージがあるみたいですが、自分でビルドする必要があるのですか?
(リリース版に加え、ppa には、開発版とデイリービルド版)

オフライン

 

Board footer

Powered by FluxBB