My emerge of dev-games/cegui-0.5.0 did not proceed for several hours. The lowest leaf in pstree was doxygen. strace attached to doxygen said it was in no syscall. ltrace only printed the following two lines: --- SIGSTOP (Stopped (signal)) --- --- SIGSTOP (Stopped (signal)) --- /proc/PID/fd shows me 4 open fds, two of them ends of a pipe: 0 -> /dev/pts/5 1 -> pipe:[4319228] 2 -> pipe:[4319228] 3 -> /var...work/CEGUI-0.5.0/documentation/api_reference/doxygen_objdb_6948.tmp Some lines from the messages on screen, will attach full log later on: ... Parsing file /var/tmp/portage/dev-games/cegui-0.5.0/work/CEGUI-0.5.0/src/falagard/CEGUIFalWidgetLookFeel.cpp... Preprocessing /var/tmp/portage/dev-games/cegui-0.5.0/work/CEGUI-0.5.0/src/falagar/var/tmp/portage/dev-games/cegui-0.5.0/work/CEGUI-0.5.0/src/CEGUISystem.cpp:99: Warning: Compound CEGUI::MouseClickTrackerImpl is not documented. /var/tmp/portage/dev-games/cegui-0.5.0/work/CEGUI-0.5.0/include/CEGUIDefaultResourceProvider.h:47: Warning: Compound CEGUI::DefaultResourceProvider is not documented. ... Possible recursive class relation while inside CEGUI::String::const_iterator and looking for CEGUI::String Possible recursive class relation while inside CEGUI::String::const_iterator and looking for CEGUI::String Possible recursive class relation while inside CEGUI::String::const_iterator and looking for CEGUI::MultiColumnList::ListRow Possible recursive class relation while inside CEGUI::String::const_iterator and looking for CEGUI::MultiColumnList::ListRow Possible recursive class relation while inside CEGUI::String::const_iterator and looking for CEGUI::String::iterator< const const std::random_access_iterator_tag, uint32, std::ptrdiff_t, uint32 *, uint32 & > Killing doxygen worked, i.e. ebuild aborted, but at least it did respond. emerge --resume hangs again, so it is reproducible. USE flags were "doc opengl xml -devil -examples -expat -lua -xerces-c" Without the doc USE flag everything works just fine.
Created attachment 102647 [details] log of a hanging cegui emerge
Created attachment 102648 [details] emerge --info
It works with doxygen-1.4.7 but not 1.5.1
Problem persists with cegui-0.5.0b.
I can confirm this problem on my system. cegui emerge would hang in the section mentioned above. Disabling the "doc" use flag allowed cegui to compile. jason
Same here.
This looks like a problem here, when doxygen goes from falgar to falgard: Preprocessing /var/tmp/portage/dev-games/cegui-0.5.0/work/CEGUI-0.5.0/src/falagar/var/tmp/portage/... It's literally a recursion in the portage path. Try patching the ebuild or makefiles to get rid of the extra ${D}...
Still an issue with cegui-0.5.0b-r1. Now the beginning of the problem looks like this: Preprocessing /var/tmp/portage/dev-games/cegui-0.5.0b-r1/work/CEGUI-0.5.0/src/falagard/CEGUIFalXMLEnumHelper.cpp... Parsing file /var/tmp/portage/dev-games/cegui-0.5.0b-r1/work/CEGUI-0.5.0/src/falagard/CEGUIFalXMLEnumHelper.cpp... Preprocessing /var/tmp/portage/dev-games/cegui-0.5.0b-r1/work/CEGUI-0.5.0/src/implementations/mac/macPlugins.cpp... Parsing file /var/tmp/portage/dev-games/cegui-0.5.0b-r1/work/CEGUI-0.5.0/src/implementations/mac/macPlugins/var/tmp/portage/dev-games/cegui-0.5.0b-r1/work/CEGUI-0.5.0/src/CEGUISystem.cpp:99: Warning: Compound CEGUI::MouseClickTrackerImpl is not documented. macPlugins does not exist by itself, only macPlugins.cpp and macPlugins.h. (In reply to comment #7) > It's literally a recursion in the portage path. Try patching the ebuild or > makefiles to get rid of the extra ${D}... This is ${WORKDIR}, not ${D}. I don't know how doxygen is supposed to work, but the doxyfile looks like files were located by traversing the tree: INPUT = include/ src/ FILE_PATTERNS = *.h *.cpp *.hpp RECURSIVE = YES So if suddenly there is some weird nonexistant path, then something went wrong with this tree traversal. Nothing a simple patch to the cegui sources will solve. I ran doxygen in strace manually to locate the problem, but it worked past the described problem only to hang later on after printing "Inheriting documentation...". After that was only a brk call, which completed all right, and then nothing more until I sent a SIGINT. Next I tried ltrace, which is slow, and creates a huge trace file if used unrestricted. I canceled the run when the ltrace output had exceeded 3GB, by then it was in the "Building full member lists recursively" phase, seemed to still work properly, had not printed a recursive looking path, but had complained about "Possible recursive class relation while inside CEGUI::String::iterator" and const_iterator as well. Looking at the log from the build associated with comment #4, I found that there, too, there was no recursive path, the warnings, and I had to kill it in the "Inheriting documentation" phase. So I would guess that those strange paths are not the cause of the issue, but rather another symptom of maybe the same problem. There is a new doxygen release (see bug 174831) but looking at the changelog I expect no miracles from this upgrade.
Works again with doxygen-1.5.2 Thanks for looking into it.