make install
\endverbatim
-If at some point, something fails, you can report this problem to the list
-but, please, avoid sending a laconic mail like "There is a problem. Is it
-normal?". Send the config.log file which is automatically generated by
-configure. Try to capture both the standard output and the error output of
-the <tt>make</tt> command with <tt>script</tt>. There is no way for us to
-help you without the relevant bits of information.
+If at some point, something fails, check the section "\ref
+faq_compil_trouble". If it does not help, you can report this problem to the
+list but, please, avoid sending a laconic mail like "There is a problem. Is it
+okay?". Send the config.log file which is automatically generated by
+configure. Try to capture both the standard output and the error output of the
+<tt>make</tt> command with <tt>script</tt>. There is no way for us to help you
+without the relevant bits of information.
Now, the following directory should have been created :
\section faq_troubleshooting Troubleshooting
+\subsection faq_compil_trouble ./configure fails!
+
+We now only one reason for the configure to fail:
+
+ - <b>You are using a borken build environment</b>\n
+ If symptom is that configure complains about gcc not being able to build
+ executables, you are probably missing the libc6-dev package. Damn Ubuntu.
+
+If you experience other kind of issue, please get in touch with us. We are
+always interested in improving our portability to new systems.
+
\subsection faq_distcheck_fails Dude! "make check" fails on my machine!
Don't assume we never run this target, because we do. Really. Promise!
4.0 gcc compiler. This version happens to be completely unusable, and you
should install a gcc-3.4 compiler and change the /usr/bin/gcc link to let
it point on /usr/bin/gcc-3.4.
- - <b>You are using a borken build environment</b>\n
- If symptom is that configure complains about gcc not being able to build
- executables, you are probably missing the libc6-dev package. Damn Ubuntu.
- <b>You are using a borken libc (probably concerning the contextes)</b>.\n
The symptom is that the "make check" fails within the examples/msg directory.\n
By default, SimGrid uses something called ucontexts. This is part of the
low, you'll get a segfault. The token ring example, which is quite simple,
runs with 40kb stacks.
+\subsection faq_longjmp longjmp madness
+
+This is when valgrind starts complaining about longjmp things, just like:
+
+\verbatim ==21434== Conditional jump or move depends on uninitialised value(s)
+==21434== at 0x420DBE5: longjmp (longjmp.c:33)
+==21434==
+==21434== Use of uninitialised value of size 4
+==21434== at 0x420DC3A: __longjmp (__longjmp.S:48)
+\endverbatim
+
+or even when it reports scary things like:
+
+\verbatim ==24023== Warning: client switching stacks? SP change: 0xBE3FF618 --> 0xBE7FF710
+x86->IR: unhandled instruction bytes: 0xF4 0xC7 0x83 0xD0
+==24023== to suppress, use: --max-stackframe=4194552 or greater
+==24023== Your program just tried to execute an instruction that Valgrind
+==24023== did not recognise. There are two possible reasons for this.
+==24023== 1. Your program has a bug and erroneously jumped to a non-code
+==24023== location. If you are running Memcheck and you just saw a
+==24023== warning about a bad jump, it's probably your program's fault.
+==24023== 2. The instruction is legitimate but Valgrind doesn't handle it,
+==24023== i.e. it's Valgrind's fault. If you think this is the case or
+==24023== you are not sure, please let us know.
+==24023== Either way, Valgrind will now raise a SIGILL signal which will
+==24023== probably kill your program.
+==24023==
+==24023== Process terminating with default action of signal 4 (SIGILL)
+==24023== Illegal opcode at address 0x420D234
+==24023== at 0x420D234: abort (abort.c:124)
+\endverbatim
+
+This is the sign that you didn't used the exception mecanism well. Most
+probably, you have a <tt>return;</tt> somewhere within a <tt>TRY{}</tt>
+block. This is <b>evil</b>, and you must not do this. Did you read the section
+about \ref XBT_ex??
+
\subsection faq_flexml_limit I get the message "surf_parse_lex: Assertion `next<limit' failed."
This is because your platform file is too big for the parser.