hsnuhayato / rtm-ros-robotics

Automatically exported from code.google.com/p/rtm-ros-robotics
0 stars 0 forks source link

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

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
hrpsysでmakeすると、build/hrpsys-base以下で作業中でも強制的にsv
n revertされてしまいます。

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

Original issue reported on code.google.com by nakaokat on 19 Feb 2013 at 8:21

GoogleCodeExporter commented 9 years ago
どういう場面でこれが起きるのかな

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

Original comment by kei.ok...@gmail.com on 19 Feb 2013 at 8:24

GoogleCodeExporter commented 9 years ago
>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 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 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 containing `openhrp3.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をコンパイルするときには、

* hrpsys/build/hrpsys-base/idl/ 以下のファイルを変更
* hrpsys/build/hrpsys-base/ で make && make install する
* rm -rf msg msg_gen idl_gen srv srv_gen src_gen
* hrpsys/ で touch patched && make
** もしここでmakeがエラーになるときは cmake . 
してからmakeする

としていました。

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

Original comment by nakaokat on 20 Feb 2013 at 9:15

GoogleCodeExporter commented 9 years ago
いかにしたら問題ないということなのかな.

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

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

 wipe: clean
    # make -f Makefile.hrpsys-base wipe
-   rm -fr build share
+   rm -fr build share patched
    touch wiped

 clean: Makefile.hrpsys-base
    make -f Makefile.hrpsys-base clean
-   -rm -fr installed patched include bin lib idl idl_gen msg msg_gen srv srv_gen 
src_gen
+   -rm -fr installed include bin lib idl idl_gen msg msg_gen srv srv_gen src_gen

Original comment by kei.ok...@gmail.com on 20 Feb 2013 at 9:32

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

Original comment by nakaokat on 21 Feb 2013 at 8:19

GoogleCodeExporter commented 9 years ago
rtmros_common/hrpsys/Makefileです

Original comment by kei.ok...@gmail.com on 21 Feb 2013 at 8:22

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

Original comment by nakaokat on 21 Feb 2013 at 8:43

GoogleCodeExporter commented 9 years ago
動いているはずです.問題あれば,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-r `svn 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

Original comment by kei.ok...@gmail.com on 21 Feb 2013 at 9:47

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

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

Original comment by nakaokat on 22 Feb 2013 at 9:46

GoogleCodeExporter commented 9 years ago
とりあえず上のパッチをr3525であてました.

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

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

Original comment by kei.ok...@gmail.com on 28 Feb 2013 at 2:24

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

Original comment by nakaokat on 27 Jun 2013 at 8:14