2.4. Problems during compilation

While we put big efforts to make a reasonably robust compiler, you may encounter a bug or problem with Mercurium.

There are several errors of different nature that you may run into.

  • Mercurium ends abnormally with an internal error telling you to open a ticket.
  • Mercurium does not crash but gives an error on your input code and compilation stops, as if your code were not valid.
  • Mercurium does not crash, but gives an error involving an internal-source.
  • Mercurium generates wrong code and native compilation fails on an intermediate file.
  • Mercurium forgets something in the generated code and linking fails.

2.4.1. How can you help us to solve the problem quicker?

In order for us to fix your problem we need the preprocessed file.

If your program is C/C++ we need you to do:

  1. Figure out the compilation command of the file that fails to compile. Make sure you can replicate the problem using that compilation command alone.
  2. If your compilation command includes -c, replace it by -E. If it does not include -c simply add -E.
  3. If your compilation command includes -o file (or -o file.o) replace it by -o file.ii. If it does not include -o, simply add -o file.ii.
  4. Now run the compiler with this modified compilation command. It should have generated a file.ii.
  5. These files are usually very large. Please compress them with gzip (or bzip2 or any similar tool).

Send us an email to pm-tools at bsc.es with the error message you are experiencing and the (compressed) preprocessed file attached.

If your program is Fortran just the input file may be enough, but you may have to add all the INCLUDEd files and modules.