# How to calculate the difference between two geometry_msgs::Pose

I have two geometry_msgs::Pose structure p1 and p2. Each of them contains a geometry_msgs::Point and geometry_msgs::Quaternion. I would like to calculate the different between the two poses. I know the difference in position is just the subtraction. But I am not sure how to calculate the difference in orientation. I know for tf::quaternion, I can use inverse, but the function "inverse" does not seem available for geometry_msgs::quaternion.