start-jsk / rtmros_common

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

"Fail to run pkg-config 1" on local machine and on prerelease.ros.org #355

Closed 130s closed 10 years ago

130s commented 10 years ago

Using current source (604012a44e7dd091805f66feb2d57b20e3989462),

from jenkins.ros.org,

/home/rosbuild/hudson/workspace/prerelease-hydro-rtmros_common/ARCH_PARAM/amd64/UBUNTU_PARAM/precise/label/prerelease/pbuilder-env.sh prerelease
SUDO_GID=1002
OLDPWD=/
PWD=/home/rosbuild/hudson/workspace/prerelease-hydro-rtmros_common/ARCH_PARAM/amd64/UBUNTU_PARAM/precise/label/prerelease
ROS_MASTER_URI=http://localhost:11311
MAIL=/var/mail/root
CC=/usr/lib/ccache/gcc
CXX=/usr/lib/ccache/c++
CMake Error at rtmros_common/hrpsys_ros_bridge/catkin.cmake:33 (message):
  Fail to run pkg-config 1
Call Stack (most recent call first):
  rtmros_common/hrpsys_ros_bridge/CMakeLists.txt:2 (include)

Locally,

$ catkin_make
:
ROS_ETC_DIR=/opt/ros/hydro/etc/ros
COLORTERM=gnome-terminal
XAUTHORITY=/home/n130s/.Xauthority
LC_NAME=en_US.UTF-8
OLDPWD=/home/n130s/catkinws/src/start-jsk/openrtm_common/rtshell_core
_=/opt/ros/hydro/bin/catkin_make
CC=/usr/bin/gcc
CXX=/usr/bin/c++
CMake Error at start-jsk/rtmros_common/hrpsys_ros_bridge/catkin.cmake:33 (message):
  Fail to run pkg-config 1
Call Stack (most recent call first):
  start-jsk/rtmros_common/hrpsys_ros_bridge/CMakeLists.txt:2 (include)

Looks like pkg-config is running fine.

$ pkg-config --list-all | wc
483    3457   37976
130s commented 10 years ago

Narrowed down the problem a little bit.

This doesn't happen with this hrpsys version built in devel.

$ dpkg -p ros-hydro-hrpsys|grep Ver
Version: 315.1.8-0raring-20140305-1820-+0000

I'm about to test install. But where is this problem lying in? hrpsys installation? rtmros_common?

k-okada commented 10 years ago

can you check if pkg-config --variable=idldir hrpsys-base works? also check lib/pkgconfig/hrsys-base.pc for both installed and devel

On Thu, Mar 6, 2014 at 3:54 PM, Isaac Isao Saito notifications@github.comwrote:

Narrowed down the problem a little bit.

This doesn't happen with this hrpsys versionhttps://github.com/start-jsk/hrpsys/commit/cdcbdb541a1722e5ed19bc6db9e46b90c167a045built in devel.

$ dpkg -p ros-hydro-hrpsys|grep Ver Version: 315.1.8-0raring-20140305-1820-+0000

I'm about to test install. But where is this problem lying in? hrpsysinstallation? rtmros_common?

— Reply to this email directly or view it on GitHubhttps://github.com/start-jsk/rtmros_common/issues/355#issuecomment-36829724 .

130s commented 10 years ago

On clean terminal (.bashrc put away):

$ env | grep ROS
$ source /opt/ros/hydro/setup.bash
$ cd catkinws/ && source devel/setup.bash 
$ pkg-config --variable=idldir hrpsys-base
/home/n130s/catkinws/src/rtm-ros-robotics/openrtm_common/hrpsys/share/hrpsys/idl
$ catkin_make install
$ source install/setup.bash 
$ pkg-config --variable=idldir hrpsys-base
/home/n130s/catkinws/src/rtm-ros-robotics/openrtm_common/hrpsys/share/hrpsys/idl

Strange. Looks like hrpsys/share/hrpsys/idl may not be installed, but I see:

$ find /opt/ros/hydro -iname idl
/opt/ros/hydro/share/openhrp3/share/OpenHRP-3.1/idl
/opt/ros/hydro/share/hrpsys/share/hrpsys/idl
/opt/ros/hydro/include/openrtm-1.1/rtm/idl
/opt/ros/hydro/include/hrpsys/idl
$ ls /opt/ros/hydro/share/hrpsys/share/hrpsys/idl
AbsoluteForceSensorService.idl  ImpedanceControllerService.idl  StabilizerService.idl
AutoBalancerService.idl     KalmanFilterService.idl     StateHolderService.idl
CollisionDetectorService.idl    NullService.idl         TimeKeeperService.idl
DataLoggerService.idl       OGMap3DService.idl      TorqueControllerService.idl
ExecutionProfileService.idl pointcloud.idl          TorqueFilterService.idl
ForwardKinematicsService.idl    RobotHardwareService.idl    VirtualForceSensorService.idl
GraspControllerService.idl  SequencePlayerService.idl   WavPlayerService.idl
HRPDataTypes.idl        ServoControllerService.idl
Img.idl             SoftErrorLimiterService.idl
130s commented 10 years ago

