2 years, 5 months ago.

Bug is Still happening: Warning: L3912W: Option 'legacyalign' is deprecated and Compiler Error 230

I am trying to blunder my way through upgrading OS-2 code for a BLE API on an nRF51 platform to OS-5. Unsuccessfully. After several iterations of getting:

  • " (-) Warning: L3912W: Option 'legacyalign' is deprecated",

which errors out without explanation, now I get:

  • "Error: The build system did not finish successfully."

which leads to:

Apparently, these multiply 'fixed' issues are not. How do I proceed?

Using Mbed on-line, Windows7-Pro 64-bit, Chrome Version 72.0.3626.121 (Official Build) (64-bit) for platform Nordic nRF51-DK.

The warning should not cause build failures (we are fixing the legacyaling warning, needs target update as well). If you use locally (mbed-cl) - what errors is shown?

posted by Martin Kojtal 12 Apr 2019

Hi Martin, No can do. We've worked around the problem by backing off to a 3-week old rev of mbed-os. We found that the issue was caused by mismatched extern "C" declarations in our main.cpp conflicting with extern declarations for the same variables in functions.h and functions.c files. We regret that the problem files were not saved. The heterogeneous use of C++ and C in the same project has caused us enough grief to start converting everything to C++. The syntax for sharing of variables and procedures between the two is not apparent or straight forward in Mbed, and apparently the compiler gets confused with what should be mismatch errors and passes untenable executables off to the linker. I hope this helps. Steve

posted by Steve Wald 12 Apr 2019
Be the first to answer this question.