MATLAB: Ros custom message error apriltags

custom messageerrorMATLABmessagesRobotics System Toolboxrosrosgenmsgsimulink

I'm trying to generate custom messages from a ROS package to matlab. When I run rosgenmsg('filepath'), I get the following error:
>> rosgenmsg('D:\Downloads\apriltags-master')
Checking subfolder "apriltags" for custom messages.
Building custom message files for the following packages:
apriltags
:rosjava_messages is spawning subprojects: [apriltags]
Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties.
Deprecated dynamic property: "mavenRepository" on "org.ros.gradle_plugins.RosPluginExtension_Decorated@3fcdd7ea", value: "null".
:apriltags:bugfixtask
:apriltags:generateSourcesMar 13, 2018 4:58:06 PM org.ros.internal.message.field.PrimitiveFieldType initializeFixedLengthArray
WARNING: Error adding default value to fixed-length list:
java.util.NoSuchElementException: No message definition available for: geometry_msgs/Point32
at org.ros.internal.message.definition.MessageDefinitionProviderChain.get(MessageDefinitionProviderChain.java:51)
at org.ros.internal.message.DefaultMessageFactory.newFromType(DefaultMessageFactory.java:42)
at org.ros.internal.message.field.MessageFieldType.getDefaultValue(MessageFieldType.java:80)
at org.ros.internal.message.field.PrimitiveFieldType.initializeFixedLengthArray(PrimitiveFieldType.java:737)
at org.ros.internal.message.field.MessageFieldType.newVariableList(MessageFieldType.java:73)
at org.ros.internal.message.context.MessageContextBuilder$2.create(MessageContextBuilder.java:70)
at org.ros.internal.message.field.MessageFields.<init>(MessageFields.java:45)
at org.ros.internal.message.MessageInterfaceBuilder.appendConstants(MessageInterfaceBuilder.java:169)
at org.ros.internal.message.MessageInterfaceBuilder.build(MessageInterfaceBuilder.java:131)
at org.ros.internal.message.GenerateInterfaces.writeInterface(GenerateInterfaces.java:204)
at org.ros.internal.message.GenerateInterfaces.writeTopicInterfaces(GenerateInterfaces.java:94)
at org.ros.internal.message.GenerateInterfaces.generate(GenerateInterfaces.java:224)
at org.ros.internal.message.GenerateInterfaces.main(GenerateInterfaces.java:262)
Mar 13, 2018 4:58:06 PM org.ros.internal.message.field.PrimitiveFieldType initializeFixedLengthArray
WARNING: Error adding default value to fixed-length list:
java.util.NoSuchElementException: No message definition available for: geometry_msgs/Point32
at org.ros.internal.message.definition.MessageDefinitionProviderChain.get(MessageDefinitionProviderChain.java:51)
at org.ros.internal.message.DefaultMessageFactory.newFromType(DefaultMessageFactory.java:42)
at org.ros.internal.message.field.MessageFieldType.getDefaultValue(MessageFieldType.java:80)
at org.ros.internal.message.field.PrimitiveFieldType.initializeFixedLengthArray(PrimitiveFieldType.java:737)
at org.ros.internal.message.field.MessageFieldType.newVariableList(MessageFieldType.java:73)
at org.ros.internal.message.context.MessageContextBuilder$2.create(MessageContextBuilder.java:70)
at org.ros.internal.message.field.MessageFields.<init>(MessageFields.java:45)
at org.ros.internal.message.MessageInterfaceBuilder.appendSettersAndGetters(MessageInterfaceBuilder.java:184)
at org.ros.internal.message.MessageInterfaceBuilder.build(MessageInterfaceBuilder.java:132)
at org.ros.internal.message.GenerateInterfaces.writeInterface(GenerateInterfaces.java:204)
at org.ros.internal.message.GenerateInterfaces.writeTopicInterfaces(GenerateInterfaces.java:94)
at org.ros.internal.message.GenerateInterfaces.generate(GenerateInterfaces.java:224)
at org.ros.internal.message.GenerateInterfaces.main(GenerateInterfaces.java:262)
:apriltags:compileJavawarning: [options] bootstrap class path not set in conjunction with -source 1.6
D:\Downloads\apriltags-master\matlab_gen\build\rosjava_build\apriltags\build\generated-src\apriltags\AprilTagDetection.java:8: error: package std_msgs does not exist
std_msgs.Header getHeader();
^
D:\Downloads\apriltags-master\matlab_gen\build\rosjava_build\apriltags\build\generated-src\apriltags\AprilTagDetection.java:9: error: package std_msgs does not exist
void setHeader(std_msgs.Header value);
^
D:\Downloads\apriltags-master\matlab_gen\build\rosjava_build\apriltags\build\generated-src\apriltags\AprilTagDetection.java:12: error: package geometry_msgs does not exist
java.util.List<geometry_msgs.Point32> getCorners2d();
^
D:\Downloads\apriltags-master\matlab_gen\build\rosjava_build\apriltags\build\generated-src\apriltags\AprilTagDetection.java:13: error: package geometry_msgs does not exist
void setCorners2d(java.util.List<geometry_msgs.Point32> value);
^
D:\Downloads\apriltags-master\matlab_gen\build\rosjava_build\apriltags\build\generated-src\apriltags\AprilTagDetection.java:16: error: package geometry_msgs does not exist
geometry_msgs.Pose getPose();
^
D:\Downloads\apriltags-master\matlab_gen\build\rosjava_build\apriltags\build\generated-src\apriltags\AprilTagDetection.java:17: error: package geometry_msgs does not exist
void setPose(geometry_msgs.Pose value);
^
D:\Downloads\apriltags-master\matlab_gen\build\rosjava_build\apriltags\build\generated-src\apriltags\AprilTagDetections.java:8: error: package std_msgs does not exist
std_msgs.Header getHeader();
^
D:\Downloads\apriltags-master\matlab_gen\build\rosjava_build\apriltags\build\generated-src\apriltags\AprilTagDetections.java:9: error: package std_msgs does not exist
void setHeader(std_msgs.Header value);
^
8 errors
1 warning
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':apriltags:compileJava'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 4.858 secs
An error occurred while building custom messages. See the full error
message above.
Possible reasons for the error:
1. The msg or srv files may have syntax errors.
2. The dependencies on other message packages may not be declared
correctly in the build_depends tags in the package.xml.
3. Messages packages declared as dependencies may not be available.
4. The custom message packages may be missing a build dependency on
"message_generation".
See the ROS Custom Messages documentation for more information.
The package I'm trying to get the messages from is "apriltags" from personalrobotics: https://github.com/personalrobotics/apriltags
The package works perfectly in ROS, so I don't see why the messages would have syntax errors or wrong dependencies.
EDIT: [extra information] The package.xml file:
<?xml version="1.0"?>
<package format="2">
<name>apriltags</name>
<version>0.0.2</version>
<description>
ROS wrapper for the Swatbotics C++ port of the Apriltags visual
fiducial tracker. Apriltags was originally developed by the April
laboratory at the University of Michigan. The Swatbotics port
reimplements the detection core using OpenCV and CGAL for improved
performance.
</description>
<url type="repository">https://github.com/personalrobotics/apriltags</url>
<maintainer email="awalsman@andrew.cmu.edu">Aaron Walsman</maintainer>
<author email="awalsman@andrew.cmu.edu">Aaron Walsman</author>
<author email="pkv@cs.cmu.edu">Pras Velagapudi</author>
<license>BSD</license>
<buildtool_depend>catkin</buildtool_depend>
<build_depend>cmake_modules</build_depend>
<build_depend>eigen</build_depend>
<build_depend>git</build_depend>
<build_depend>message_generation</build_depend>
<depend>cgal</depend>
<depend>cv_bridge</depend>
<depend>geometry_msgs</depend>
<depend>image_transport</depend>
<depend>libopencv-dev</depend>
<depend>roscpp</depend>
<depend>sensor_msgs</depend>
<depend>std_msgs</depend>
<depend>visualization_msgs</depend>
<depend>apriltagscpp</depend>
<depend>yaml-cpp</depend>
<exec_depend>message_runtime</exec_depend>
</package>
The first message file: AprilTagDetection.msg
# Message storing raw 2D and 3D information about a single AprilTag detection.
Header header
uint32 id # id of AprilTag (not necessarily unique)
geometry_msgs/Point32[4] corners2d # AprilTag corners in image
float32 tag_size # tag size in m
geometry_msgs/Pose pose # pose of the marker in the camera frame
The second message file: AprilTagDetections.msg
# List of all AprilTag detections from a single camera frame.
Header header
AprilTagDetection[] detections

