Jun 11, 2008

Medoosa in OBS

Medoosa is a documentation tool for C++ that can produce UML class diagrams including generalizations and associations. Corrections can be made interactively in a diagram editor (Dia) and are fed back into the source as Javadoc-style comments. At this time, the layout must still be done by hand. Some code is already present to produce the layout with Graphviz.

I wrote it for my master's thesis at the Charles University back in 2001 and it has been since then quietly sitting at SourceForge. Today I have rebuilt it in the openSUSE Build Service: Medoosa, CcDoc-0.7a (required).

9 comments:

d said...

Hi Martin!
I've found your blog cos I was looking for a tool like this one =).
I've followed all the instructions, but when I execute $ medoosa, it finds every .h but then throws...

PARSE: skipping
XMLIZE: skipping
HTML: skipping
RECONSTRUCT: skipping
METRICS: skipping
DRAW: skipping
EDIT: skipping
LOOK: skipping
COMPARE: skipping
PATCH: skipping

and the directory model is empty =(
could you please give me a tip?
thanks!

Martin Vidner said...

That is weird. Can you run "sh -x medoosa" and post the output? (using pastebin if it is too large)

d said...
This comment has been removed by the author.
d said...

sorry..
again.. here it is =)

http://pastebin.com/d7b372fcd

Martin Vidner said...

OK. For some reason you are running the medoosa2.sh script. You need to tell it what to do. /usr/bin/medoosa does it, it is a one liner calling . medoosa2.sh --edit --html --metrics "$@"

Also try "which medoosa" and "rpm -qf `which medoosa`" to see whether you are running the right thing.

d said...

I don't know the reason either!
so, this is the correct medoosa trace:

http://pastebin.com/d11b3acf0

(sorry about that! and thank you for your efforts! Just in case..my distribution is Ubuntu)

Martin Vidner said...

Aha, got it: /bin/sh on Ubuntu is dash, not bash as on my system, and passing arguments via "." does not work there. Please change /bin/sh to /bin/bash in medoosa and medoosa2.sh.

d said...

so I've changed that, and now throws me this:
http://pastebin.com/m2533e9b9

but I guess because I've already installed libstdc++6, so I've installed libstdc++5 (without removing libstdc++6) and I think it's getting... weird =/

http://pastebin.com/d2cc32945

if you could solve it it would be extremely cooooool!

Martin Vidner said...

Both of the issues mean that you are using a version of ccdoc compiled for a binary incompatible system. Sorry, I do not have a .deb for Ubuntu, so you should compile from sources, or get a recent .rpm and try with that. The ones for openSUSE 10.3 have a fair chance of working.