ug4
Troubleshooting

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.