Forgot to add:

$ find devel/ -iname 'hrpsys-base.pc'
devel/lib/pkgconfig/hrpsys-base.pc
$ find install -iname 'hrpsys-base.pc'
$ 
garaemon commented 10 years ago

what will happen if you run pkg-config with --debug option?

-- ryohei

On Thu, Mar 6, 2014 at 4:41 PM, Isaac Isao Saito notifications@github.comwrote:

Forgot to add:

$ find devel/ -iname 'hrpsys-base.pc' devel/lib/pkgconfig/hrpsys-base.pc $ find install -iname 'hrpsys-base.pc' $

— Reply to this email directly or view it on GitHubhttps://github.com/start-jsk/rtmros_common/issues/355#issuecomment-36831852 .

130s commented 10 years ago

Maybe .pc file is not installed.

$ find /opt/ros/hydro -iname 'hrpsys-base.pc'
$ 

what will happen if you run pkg-config with --debug option?

$ pkg-config --variable=idldir hrpsys-base --debug
Option --debug seen
Error printing disabled by default, value of --print-errors: 0
Error printing disabled
Adding virtual 'pkg-config' package to list of known packages
Scanning directory '/home/n130s/catkinws/install/lib/pkgconfig'
File 'open_controllers_interface.pc' appears to be a .pc file
Will find package 'open_controllers_interface' in file '/home/n130s/catkinws/install/lib/pkgconfig/open_controllers_interface.pc'
Ignoring file '.' in search directory; not a .pc file
File 'vs060_moveit_config.pc' appears to be a .pc file
Will find package 'vs060_moveit_config' in file '/home/n130s/catkinws/install/lib/pkgconfig/vs060_moveit_config.pc'
File 'roswww_pack.pc' appears to be a .pc file
Will find package 'roswww_pack' in file '/home/n130s/catkinws/install/lib/pkgconfig/roswww_pack.pc'
Ignoring file '..' in search directory; not a .pc file
File 'nextage_description.pc' appears to be a .pc file
Will find package 'nextage_description' in file '/home/n130s/catkinws/install/lib/pkgconfig/nextage_description.pc'
File 'denso_controller.pc' appears to be a .pc file
Will find package 'denso_controller' in file '/home/n130s/catkinws/install/lib/pkgconfig/denso_controller.pc'
File 'hrpsys.pc' appears to be a .pc file
Will find package 'hrpsys' in file '/home/n130s/catkinws/install/lib/pkgconfig/hrpsys.pc'
File 'ros2djs.pc' appears to be a .pc file
Will find package 'ros2djs' in file '/home/n130s/catkinws/install/lib/pkgconfig/ros2djs.pc'
File 'moveit_commander.pc' appears to be a .pc file
Will find package 'moveit_commander' in file '/home/n130s/catkinws/install/lib/pkgconfig/moveit_commander.pc'
File 'ros3djs.pc' appears to be a .pc file
Will find package 'ros3djs' in file '/home/n130s/catkinws/install/lib/pkgconfig/ros3djs.pc'
File 'vs060.pc' appears to be a .pc file
Will find package 'vs060' in file '/home/n130s/catkinws/install/lib/pkgconfig/vs060.pc'
File 'nextage_ros_bridge.pc' appears to be a .pc file
Will find package 'nextage_ros_bridge' in file '/home/n130s/catkinws/install/lib/pkgconfig/nextage_ros_bridge.pc'
File 'roswww.pc' appears to be a .pc file
Will find package 'roswww' in file '/home/n130s/catkinws/install/lib/pkgconfig/roswww.pc'
File 'nextage_moveit_config.pc' appears to be a .pc file
Will find package 'nextage_moveit_config' in file '/home/n130s/catkinws/install/lib/pkgconfig/nextage_moveit_config.pc'
File 'hironx_ros_bridge.pc' appears to be a .pc file
Will find package 'hironx_ros_bridge' in file '/home/n130s/catkinws/install/lib/pkgconfig/hironx_ros_bridge.pc'
File 'denso_launch.pc' appears to be a .pc file
Will find package 'denso_launch' in file '/home/n130s/catkinws/install/lib/pkgconfig/denso_launch.pc'
File 'roslibjs.pc' appears to be a .pc file
Will find package 'roslibjs' in file '/home/n130s/catkinws/install/lib/pkgconfig/roslibjs.pc'
File 'hironx_moveit_config.pc' appears to be a .pc file
Will find package 'hironx_moveit_config' in file '/home/n130s/catkinws/install/lib/pkgconfig/hironx_moveit_config.pc'
Scanning directory '/home/n130s/catkinws/devel/lib/pkgconfig'
File 'open_controllers_interface.pc' appears to be a .pc file
File 'open_controllers_interface.pc' ignored, we already know about package 'open_controllers_interface'
Ignoring file '.' in search directory; not a .pc file
File 'vs060_moveit_config.pc' appears to be a .pc file
File 'vs060_moveit_config.pc' ignored, we already know about package 'vs060_moveit_config'
File 'roswww_pack.pc' appears to be a .pc file
File 'roswww_pack.pc' ignored, we already know about package 'roswww_pack'
Ignoring file '..' in search directory; not a .pc file
File 'nextage_description.pc' appears to be a .pc file
File 'nextage_description.pc' ignored, we already know about package 'nextage_description'
File 'denso_controller.pc' appears to be a .pc file
File 'denso_controller.pc' ignored, we already know about package 'denso_controller'
File 'hrpsys.pc' appears to be a .pc file
File 'hrpsys.pc' ignored, we already know about package 'hrpsys'
File 'ros2djs.pc' appears to be a .pc file
File 'ros2djs.pc' ignored, we already know about package 'ros2djs'
File 'rosnode_rtc.pc' appears to be a .pc file
Will find package 'rosnode_rtc' in file '/home/n130s/catkinws/devel/lib/pkgconfig/rosnode_rtc.pc'
File 'moveit_commander.pc' appears to be a .pc file
File 'moveit_commander.pc' ignored, we already know about package 'moveit_commander'
File 'ros3djs.pc' appears to be a .pc file
File 'ros3djs.pc' ignored, we already know about package 'ros3djs'
File 'openrtm_tools.pc' appears to be a .pc file
Will find package 'openrtm_tools' in file '/home/n130s/catkinws/devel/lib/pkgconfig/openrtm_tools.pc'
File 'hrpsys_tools.pc' appears to be a .pc file
Will find package 'hrpsys_tools' in file '/home/n130s/catkinws/devel/lib/pkgconfig/hrpsys_tools.pc'
File 'vs060.pc' appears to be a .pc file
File 'vs060.pc' ignored, we already know about package 'vs060'
File 'nextage_ros_bridge.pc' appears to be a .pc file
File 'nextage_ros_bridge.pc' ignored, we already know about package 'nextage_ros_bridge'
File 'roswww.pc' appears to be a .pc file
File 'roswww.pc' ignored, we already know about package 'roswww'
File 'nextage_moveit_config.pc' appears to be a .pc file
File 'nextage_moveit_config.pc' ignored, we already know about package 'nextage_moveit_config'
File 'hironx_ros_bridge.pc' appears to be a .pc file
File 'hironx_ros_bridge.pc' ignored, we already know about package 'hironx_ros_bridge'
File 'denso_launch.pc' appears to be a .pc file
File 'denso_launch.pc' ignored, we already know about package 'denso_launch'
File 'roslibjs.pc' appears to be a .pc file
File 'roslibjs.pc' ignored, we already know about package 'roslibjs'
File 'hironx_moveit_config.pc' appears to be a .pc file
File 'hironx_moveit_config.pc' ignored, we already know about package 'hironx_moveit_config'
File 'rtmbuild.pc' appears to be a .pc file
Will find package 'rtmbuild' in file '/home/n130s/catkinws/devel/lib/pkgconfig/rtmbuild.pc'
File 'hrpsys-base.pc' appears to be a .pc file
Will find package 'hrpsys-base' in file '/home/n130s/catkinws/devel/lib/pkgconfig/hrpsys-base.pc'
Scanning directory '/opt/ros/hydro/lib/pkgconfig'
Ignoring file '.' in search directory; not a .pc file
Ignoring file '..' in search directory; not a .pc file
:
File 'openhrp3.1.pc' appears to be a .pc file
Will find package 'openhrp3.1' in file '/opt/ros/hydro/lib/pkgconfig/openhrp3.1.pc'
File 'message_runtime.pc' appears to be a .pc file
Will find package 'message_runtime' in file '/opt/ros/hydro/lib/pkgconfig/message_runtime.pc'
File 'pr2_controllers_msgs.pc' appears to be a .pc file
Will find package 'pr2_controllers_msgs' in file '/opt/ros/hydro/lib/pkgconfig/pr2_controllers_msgs.pc'
File 'tf2_ros.pc' appears to be a .pc file
Will find package 'tf2_ros' in file '/opt/ros/hydro/lib/pkgconfig/tf2_ros.pc'
File 'denso_controller.pc' appears to be a .pc file
File 'denso_controller.pc' ignored, we already know about package 'denso_controller'
File 'cv_bridge.pc' appears to be a .pc file
Will find package 'cv_bridge' in file '/opt/ros/hydro/lib/pkgconfig/cv_bridge.pc'
File 'eigen_stl_containers.pc' appears to be a .pc file
Will find package 'eigen_stl_containers' in file '/opt/ros/hydro/lib/pkgconfig/eigen_stl_containers.pc'
File 'rosmake.pc' appears to be a .pc file
Will find package 'rosmake' in file '/opt/ros/hydro/lib/pkgconfig/rosmake.pc'
File 'rqt_reconfigure.pc' appears to be a .pc file
Will find package 'rqt_reconfigure' in file '/opt/ros/hydro/lib/pkgconfig/rqt_reconfigure.pc'
File 'nav_msgs.pc' appears to be a .pc file
Will find package 'nav_msgs' in file '/opt/ros/hydro/lib/pkgconfig/nav_msgs.pc'
File 'hrpsys_ros_bridge.pc' appears to be a .pc file
Will find package 'hrpsys_ros_bridge' in file '/opt/ros/hydro/lib/pkgconfig/hrpsys_ros_bridge.pc'
:
File 'openhrp3.pc' appears to be a .pc file
Will find package 'openhrp3' in file '/opt/ros/hydro/lib/pkgconfig/openhrp3.pc'
:
File 'hrpsys.pc' appears to be a .pc file
File 'hrpsys.pc' ignored, we already know about package 'hrpsys'
:
130s commented 10 years ago
$ find /opt/ros/hydro -iname 'hrpsys*.pc'
/opt/ros/hydro/lib/pkgconfig/hrpsys_ros_bridge.pc
/opt/ros/hydro/lib/pkgconfig/hrpsys_tools.pc
/opt/ros/hydro/lib/pkgconfig/hrpsys.pc
garaemon commented 10 years ago

