"rosmsg package <packagename>" does not show action messages from the package
I am using Ubuntu 20.04.1 LTS focal and ROS noetic.
I've created and built an action file using catkin_make under the package called basics. The code using action server and client works fine, but when I was inspecting the messages to understand the details of ROS actions I encountered some problems. Turns out that when I type "rosmsg show basics/" and press tab, it doesn't find the action defined messages. Instead, it just autocompletes for another message that I've defined. The output from "rosmsg package basics" is shown below.
braun@braun-HP-Pavilion-Power-Laptop-15-cb0xx:~/catkin_ws$ rosmsg package basics
basics/Complex
Which is the message that I've defined in another occasion. However, when I list the messages the output is this:
braun@braun-HP-Pavilion-Power-Laptop-15-cb0xx:~/catkin_ws$ rosmsg list | grep basics
basics/TimerAction
basics/TimerActionFeedback
basics/TimerActionGoal
basics/TimerActionResult
basics/TimerFeedback
basics/TimerGoal
basics/TimerResult
Furthermore, when I type "rosmsg packages" the "basics" package appears two times.
braun@braun-HP-Pavilion-Power-Laptop-15-cb0xx:~/catkin_ws$ rosmsg packages | grep basics
basics
basics
Finally, if I type just "rosmsg show TimerAction" or any other action message it works. However, only if I don't specify the package.
braun@braun-HP-Pavilion-Power-Laptop-15-cb0xx:~/catkin_ws$ rosmsg show TimerAction
[basics/TimerAction]:
basics/TimerActionGoal action_goal
std_msgs/Header header
uint32 seq
time stamp
string frame_id
actionlib_msgs/GoalID goal_id
time stamp
string id
basics/TimerGoal goal
duration time_to_wait
basics/TimerActionResult action_result
std_msgs/Header header
uint32 seq
time stamp
string frame_id
actionlib_msgs/GoalStatus status
uint8 PENDING=0
uint8 ACTIVE=1
uint8 PREEMPTED=2
uint8 SUCCEEDED=3
uint8 ABORTED=4
uint8 REJECTED=5
uint8 PREEMPTING=6
uint8 RECALLING=7
uint8 RECALLED=8
uint8 LOST=9
actionlib_msgs/GoalID goal_id
time stamp
string id
uint8 status
string text
basics/TimerResult result
duration time_elapsed
uint32 updates_sent
basics/TimerActionFeedback action_feedback
std_msgs/Header header
uint32 seq
time stamp
string frame_id
actionlib_msgs/GoalStatus status
uint8 PENDING=0
uint8 ACTIVE=1
uint8 PREEMPTED=2
uint8 SUCCEEDED=3
uint8 ABORTED=4
uint8 REJECTED=5
uint8 PREEMPTING=6
uint8 RECALLING=7
uint8 RECALLED=8
uint8 LOST=9
actionlib_msgs/GoalID goal_id
time stamp
string id
uint8 status
string text
basics/TimerFeedback feedback
duration time_elapsed
duration time_remaining
I don't know why this is happening. It appears that there are two packages with the name basics, but I can assure that this is not the case.