This file is intended for troubleshooting. Please provide information about as much errors as possible. It might be a very stupid error for you, but there's a high chance someone else has the same problem and spends hours on solving it.
Known Internal Compiler Errors
There are some compiler versions which fail to compile ug4 because of bugs in the compilers:
llvm/clang 3.3
Internal Compiler Bug: Impossible TemplateArgument UNREACHABLE executed at TypeLoc.cpp:335.
Solution: llvm/clang 3.4.
GCC 4.1.2
GCC v. 4.1.2, like it is default on cekon, is not able to compile a debug build (i.e. configured with cmake -DDEBUG=ON ..
) because of an internal compiler error (internal compiler error: in force_type_die, at dwarf2out.c...
). The error seems also to be there on gcc 4.3. In this case it is possible to configure ug4 by specifying GCC v. 4.4.4, which is also installed on cekon as an alternative compiler:
cmake -DCMAKE_CXX_COMPILER=/usr/bin/g++44 ..
Alternatively one can instruct the (default) compiler to produce the debug infos in another format. To do so, call CMake with
cmake -DDEBUG_FORMAT=-gstabs ..
This sets STABS as format of debug infos.
If you need to choose another compiler, please consider writing your own toolchain file, so others can benefit from your knowledge.
Problems with Compiling
Can not compile or link
- Symptoms
- You can't compile/link your program
- "dyld: lazy symbol binding failed: Symbol not found" (link error)
- "duplicate symbol" (link error)
- Possible Cause
- Part of ug4 compiled with one cmake setting, other part compiled with another.
- OR Wrong settings in CMake, missing libraries, wrong library paths.
- If the problem persists, copy/paste all your console output and email it to someone.
- Solution
- If you can't compile your program, it is sometimes a good idea to recompile or relink parts of ug4. Try the following:
- use
ugrelib
(that is: delete ug4/bin/ugshell, ug4/lib/*, ug4/bin/plugins/*), recompile.
- If that doesn't work, also do a
make clean
and a make.
- If that doesn't work, also reset your build configuration by deleting your build directory (e.g.
ug4/debug
). You will have to redo a cmake ..
and reenter all your CMake parameters like -DDIM
and plugins.
- If that doesn't help, it may be a problem with external libraries. Read the error line. Memorize the error message. Think about it. Does it complain about something with MPI or any library you know? If there are filepaths or filenames, are they correct? Where do they point to?
can't set up with cmake
- Symptoms
- cmake prints "parse error in cache file" and "offending entry", later won't compile or link
- Possible Causes
- CMake too old. Minimum version is 2.8.6.
- Solution
- Update your cmake version. For this, you can use
uginstall cmake
.
ugshell crashes on startup with registry errors
- Symptoms
- ugshell keeps crashing on startup with registry errors
- Possible Causes
- A plugin might got renamed or deleted and CMake is not able to detect previous and not deprecated library files in
ug4/bin/plugins
.
- Solution
- Delete the content of
ug4/bin/plugins
, reconfigure (i.e. run CMake in your build directory) and recompile ug4.
Compiling plugin with different configuration Plugin initialization shows error
- Symptoms
*** glibc detected *** gravtree: corrupted double-linked list: 0x000000001aa0fc50 ***
- Cause
- Compiling plugin seperately with different configurations
- Solution
- Delete contents
ug4/bin/plugins
of directory. Use the -D[pluginname]
option of cmake. Recompile ug4.
Parallel execution
Output appears multiple times
- Symptoms
- Parallel output appears multiple times even though
-outproc 0
was chosen.
- Possible Cause
- ug4 was not compiled with
UG_PARALLEL
. Try to use PrintBuildConfiguration()
in LUA/ugshell or enter cmake ..
in your build dir. There you should get PARALLEL: ON
.
- Solution
- Enter
cmake -DPARALLEL=ON ..
. If you get errors that MPI could not be found, ask someone.
Other
Can't find [ugsubmit/ugrelib/cdug etc.]
- Symptoms
- You want to run e.g. ugsubmit, but it says it is not found
- Solution
- All bash script extensions of ug are located in ug4/scripts/shell, go to BASH Tools to learn more.
I have a problem with SVN
See secSVNTroubleshooting.