start-jsk / rtmros_common

OpenRTM - ROS interoperability packages
http://wiki.ros.org/rtmros_common
12 stars 52 forks source link

hrpsysでmakeするとhrpsys-baseがrevertされる #52

Closed k-okada closed 10 years ago

k-okada commented 10 years ago

From nakaokat on February 19, 2013 17:21:06

hrpsysでmakeすると、build/hrpsys-base以下で作業中でも強制的にsvn revertされてしまいます。

今まではmakeする前にtouch patchedしておくことによってこれを回避していましたが、先程これを忘れて変更を飛ばしてしまったので、 何もしなくてもrevertしないでmakeできるようにしてほしいです。

Original issue: http://code.google.com/p/rtm-ros-robotics/issues/detail?id=52

k-okada commented 10 years ago

From kei.ok...@gmail.com on February 19, 2013 00:24:15

どういう場面でこれが起きるのかな

svn co して make して この瞬間にrevertするのはいいよね? make clean して make したらrevertするのが困るんだろうか? make clean したときにinstalled/patchedを消さなければよい?

k-okada commented 10 years ago

From nakaokat on February 20, 2013 01:15:04

svn co して make して この瞬間にrevertするのはいいよね? これは、ソースに変更を加えていないはずなので大丈夫だと思います。

make clean して make したらrevertするのが困るんだろうか? make cleanしたとき、hrpsys-baseのソースに加えた変更は保持されるのならば、 このタイミングでrevertするのはまずいと思います。 make wipeしてhrpsys-baseが完全に元の状態に戻っていれば、revertされても文句を言う人はいないと思います。

cleanでrevertされなくなれば、hrpsys-baseの中身(rtcやidlなど)を変更した場合のコンパイル手順は hrpsys-baseを変更したあとhrpsysに戻って、 make clean make で良くなりますでしょうか。

また、hrpsys-baseの中を変更してmakeをしたときに以下のようなエラーが出るときがあり、 その際にbuild内で cmake . とすると、運が悪いとrevertされてしまうことがあるようです。 hrpsys-baseのどこかのCMakeLists.txtを書き換えるとエラーが出るようになるはずです。

k-okada@p2host:~/ros/electric/rtm-ros-robotics/rtmros_common/hrpsys/build/hrpsys-base$ make -- Found tvment headers in /home/k-okada/ros/electric/rtm-ros-robotics/rtmros_common/tvmet/include -- Found OpenRTM-aist 1.1.0 in /home/k-okada/ros/electric/rtm-ros-robotics/rtmros_common/openrtm Package openhrp3.1 was not found in the pkg-config search path. Perhaps you should add the directory containing openhrp3.1.pc' to the PKG_CONFIG_PATH environment variable No package 'openhrp3.1' found Package openhrp3.1 was not found in the pkg-config search path. Perhaps you should add the directory containingopenhrp3.1.pc' to the PKG_CONFIG_PATH environment variable No package 'openhrp3.1' found Package openhrp3.1 was not found in the pkg-config search path. Perhaps you should add the directory containing openhrp3.1.pc' to the PKG_CONFIG_PATH environment variable No package 'openhrp3.1' found Package openhrp3.1 was not found in the pkg-config search path. Perhaps you should add the directory containingopenhrp3.1.pc' to the PKG_CONFIG_PATH environment variable No package 'openhrp3.1' found CMake Error at cmake_modules/FindOpenHRP.cmake:76 (message): OpenHRP required, please specify it's location. Call Stack (most recent call first): CMakeLists.txt:43 (find_package)

-- Configuring incomplete, errors occurred! make: *\ [cmake_check_build_system] エラー 1

patchedの生成時は、Makefileとpatchファイル群に依存するように書かれているので、 Makefileを書き換えたりするとrevertされてしまうのかもしれません。 ちなみに、いつもhrpsysをコンパイルするときには、

としていました。

この手順の中で、今回は最後の手順でmakeがエラーになるようになってしまい、 cmake .してからtouch patchedを忘れてmakeしたらrevertされてしまったように思います。 それか、cmake .でrevertされてしまったかもしれません。

k-okada commented 10 years ago

From kei.ok...@gmail.com on February 20, 2013 01:32:48

いかにしたら問題ないということなのかな.

touch Makefile;makeするとrevertするのは問題?

Index: Makefile

--- Makefile (リビジョン 3476) +++ Makefile (作業コピー) @@ -7,10 +7,10 @@

wipe: clean

make -f Makefile.hrpsys-base wipe

k-okada commented 10 years ago

From nakaokat on February 21, 2013 00:19:07

