Mono: "mdoc: There is an error in XML document" - mono

I modified a few lines of C# code in the source of Mono, and now it does not build anymore:
make[7]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/mcs'
make[7]: Entering directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs'
/usr/bin/make all-local
make[8]: Entering directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs'
MDOC [net_4_0] cs-errors.tree
mdoc: There is an error in XML document.
See `mdoc help' for more information.
make[8]: *** [cs-errors.tree] Error 1
make[8]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs'
make[7]: *** [do-all] Error 2
make[7]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs'
make[5]: *** [profile-do--net_4_0--all] Error 2
make[5]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs'
make[4]: *** [profiles-do--all] Error 2
make[4]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs'
make[3]: *** [all-local] Error 2
make[3]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/runtime'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1'
make: *** [build-stamp] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
Build command 'cd mono-2.10.8.1 && dpkg-buildpackage -b -uc' failed.
E: Child process failed
The problem is mdoc: There is an error in XML document. MDOC is a kind of Javadoc for Mono. I am surprised that changing a few benign C# lines would make MDOC fail?
Any tip on what is going on here? I also have no idea what XML document this is about.

The initial analysis I posted in the comments seems to be right. MDOC is loading the cs-errors.config, and using the newly built runtime. The changes you have made produce the following exception while loading said file:
System.InvalidOperationException: Element 'FilesPath' has wrong order in sequence (expected - -1, actual - 0
This was added by your patch. I am guessing you might want to check readBySoapOrder as well, such as:
if (readBySoapOrder && info.ExplicitOrder != ind)
throw new InvalidOperationException(string.Format("Element '{0}' has wrong order in sequence (expected - {1}, actual - {2}", Reader.LocalName, info.ExplicitOrder, ind));
With this little change MDOC is happy and compilation succeeds, but I have no idea if it is the correct behavior.

Try "make clean" before trying "make" again.

Related

Dependency for add_jar cmake

I am actually generating java source files dynamically through code generators. I want to create jar file containing the java files created through this code generator.
add_custom_target(lang ALL)
add_custom_command(
TARGET lang
COMMAND ${Protobuf_PROTOC_EXECUTABLE} ${CMD_PRG_LNG} --proto_path=${PROTO_FILES} ${COMMONS}/*.proto")
If I run my cmake without add_jar command, it successfully run and generate java files in the respective folders. But, if I add add_jar
add_jar(${JAR_NAME} ${JAVA_SOURCES})
The above instruction fails with the following error message.
Scanning dependencies of target ProtoJava
make[2]: *** No rule to make target '../protoJava/Data.java', needed by 'CMakeFiles/ProtoJava.dir/java_compiled_ProtoJava'. Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/ProtoJava.dir/all' failed
make[1]: *** [CMakeFiles/ProtoJava.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
How to get the jar file created? I tried putting add_jar inside add_custom_command under the same target as java file creation.
add_custom_command(
TARGET lang_java
COMMAND add_jar(${JAR_NAME} ${JAVA_SOURCES}))
but it errors out with message
/bin/sh: 1: Syntax error: word unexpected (expecting ")")
CMakeFiles/lang_java.dir/build.make:57: recipe for target 'lang_java' failed
make[2]: *** [lang_java] Error 2
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/lang_java.dir/all' failed
make[1]: *** [CMakeFiles/lang_java.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
How to fix this one?

error build all ros packages in this repo the error occur in catkin_make step

I followed instruction by Michael Huang.
My error message reads:
In file included from /home/evadro/quadevac_sim_ws/catkin_ws/src/menge_gazebo/menge_congregate/include/MengeCong.h:10:0,
from /home/evadro/quadevac_sim_ws/catkin_ws/src/menge_gazebo/menge_congregate/src/MengeCong.cpp:8:
/home/evadro/quadevac_sim_ws/catkin_ws/src/menge_gazebo/menge_congregate/../menge_common/include/MengePlugin.h:13:44: fatal error: gazebo/physics/InstancedActor.hh: No such file or directory
compilation terminated.
menge_gazebo/menge_congregate/CMakeFiles/menge_congregate.dir/build.make:62: recipe for target 'menge_gazebo/menge_congregate/CMakeFiles/menge_congregate.dir/src/MengeCong.cpp.o' failed
make[2]: * [menge_gazebo/menge_congregate/CMakeFiles/menge_congregate.dir/src/MengeCong.cpp.o] Error 1
CMakeFiles/Makefile2:4099: recipe for target 'menge_gazebo/menge_congregate/CMakeFiles/menge_congregate.dir/all' failed
make[1]: * [menge_gazebo/menge_congregate/CMakeFiles/menge_congregate.dir/all]
The 2nd error is:
make[1]: *** Waiting for unfinished jobs....
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j24 -l24" failed
Your Error is gazebo/physics/InstancedActor.hh No such file or directory.
this header is not on standard version of Gazebo.
Make Sure you Compiled Gazebo Repo mentioned in External Depenencies Here with No errors. Then Double checks paths so compiler can find the missing headers.

unable to build valgrind for armv7 in yocto

Unable to build valgrind in yocto
I have highleted the problem i am facing
arm-poky-linux-gnueabi-gcc: error: unrecognized argument in option '-march=armv7ve'
arm-poky-linux-gnueabi-gcc: note: valid arguments to '-march=' are: armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5e armv5t armv5te armv6 armv6-m armv6j armv6k armv6s-m armv6t2 armv6z armv6zk armv7 armv7-a armv7-m armv7-r armv7e-m armv8-a armv8-a+crc iwmmxt iwmmxt2 native
make[5]: *** [intdiv-intdiv.o] Error 1
make[5]: Leaving directory `/home/sarjoodeen/Project/2018/Nippon/YOCTO/iwG22M-release-bsp/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/valgrind/3.15.0-r0/build/none/tests/arm'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory `/home/sarjoodeen/Project/2018/Nippon/YOCTO/iwG22M-release-bsp/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/valgrind/3.15.0-r0/build/none/tests/arm'
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory `/home/sarjoodeen/Project/2018/Nippon/YOCTO/iwG22M-release-bsp/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/valgrind/3.15.0-r0/build/none/tests'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/home/sarjoodeen/Project/2018/Nippon/YOCTO/iwG22M-release-bsp/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/valgrind/3.15.0-r0/build/none'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/sarjoodeen/Project/2018/Nippon/YOCTO/iwG22M-release-bsp/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/valgrind/3.15.0-r0/build'
make: *** [check] Error 2
make: Leaving directory `/home/sarjoodeen/Project/2018/Nippon/YOCTO/iwG22M-release-bsp/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/valgrind/3.15.0-r0/build'
ERROR: oe_runmake failed
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_compile_ptest_base (log file is located at /home/sarjoodeen/Project/2018/Nippon/YOCTO/iwG22M-release-bsp/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/valgrind/3.15.0-r0/temp/log.do_compile_ptest_base.29480)
The error means that the cross gcc doesn't contain the support for armv7ve architecture. The support for armv7ve has been added in gcc-4.9 as evident from the gcc Changelog https://gcc.gnu.org/gcc-4.9/changes.html. Please check your gcc recipe in yocto sources and make sure the gcc version is 4.9 or greater.