Best Answer

Found the issue: in package.xml the messages are defined as "<build>" instead of "<build_depend>". Working package.xml file below:
<?xml version="1.0"?>
<package format="2">
<name>apriltags</name>
<version>0.0.2</version>
<description>
ROS wrapper for the Swatbotics C++ port of the Apriltags visual
fiducial tracker. Apriltags was originally developed by the April
laboratory at the University of Michigan. The Swatbotics port
reimplements the detection core using OpenCV and CGAL for improved
performance.
</description>
<url type="repository">https://github.com/personalrobotics/apriltags</url>
<maintainer email="awalsman@andrew.cmu.edu">Aaron Walsman</maintainer>
<author email="awalsman@andrew.cmu.edu">Aaron Walsman</author>
<author email="pkv@cs.cmu.edu">Pras Velagapudi</author>
<license>BSD</license>
<buildtool_depend>catkin</buildtool_depend>
<build_depend>cmake_modules</build_depend>
<build_depend>eigen</build_depend>
<build_depend>git</build_depend>
<build_depend>message_generation</build_depend>
<build_depend>geometry_msgs</build_depend>
<build_depend>sensor_msgs</build_depend>
<build_depend>std_msgs</build_depend>
<build_depend>visualization_msgs</build_depend>
<depend>cgal</depend>
<depend>cv_bridge</depend>
<depend>geometry_msgs</depend>
<depend>image_transport</depend>
<depend>libopencv-dev</depend>
<depend>roscpp</depend>
<depend>sensor_msgs</depend>
<depend>std_msgs</depend>
<depend>visualization_msgs</depend>
<depend>apriltagscpp</depend>
<depend>yaml-cpp</depend>
<exec_depend>message_runtime</exec_depend>
</package>