Stealthy linker errors

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Stealthy linker errors

      One of the things that I've noticed is linker errors tend to be pretty stealthy.

      In this case I accidentally added the declaration of a variable in an include file that was included in 10 files.

      I reproduced the issue with adding the following to that header.

      Source Code

      1. uint8_t blah;
      This is the output. You have to turn on "Show build info" and "Echo command lines" to get that amount.



      Otherwise, you get the following


      And honestly takes a minute to remember how to try to find the error.

      thanks,
      thomas
    • awneil, take a step back and look at the bigger picture.

      The linker is properly creating the CORRECT errors. Yes, the linker has it correct. The problem is SES is not displaying the error in a easy to see manor. I have no idea why you are over reaction to an obvious error in my code. The original cause for my hunt was a missing typedef. And this the linker assumed I was trying to create an overlapping variable in multiple object files. Again, the link did the correct thing.

      Have a tool simply say "build failed" is not helpful. I am simply asking Segger to improve the way they display linker errors in the standard build window.
    • Hello Thomas,

      Thank you for your inquiry.
      The reported issue was reproducible. In other cases ES will jump to the corresponding error message and mark it red. This does not seem to be the case here.
      We will investigate further and see if such a case can be also displayed as usual.

      Sorry for the inconvenience caused.

      If you are looking for a more verbose output we recommend switching the output view from Tasks to Output.

      Best regards,
      Nino
      Please read the forum rules before posting: Forum Rules

      Keep in mind, this is not a support forum. Its main purpose is user to user interaction.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support you can contact us via our support system: segger.com/ticket/

      Or you can contact us via e-mail.
    • Nino,

      We missed you, hopefully your time away from the forum was good. As always, thank you for your response.


      I also like the task view, but it is not clickable on the error.

      In general, it would be cool if there was a bit more precision with cursor focus. I have, in effect 3 monitors. The compilation output view is in a separate window on a different monitor than the primary window. When you click on an error, if would be cool for cursor/mouse focus to be moved to the primary window at the line where the error is located.

      Attached is a screen shot, FWIW.

      Again, thank you.

    • Hello,

      TxCodeMonkey wrote:

      We missed you, hopefully your time away from the forum was good.
      Yep, vacation was nice. Now back to the real world again ;)


      TxCodeMonkey wrote:

      I also like the task view, but it is not clickable on the error.
      It should be clickable if everything went right. We now have a reproducer so this should be fixed soon.


      TxCodeMonkey wrote:

      In general, it would be cool if there was a bit more precision with cursor focus. I have, in effect 3 monitors. The compilation output view is in a separate window on a different monitor than the primary window. When you click on an error, if would be cool for cursor/mouse focus to be moved to the primary window at the line where the error is located.
      Not sure if this is easily possible with the GUI lib we used here, but we will investigate and add it to our wishlist if possible.

      Best regards,
      Nino
      Please read the forum rules before posting: Forum Rules

      Keep in mind, this is not a support forum. Its main purpose is user to user interaction.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support you can contact us via our support system: segger.com/ticket/

      Or you can contact us via e-mail.
    • Hi Thomas,

      Thank you for the flowers. We try to have an ear for customers and users without support contracts as well (when time allows it) ;)

      Best regards,
      Nino
      Please read the forum rules before posting: Forum Rules

      Keep in mind, this is not a support forum. Its main purpose is user to user interaction.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support you can contact us via our support system: segger.com/ticket/

      Or you can contact us via e-mail.