I had the same problem so I used standalone pcl library. I compiled PCL from source and added the following lines to CMakeLists.txt in the package (remember to create a package that does not depend on pcl_ros):
find_package(PCL 1.6 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
rosbuild_add_executable(example src/example.cpp)
target_link_libraries(example ${PCL_LIBRARIES})
I successfully executed some of the examples.
If your purpose is to execute pcl tutorial examples, then you do not need to create a ROS package. However, if your purpose is to view the pcl data you can use the following procedure:
1. roslaunch openni_launch openni.launch
2. convert sensor_msgs::PointCloud2 data to pcl::PointCloud<pcl::PointXYZ>
3. Then create a pcl::visualization::CloudViewer object to view the pcl::PointCloud data.
In this case you will not need OpenNIGrabber.