Open brothermechanic opened 2 years ago
catkin_pkg.package.InvalidPackage: Only one <build_type> element is permitted.
This indicates that one of the package.xml files in your distribution is malformed. In general multiple build types are invalid however this could also indicate that package.xml format 3 conditions are not being handled completely by superflore.
Can you provide a reproducible example of the superflore command you're running as well as a list of the current superflore, rosdep, and catkin_pkg versions?
Hello superflore, rosdep and catkin_pkg was installed from latest git I think this package (it's failed for generation) have problem with catkin_pkg https://github.com/astuff/automotive_autonomy_msgs/blob/master/automotive_autonomy_msgs/package.xml#L25
Maybe we need some scripts for workaround
superflore, rosdep and catkin_pkg was installed from latest git
This is, of course, possible but it is worth noting that we do not fully test or guarantee inter-operation of unreleased versions for ros-infrastructure packages and recommend instead using the latest release versions (with the current exception of ros_buildfarm where we always use the latest master
).
I expect that superflore needs to handle evaluating package conditions in the current rosdistro context as the package linked appears to be using conditional build types correctly.
I am not sure to understand how to solve this is issue.
I have been running superflore-gen-ebuilds --ros-distro foxy --dry-run
in order to update the ebuild files.
As I understand, there is a file somewhere in catkin_package that is not formatted correctly.
If I clone this package from source, how do I make superflore target this package instead of the one installed using apt ?
This issue has been mentioned on ROS Discourse. There might be relevant details there:
I expect that superflore needs to handle evaluating package conditions in the current rosdistro context as the package linked appears to be using conditional build types correctly.
This is indeed the problem. automotive_autonomy_msgs uses conditional build types which Superflore doesn't currently support.
As I understand, there is a file somewhere in catkin_package that is not formatted correctly.
The problem is not in the catkin_pkg library but in superflore which does not correctly handle conditionals in the build type.
If I clone this package from source, how do I make superflore target this package instead of the one installed using apt ?
superflore reads distribution data from the rosdistro index. To modify what superflore is generating you would need to create your own forked rosdistro index and distribution.yaml for your target distributions and set the ROSIDSTRO_INDEX_URL
environment variable when running superflore.
Hello I got rhis error when try to generate packages for gentoo.
I try to edit automotive_autonomy_msgs repo, but can't change repo path for superflore https://github.com/brothermechanic/automotive_autonomy_msgs/commit/3ef795c6864c22b2bcdbe4ad8df1da1f983d9439 Can someone help me? Thank you.