according to the --debug option, it says it finds hrpsys-base.pc however it failed to find hrpsys-base package from that pc file.

It's strange...

File 'hrpsys-base.pc' appears to be a .pc file
Will find package 'hrpsys-base' in file '/home/n130s/catkinws/devel/lib/pkgconfig/hrpsys-base.pc'
Scanning directory '/opt/ros/hydro/lib/pkgconfig'
Ignoring file '.' in search directory; not a .pc file
Ignoring file '..' in search directory; not a .pc file
130s commented 10 years ago

Ok I'll see what happens by trying to install hrpsys-base.pc.

k-okada commented 10 years ago

catkin.cmake displays, env and pkg-config --all for debugging ( https://github.com/start-jsk/rtmros_common/blob/master/hrpsys_ros_bridge/catkin.cmake#L31) and from log file ( http://jenkins.ros.org/job/prerelease-hydro-rtmros_common/ARCH_PARAM=amd64,UBUNTU_PARAM=precise,label=prerelease/8/consoleFull )

-- hrpsys_PREFIX=

is the problem. if you install hrpsys.pc, it should be set. and used in

set(ENV{PKG_CONFIG_PATH} ${hrpsys_PREFIX}/lib/pkgconfig:$ENV{PKG_CONFIG_PATH})

(https://github.com/start-jsk/rtmros_common/blob/master/hrpsys_ros_bridge/catkin.cmake#L25)

but since you installed hrpsys as deb file, the hrpsys-base.pc should be located in $ENV{PKG_CONFIG_PATH}.

k-okada commented 10 years ago

Sorry I'm looking at different log (http://jenkins.ros.org/job/prerelease-hydro-rtmros_common/ARCH_PARAM=amd64,UBUNTU_PARAM=precise,label=prerelease/7/console) this one is correct.

I look into hrpsys deb file (http://packages.ros.org/ros-shadow-fixed/ubuntu/pool/main/r/ros-hydro-hrpsys/ros-hydro-hrpsys_315.1.8-0precise-20140305-1814-+0000_i386.deb) and hrpsys-base.pc is not exists, thats strange...

130s commented 10 years ago

I think with https://github.com/start-jsk/hrpsys/commit/7dc1745189617501cc555d9083ed90e0ee6b575d this issue can also be fixed. Closing for now.