CMake not finding files - Can't build detectron with pytorch

make ops for detectron isn't working
export Caffe2_DIR=<path to my pytorch>/torch
make ops
Error Message
[ 40%] Building CXX object CMakeFiles/caffe2_detectron_custom_ops.dir/detectron/ops/zero_even_op.cc.o
In file included from /home/ubtuntu/detectron/detectron/ops/zero_even_op.cc:17:0:
/home/ubtuntu/detectron/detectron/ops/zero_even_op.h:20:33: fatal error: caffe2/core/context.h: No such file or directory
compilation terminated.
CMakeFiles/caffe2_detectron_custom_ops.dir/build.make:62: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops.dir/detectron/ops/zero_even_op.cc.o' failed
make[3]: *** [CMakeFiles/caffe2_detectron_custom_ops.dir/detectron/ops/zero_even_op.cc.o] Error 1
make[3]: Leaving directory '/home/ubtuntu/detectron/build'
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops.dir/all' failed
make[2]: *** [CMakeFiles/caffe2_detectron_custom_ops.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
/home/ubtuntu/detectron/detectron/ops/zero_even_op.cu:17:37: fatal error: caffe2/core/context_gpu.h: No such file or directory
compilation terminated.
CMake Error at caffe2_detectron_custom_ops_gpu_generated_zero_even_op.cu.o.cmake:219 (message):
Error generating
/home/ubtuntu/detectron/build/CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/detectron/ops/./caffe2_detectron_custom_ops_gpu_generated_zero_even_op.cu.o
CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/build.make:63: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/detectron/ops/caffe2_detectron_custom_ops_gpu_generated_zero_even_op.cu.o' failed
make[3]: *** [CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/detectron/ops/caffe2_detectron_custom_ops_gpu_generated_zero_even_op.cu.o] Error 1
make[3]: Leaving directory '/home/ubtuntu/detectron/build'
CMakeFiles/Makefile2:109: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/all' failed
make[2]: *** [CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/all] Error 2
make[2]: Leaving directory '/home/ubtuntu/detectron/build'
Makefile:129: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/ubtuntu/detectron/build'
Makefile:13: recipe for target 'ops' failed
make: *** [ops] Error 2
What I've Tried
In the error message, it says it can't find caffe2/core/context.h however the file exists in pytorch/caffe2/core/context.h. So I've tried exporting the caffe2 folder instead of the torch folder, but then the build fails earlier
- I've also tried setting it to pytorch/cmake and pytorch/build folders
I then tried creating a caffe2 link to pytorch/caffe2 inside of pytorch/torch, however that had no effect. I'm out of ideas :(

qtwebkit 5.9.0 required unicode headers

/tmp/12/qtwebkit-opensource-src-5.9.0/Source/WTF/wtf/unicode/icu/UnicodeIcu.h:29:27: fatal error: unicode/uchar.h: No such file or directory
#include <unicode/uchar.h>
^
compilation terminated.
make[2]: *** [.obj/llint/LLIntOffsetsExtractor.o] Error 1
make[2]: Leaving directory `/tmp/12/qtwebkit-opensource-src-5.9.0/build/Source/JavaScriptCore'
make[1]: *** [sub-LLIntOffsetsExtractor-pro-make_first-ordered] Error 2
make[1]: Leaving directory `/tmp/12/qtwebkit-opensource-src-5.9.0/build/Source/JavaScriptCore'
make: *** [sub-Source-JavaScriptCore-JavaScriptCore-pro-make_first-ordered] Error 2
You need to install icu libraries, for detailed operation you can Check the url below:
https://forum.qt.io/topic/39332/i-try-compile-qtwebkit