このパッチを当てるMakefileはどこのものでしょうか。 hrpsys/Makefileは自動生成ファイルなので、変更できない気がします。

k-okada commented 10 years ago

From kei.ok...@gmail.com on February 21, 2013 00:22:39

rtmros_common/hrpsys/Makefileです

k-okada commented 10 years ago

From nakaokat on February 21, 2013 00:43:38

hrpsys/Makefileが古いバージョンだったのでsvn upしましたが、patch/pythondir.patchがうまく当たりません。 CMakeLists.txtとの整合性が取れていないようです。

k-okada commented 10 years ago

From kei.ok...@gmail.com on February 21, 2013 01:47:13

動いているはずです.問題あれば,rtm-ros-roboticsに報告してください.

k-okada@kokada-t430s:~/ros/fuerte/rtm-ros-robotics/rtmros_common/hrpsys$ make Makefile:14: 警告: ターゲット clean' へのコマンドを置き換えます /opt/ros/fuerte/share/ros/core/mk/cmake.mk:24: 警告: ターゲットclean' への古いコマンドは無視されます mkdir -p bin cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=rospack find rosbuild/rostoolchain.cmake .. -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Found PythonInterp: /usr/bin/python (found version "2.7.3") make[1]: ディレクトリ /home/k-okada/ros/fuerte/rtm-ros-robotics/rtmros_common/hrpsys' に入ります svn co http://hrpsys-base.googlecode.com/svn/trunk build/hrpsys-base A build/hrpsys-base/python A build/hrpsys-base/python/hrpsyspy.in A build/hrpsys-base/python/rtm.py A build/hrpsys-base/python/waitInput.py 省略 A build/hrpsys-base/util/ProjectGenerator/CMakeLists.txt A build/hrpsys-base/util/ProjectGenerator/ProjectGenerator.cpp A build/hrpsys-base/util/CMakeLists.txt A build/hrpsys-base/CMakeLists.txt U build/hrpsys-base リビジョン 630 をチェックアウトしました。 patch -d build/hrpsys-base -p0 < patch/tvmet.patch; patch -d build/hrpsys-base -p0 < patch/rpath.patch; patch -d build/hrpsys-base -p0 < patch/pa10py.patch; patch -d build/hrpsys-base -p0 < patch/pa10conf.patch; patch -d build/hrpsys-base -p0 < patch/pythondir.patch; patching file cmake_modules/FindTvmet.cmake patching file CMakeLists.txt Hunk #1 succeeded at 31 (offset -8 lines). patching file CMakeLists.txt Hunk #1 succeeded at 50 with fuzz 2 (offset -4 lines). patching file sample/PA10/PA10.py patching file sample/PA10/PA10.conf.in patching file CMakeLists.txt Hunk #1 succeeded at 108 (offset 4 lines). if test -z "" -o "x" != "x-rsvn info build/hrpsys-base | grep Revision | cut -d " " -f 2,2"; then \ cd build/hrpsys-base && svn up ; \ fi リビジョン 630 です。 touch rospack_nosubdirs touch patched cd build/hrpsys-base && PKG_CONFIG_PATH=rospack find openrtm/lib/pkgconfig:rospack find openhrp3/lib/pkgconfig:/opt/ros/fuerte/lib/pkgconfig: cmake -DCMAKE_INSTALL_PREFIX=rospack find hrpsys-DTVMET_DIR=rospack find tvmet-DOPENRTM_DIR=rospack find openrtm` -DENABLE_INSTALL_RPATH=ON -DENABLE_INSTALL_RPATH_TO_SELF=ON && make -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done

k-okada commented 10 years ago

From nakaokat on February 22, 2013 01:46:28

patch/以下のパッチはbuild/hrpsys-base以下に当たるのですね。 hrpsys-base以下をアップデートするといろいろと変わっていてしばらくは検証できなさそうなので、 とりあえずは上のMakefileのdiffを当てておくということでお願いします。

ただ、make cleanしなくてもrevertされることがあるので、そちらの点はまだ検証が必要です。

k-okada commented 10 years ago

From kei.ok...@gmail.com on February 27, 2013 18:24:42

とりあえず上のパッチを r3525 であてました.

引き続き以下の現象が起こる条件を調べてください.

ただ、make cleanしなくてもrevertされることがあるので、そちらの点はまだ検証が必要です。

k-okada commented 10 years ago

From nakaokat on June 27, 2013 01:14:54

hrpsys-base-sourceに分離されてからは、rm installedしてからmakeすることで ソースはそのままmakeされています。 しばらくrevertされる症状は起きていないのでcloseします。

Status: Verified